Skip to content

Anonymiser un PDF ​

Efface définitivement des données d’un PDF, texte ou scanné : identifiants détectés (NIR, IBAN, carte, e-mail, téléphone) et termes donnés (noms, adresses). Le texte masqué n’existe plus dans le fichier produit — ce n’est pas un rectangle posé par-dessus.

Anonymiser un PDF efface définitivement des données d’un PDF, texte ou scanné : les identifiants détectés (numéro de sécurité sociale, IBAN, numéro de carte, e-mail, téléphone) et les termes donnés (noms, adresses, références). Le PDF anonymisé est ajouté aux pièces jointes de l’exécution, à côté de l’original.

Ce n’est pas un rectangle noir posé sur le texte : les pages concernées sont reconstruites à partir d’une image caviardée, et le texte masqué n’existe plus dans le fichier — il ne se sélectionne pas, ne se copie pas, ne s’extrait pas. Voir Documents › Anonymiser pour de bon.

Le nœud n’est proposé que si l’instance a un service de documents.

En bref ​

  • Type : pdf.redact · version 1
  • Catégorie : Données
  • Nature : Étape — s’exécute pendant une exécution
  • Effet : Sans effet externe (none) — rien n’est écrit hors de Loop & Roll ; rejouable sans risque
  • Exige un mail porteur : Non
  • Connexion : Aucune
  • Entrées : main
  • Sorties : main
Les ports de « Anonymiser un PDF » : ce qui entre à gauche, ce qui sort à droiteEntrée : main. Sorties : main. Une sortie error apparaît quand son réglage d’échec est « Suivre la sortie Erreur ».Anonymiser un PDFpdf.redactmainmainerror · seulement avec « Suivre la sortie Erreur »
Les ports de « Anonymiser un PDF » : ce qui entre à gauche, ce qui sort à droite

Paramètres ​

selection ​

Pièces jointes retenues

  • Type : Un choix (options)
  • Requis : Oui
  • Défaut : all
  • Options :
    • all — Toutes les pièces jointes : Celles du mail déclencheur, puis les fichiers ajoutés par les étapes précédentes (un acte rapatrié, un PDF signé), dans cet ordre.
    • first — La première seulement : La première PJ, quand on sait qu’il n’y en a qu’une qui compte.
    • byMime — Par type de fichier : Par type MIME : application/pdf, ou toute une famille avec image/*.
    • byName — Par nom de fichier : Par motif sur le nom : *.pdf, facture-*.

mime ​

Type de fichier — Type MIME exact (application/pdf) ou famille entière (image/*). Laissé vide, aucune PJ n’est retenue.

  • Type : Texte (string)
  • Requis : Non
  • Défaut : "" (vide)
  • 200 caractères au plus
  • Exemple : application/pdf
  • Affiché quand : selection vaut byMime
  • Expressions : {{ }} accepté

namePattern ​

Nom du fichier — Motif simple : * remplace n’importe quoi, ? un caractère (*.pdf, facture-*). La casse est ignorée.

  • Type : Texte (string)
  • Requis : Non
  • Défaut : "" (vide)
  • 200 caractères au plus
  • Exemple : *.pdf
  • Affiché quand : selection vaut byName
  • Expressions : {{ }} accepté

detectors ​

Détecter et masquer — Les identifiants sont validés (clé du NIR, contrôle de l’IBAN, Luhn de la carte) : une référence de commande à 16 chiffres n’est pas masquée par erreur.

  • Type : Plusieurs choix (multiOptions)
  • Requis : Non
  • Défaut : ["nir","iban","payment_card","email","phone"]
  • Options :
    • nir — Numéro de sécurité sociale (NIR)
    • iban — IBAN
    • payment_card — Numéro de carte bancaire
    • email — Adresse e-mail
    • phone — Numéro de téléphone

terms ​

Termes à masquer — Un terme par ligne : noms, adresses, références. Souvent la sortie d’un nœud IA en amont : {{ data.extraire.parties }} (une liste est acceptée). Casse, accents et espaces sont ignorés.

  • Type : Texte long (text)
  • Requis : Non
  • Défaut : "" (vide)
  • 20000 caractères au plus
  • Exemple : Jean Dupont 12 rue des Lilas
  • Expressions : {{ }} accepté

ocr ​

Reconnaissance de texte (OCR)

  • Type : Un choix (options)
  • Requis : Oui
  • Défaut : auto
  • Options :
    • auto — Pour les pages scannées : Une page sans texte sélectionnable est lue par OCR.
    • always — Pour toutes les pages : Pour un scan qui porte déjà un calque texte de mauvaise qualité. Plus lent.
    • never — Jamais : Les pages scannées ne sont pas examinées : le compte rendu les signale.
  • Rangé sous « Avancé » dans l’éditeur

suffix ​

Suffixe du fichier produit — Ajouté au nom d’origine : contrat.pdf devient contrat-anonymise.pdf.

  • Type : Texte (string)
  • Requis : Non
  • Défaut : -anonymise
  • 60 caractères au plus
  • Exemple : -anonymise
  • Rangé sous « Avancé » dans l’éditeur
  • Expressions : {{ }} accepté

Sorties ​

  • main

Données produites ​

Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).

  • {{ data.<step>.position }} — number. La position du premier PDF anonymisé dans les pièces de l’exécution.
  • {{ data.<step>.files }} — array of { position, filename, mime, size, origin }. Les PDF anonymisés, ajoutés aux pièces jointes de l’exécution (un par PDF traité).
  • {{ data.<step>.documents }} — array of { source, file, report }. Pour chaque PDF : la pièce d’origine, le PDF produit et le compte rendu.
  • {{ data.<step>.documents.0.report }} — { pages, redactedPages, ocrPages, unscannedPages, detected, terms, total }. Ce qui a été masqué, COMPTÉ et jamais cité : pages caviardées, pages lues par OCR, pages scannées non examinées (OCR « Jamais »), occurrences par détecteur (detected.iban…), occurrences par terme donné avec un aperçu masqué (J*** D*****), total.
  • {{ data.<step>.total }} — number. Le nombre total de zones masquées, tous PDF confondus.
  • {{ data.<step>.summary }} — string. Une phrase pour le détail d’exécution, dans la langue du membre.

Exemple ​

Un dossier de location arrive avec des pièces en PDF. Un nœud Extraire nommé extraire en tire la liste des personnes nommées (parties) et leurs adresses (adresses). Le nœud :

selection: byMime
mime: "application/pdf"
detectors: [nir, iban, payment_card, email, phone]
terms: |
  {{ data.extraire.parties }}
  {{ data.extraire.adresses }}

Une liste (["Jean Dupont", "Marie Curie"]) est acceptée comme une suite de lignes. Puis un dépôt sur SharePoint qui ne prend que les fichiers ajoutés par cette étape.

Ce qui est détecté ​

Le NIR, l’IBAN et la carte sont reconnus et validés par les règles du filtre des données sensibles (clé, modulo 97, Luhn). L’e-mail et le téléphone (formats français et internationaux préfixés) s’y ajoutent. Les termes donnés sont cherchés sans tenir compte de la casse, des accents ni des espaces, y compris à l’intérieur d’un mot.

Les pages sans texte sélectionnable (scans) sont lues par OCR, en français et en anglais (« Reconnaissance de texte » sur « Pour les pages scannées »). « Pour toutes les pages » force l’OCR, pour un scan dont le calque texte est mauvais.

Conseils ​

  • Rien à masquer. Sans détecteur ni terme, l’étape est refusée (node_invalid_param). Un PDF où rien n’est trouvé est quand même rendu, nettoyé de ses annotations et métadonnées, avec un compte rendu à zéro.
  • Au plus 5 PDF par étape et 100 pages par PDF. Les pages caviardées deviennent des images (200 dpi) avec un calque texte OCR ; les autres pages sont intactes.
  • Essais. En essai, le PDF est réellement anonymisé : vérifiez le résultat avant de publier.
  • Erreurs. PDF protégé par mot de passe, abîmé ou trop long : document.invalid_document. Service indisponible : document.service_unavailable, retenté.

Loop & Roll — le constructeur de workflows pour l’e-mail.