PromptShieldpromptShieldpromptShield
Voir en actionFonctionnalitésComment ça marcheWorkflows IASérénitéGestion des licencesSuivi de conformité
TarifsTélécharger
Développeurs
AperçuDocs APIClés API
FAQ
Se connecter
  1. Accueil
  2. Blog
  3. Évaluations
Évaluations2026-05-27· 8 min de lecture

Nous avons comparé notre détection PII à Microsoft Presidio — voici ce que nous avons appris

La plupart des évaluations de détection de données personnelles se trompent de question. Elles comptent le nombre de détections qu'un système renvoie, et y voient une mesure de qualité.

Ce raisonnement ne tient pas. Sur un contrat type, un pipeline qui remonte chaque URL, chaque nom de pays et chaque libellé de service génère plus de 70 faux positifs que l'examinateur doit écarter à la main.

Le bon indicateur, c'est le rapport entre les régions que l'examinateur conserverait et celles qu'il rejetterait.

Nous avons monté une évaluation reproductible contre Microsoft Presidio, sur 14 documents PDF répartis en 7 langues européennes (en, fr, de, es, it, nl, pt) — deux documents par langue : un contrat et un état financier. Le script et les documents sont publics :{" "} github.com/promptshield-Inc/pii-detection-benchmarks .

Les chiffres clés

Sur l'ensemble des 14 documents :

À première vue, promptShield remonte environ 62 % de détections en moins. La lecture hâtive serait : Presidio en trouve plus, c'est donc qu'il est meilleur.

Sauf qu'elle s'effondre dès qu'on distingue les types de documents.

La distinction qui change tout : contrats et états financiers

Sur les contrats — où les données sont de vraies informations personnelles relatives aux parties — les deux systèmes remontent à peu près le même ensemble de régions.

Les 209 détections à fort signal de promptShield, réparties sur les 7 contrats du corpus, recoupent une à une celles de Presidio sur les entités qui comptent vraiment : noms, adresses, téléphones, courriels, identifiants d'entreprise.

Sur les états financiers, en revanche, l'écart se creuse brutalement. Le document français etats-financiers_beaumont à lui seul : Presidio renvoie 69 entités de type LOCATION, dont 73 occurrences de France, Paris ou d'autres noms de pays et de villes apparaissant dans des clauses juridiques (siège social, droit applicable, adresse du cabinet d'audit).

promptShield n'en retient que 22 — toutes correspondant à de vraies entités.

Les 414 détections d'écart entre les deux systèmes ne traduisent pas une différence de capacité. C'est du bruit que Presidio remonte par défaut et que promptShield écarte.

Ce que nous filtrons, et que Presidio laisse passer

En construisant l'évaluation, six catégories de bruit sont apparues, sur lesquelles Presidio (configuration par défaut, modèles spaCy small) sur-détecte systématiquement.

1. URLs accessoires (pieds de page, mentions légales)

Le UrlRecognizer de Presidio signale toutes les URL — lien vers la politique de confidentialité en pied de page, page de support, formulaire de contact. Cela représente 8 à 10 détections par contrat qu'aucun examinateur ne souhaite caviarder.

2. Pays cités dans les clauses juridictionnelles

« Le présent contrat est régi par le droit français » : Presidio détecte France comme LOCATION. Or, dans cette phrase, France n'est pas une donnée personnelle, c'est une mention juridique standard.

Nous avons écrit un filter_jurisdiction_boilerplate multilingue qui reconnaît plus de 60 tournures juridictionnelles dans les 7 langues, et écarte toute détection LOCATION ou ORG située dans la fenêtre correspondante.

3. Noms fragmentés en plusieurs entités PERSON

Les modèles NER BERT et spaCy renvoient régulièrement plusieurs détections qui se chevauchent pour une même personne : Pierre, Dubois et Pierre Dubois deviennent trois entités PERSON distinctes. Sur le contrat italien du corpus, Presidio remonte 26 détections PERSON pour 10 parties nommées.

Le filter_span_coalescence de promptShield supprime les détections incluses dans une autre et ne conserve, par page, que la forme la plus complète.

4. Termes génériques de service classés en ORG

Marketing, Vorstand, Direction Générale, Board of Directors, Comitato di Direzione : le NER de Presidio les étiquette en ORG. Ce ne sont pas des organisations qu'un examinateur souhaite caviarder.

Nous fournissons, par langue, une liste de 60 à 90 termes (generic_orgs_<lang>.txt) qui les exclut.

5. Titres de fonction confondus avec des noms

Les intitulés de poste écrits en majuscules en début de ligne (CEO, Directeur, Geschäftsführer) sont parfois étiquetés à tort comme PERSON par BERT ou spaCy. Une liste multilingue d'une cinquantaine d'entrées, combinée à un filtre unique, suffit à les écarter.

6. Pays ou villes isolés, hors contexte personnel

Paris apparaissant comme adresse du cabinet d'audit dans le pied de page n'est pas une donnée personnelle. En revanche, le même mot dans « né à Paris » en est une.

Nous examinons les 40 caractères qui précèdent chaque détection LOCATION pour y chercher une formule à connotation personnelle (né à, résident de, born in, geboren in, etc.) et écartons les occurrences isolées.

Les limites de l'étude

Nous ne prétendons pas que notre pipeline est meilleur dans l'absolu. Quelques nuances importantes :

  1. Configuration par défaut uniquement. Un Presidio finement paramétré (reconnaisseurs personnalisés, moteur NER de type transformer, seuils ajustés) comblerait sans doute l'essentiel de l'écart de précision. Ce que nous mesurons, c'est ce que la plupart des utilisateurs déploient durant leur premier mois — pas ce qu'un expert de Presidio peut obtenir.
  2. Pas de vérité terrain annotée. La métrique « both / ours-only / presidio-only » est un indicateur de précision, pas un F1 rigoureux. Annoter à la main 14 PDF dans 7 langues représente environ 40 heures de travail soutenu par un locuteur natif ; nous ne l'avons pas encore fait. Les contributions sont les bienvenues.
  3. Deux types de documents seulement. Contrats et états financiers. Les dossiers médicaux, formulaires RH ou documents d'immigration donneraient probablement des écarts moindres, car ces documents portent un signal PII plus dense.
  4. Corpus synthétique. Les documents réels comportent des erreurs d'OCR, des mises en page multi-colonnes et des annexes financières riches en tableaux que nous ne mesurons pas ici.

Quand préférer Presidio

Presidio est une excellente boîte à outils. Mieux vaut s'y tourner lorsque :

  • vous construisez un pipeline DLP en Python sur mesure et souhaitez un contrôle au niveau bibliothèque ;
  • vous devez intégrer Azure AI Language ou AWS Comprehend sous une seule abstraction PII ;
  • vous traitez des flux de texte continus plutôt que des documents délimités.

Notre évaluation porte spécifiquement sur le comportement par défaut appliqué à des documents PDF délimités, ce qui correspond, en pratique, à l'usage réel de l'anonymisation de documents sur poste de travail.

Presidio nous a inspirés ; nous ne cherchons pas à le remplacer.

Nous affirmons simplement que, pour le périmètre exact de promptShield — anonymisation locale de contrats, d'états financiers, de dossiers médicaux et de documents RH — notre pipeline produit un résultat qui demande nettement moins de relecture, avec des preuves vérifiables à l'appui.

Reproduire l'évaluation

Tout l'intérêt de cet article repose sur la reproductibilité :

{`git clone https://github.com/promptshield-Inc/pii-detection-benchmarks
cd pii-detection-benchmarks
pip install -r requirements.txt
python benchmark.py`}

Le script Presidio est totalement autonome : nul besoin d'installer promptShield pour vérifier les résultats de Presidio. Les fichiers CSV publiés dans results/ contiennent les chiffres cités plus haut.

Si vous repérez un problème méthodologique, ouvrez une issue ou proposez une pull request.

Partager

Anonymisation de documents propulsée par l'IA. Détectez et masquez les données sensibles hors ligne, en toute confidentialité.

Produit

Compte

Mentions légales

Canada flagProudly Canadian
promptShield Inc. · 222, Wayman, Gaspé (QC) G4X 1T1, Canada · IP geolocation by DB-IP
© 2026 promptShield inc. Tous droits réservés.
promptShieldpromptShieldpromptShield
Fonctionnalités
Tarifs
Télécharger
Développeurs
Comment ça marche
Workflows IA
Sérénité
vs Microsoft Presidio
Alternatives
Blog
Équipe
Se connecter
S'inscrire
Tableau de bord
Politique de confidentialité
Conditions d'utilisation
Sécurité
Traitement des données (ATD)
Remboursement
Contact
Taux de change