By · Last updated 2026-04-03

Retour au blogTechnique

La taxe sur les faux positifs : Pourquoi le problème...

Le problème #1071 de Presidio sur GitHub documente des faux positifs systématiques.

April 3, 20268 min de lecture
false positive ratePresidio precisionPII detection accuracyscore threshold configurationhybrid detection

La Taxe des Faux Positifs sur les Outils de Détection DCP

Mis à jour pour 2026

La plupart des outils DCP sont évalués sur le rappel. Le rappel mesure quelle part des DCP réelles l'outil détecte. Mais la précision est tout aussi importante. Elle mesure quelle part des alertes de l'outil correspond à de vraies DCP.

Une faible précision est coûteuse. Un système avec 95 % de rappel et 22,7 % de précision détecte la plupart des DCP. Mais pour chaque entité DCP réelle signalée, il génère aussi 3,4 fausses alertes. Dans un jeu de données contenant 10 000 entités DCP réelles, ce système produit environ 44 000 alertes. Environ 34 000 d'entre elles sont fausses. Chacune coûte du temps de révision ou cause une sur-caviardage.

C'est la taxe des faux positifs. C'est le coût que toute équipe paie en faisant tourner un système DCP à fort rappel et faible précision à l'échelle de la production. Le coût direct est le temps des réviseurs. Le coût indirect est pire : les documents trop caviardés cachent des données utiles, ralentissent le travail et érodent la confiance dans l'outil.

Ce que montre la discussion Presidio #1071

La discussion GitHub #1071 de Microsoft Presidio (2024) documente un modèle précis. Les reconnaisseurs TFN (Tax File Number) et PCI utilisent la validation par somme de contrôle. Les nombres qui passent la somme de contrôle reçoivent un score de 1,0 — confiance maximale. Aucun contexte DCP n'est requis.

La cause racine : la vérification des mots contextuels s'exécute après l'étape de somme de contrôle, pas avant. Un nombre qui passe la somme de contrôle obtient un score maximal indépendamment du texte environnant. Dans les feuilles de calcul financières, les ensembles de données scientifiques ou les fichiers journaux, cela inonde la sortie de fausses alertes. Le filtrage par seuil de score ne peut pas corriger cela. Les scores sont déjà au maximum.

Un second modèle apparaît dans le problème Presidio #999. La segmentation des mots allemands échoue pour les noms composés. Des mots comme Bundesbehörde (autorité fédérale) peuvent être segmentés incorrectement et étiquetés comme noms propres. Cela ajoute du bruit dans tout document en langue allemande.

Le problème des 22,7 % de précision

Alvaro et al. (2024) ont testé Presidio avec les paramètres par défaut sur des ensembles de données d'entreprise multilingues. Ils ont trouvé 22,7 % de précision. Dans les documents réels, moins d'une alerte Presidio sur quatre correspond à une vraie entité DCP. Cela correspond aux retours des praticiens. Un outil optimisé pour le rappel seul produit trop de bruit pour une utilisation en production.

Une étude DICOM de 2024 a montré que l'élévation du score_threshold à 0,7 laissait encore de fausses alertes dans 38 des 39 images médicales. Un seuil qui élimine le bruit pour un type de document crée des détections manquées dans un autre.

Ce n'est pas un problème spécifique à Presidio. Tout seuil fixe impose un compromis. Un seuil élevé réduit le bruit mais augmente les manques. Un seuil bas augmente le rappel mais gonfle la file d'attente des alertes.

Le scoring contextuel

La solution est le scoring de confiance contextuel. Au lieu de scorer uniquement sur la base du motif détecté, le système augmente la confiance quand des mots contextuels apparaissent près de la correspondance. Il réduit aussi le score quand le contexte est absent.

Pour la détection TFN : des mots comme "tax file number," "TFN" ou "Australian tax" près d'un nombre augmentent son score. Un nombre qui passe la somme de contrôle mais n'a pas de mots contextuels proches reçoit un score en dessous du seuil de révision. La fausse alerte est supprimée.

Pour le bruit interlinguistique : les types d'entités liés à des pays spécifiques peuvent être limités aux documents dans la langue correspondante. Un détecteur TFN limité aux textes anglais et australiens-anglais élimine le bruit. L'appliquer sur du contenu allemand sans cette restriction est la source du problème.

La troisième couche d'un système hybride est un modèle transformer. Il lit la fenêtre de contexte complète autour de chaque candidat. Il distingue "John Smith, Patient ID 12345" d'un code produit qui correspond à un motif de nom. Le contexte résout l'ambiguïté que les regex et les sommes de contrôle ne peuvent pas résoudre.

Découvrez comment le moteur de détection à trois niveaux gère la précision à grande échelle. Le guide de détection DCP multilingue explique comment le bruit interlinguistique affecte la conformité RGPD.

Étapes pratiques

Avant de déployer tout outil DCP, mesurez sa précision — pas seulement son rappel.

Faites tourner l'outil sur un ensemble de documents avec DCP connues et non-DCP connues. Comptez les alertes dans les deux groupes. Calculez true_positives / (true_positives + false_positives). Ce nombre révèle la charge de révision avant de vous engager dans un déploiement.

Pour les équipes utilisant déjà Presidio, l'analyse de la distribution des scores est un raccourci. Exportez un échantillon de détections avec leurs scores de confiance. Comptez combien sont en dessous de 0,6, 0,7 et 0,8. Une forte proportion d'alertes à score élevé dans du texte propre signale un manque de contexte, pas un problème de seuil. La vue d'ensemble de la conformité sécurité explique comment documenter cette analyse dans une AIPD.

Sources

Prêt à protéger vos données ?

Commencez à anonymiser les PII avec plus de 285 types d'entités dans 48 langues.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.