By · Last updated 2026-06-05

Retour au blogTechnique

Presidio est puissant. C'est aussi un projet de...

Microsoft Presidio a des milliers d'étoiles sur GitHub et des centaines de problèmes ouverts.

June 5, 20266 min de lecture
Presidio setupPySpark integrationmanaged PresidioPython dependenciesPII setup complexity

Presidio : Outil Puissant, Installation Longue

Mis à jour pour 2026.

Microsoft Presidio est un outil solide pour la détection de DCP et la dé-identification. Mais c'est un grand projet d'ingénierie. Le faire fonctionner en production demande un vrai effort. La communauté est d'accord là-dessus.

Le ticket GitHub #237 en est un bon exemple. Même les développeurs expérimentés rencontrent des conflits d'environnement. Ils tombent sur des erreurs de chargement de modèles et des erreurs d'API. Des jours de débogage peuvent s'écouler avant le premier lancement réussi.

Ce que montrent les données de la communauté

Le dépôt GitHub de Presidio a des milliers d'étoiles. C'est un signe d'intérêt fort. Mais la liste des tickets ouverts raconte une autre histoire.

Problèmes d'environnement : Les conflits de versions Python sont fréquents. Les incompatibilités de modèles spaCy et les erreurs de runtime ONNX aussi. Ces problèmes touchent des développeurs qui suivent la documentation à la lettre.

Échecs de chargement de modèles : Les modèles spaCy se téléchargent bien mais échouent à se charger dans certains environnements. Les conteneurs et les configurations à mémoire réduite sont des points de friction courants. Les corriger demande une connaissance approfondie des mécanismes internes de spaCy.

Échecs de l'API en production : L'analyseur fonctionne bien en développement. Il tombe en panne sous la charge de production. Les problèmes de threading et la pression mémoire des modèles NLP sont les causes principales.

Coûts d'intégration : Le blog Ploomber sur ce framework dresse un tableau complet. Il utilise plusieurs services — l'analyseur, l'anonymiseur et un redacteur d'images optionnel. Les relier crée du travail. Le transfert de données entre services en crée encore plus.

Le cas Microsoft Fabric

La propre documentation de Microsoft Fabric montre l'écart entre « disponible » et « fonctionnel ».

Un article de blog Fabric sur PySpark l'indique clairement : la configuration « nécessite la gestion de dépendances externes et d'une logique personnalisée ». Les utilisateurs de Fabric ont choisi une plateforme cloud gérée pour éviter ce type de travail. Mais l'ajout d'outils externes ramène la complexité.

Les étapes de configuration PySpark sont :

  1. Installer presidio-analyzer et presidio-anonymizer dans les notebooks Fabric.
  2. Télécharger les modèles spaCy dans l'environnement Fabric.
  3. Écrire des wrappers UDF PySpark pour l'analyseur et l'anonymiseur.
  4. Gérer la sérialisation des modèles spaCy pour une utilisation sur les workers Spark.
  5. Configurer la détection de langue pour les jeux de données multilingues.

Chaque étape a des points de défaillance connus. Les équipes sur ce chemin passent souvent une à deux semaines avant de traiter leur premier document.

Deux chemins : Autohébergé vs. Géré

L'approche gérée inverse le défi de configuration.

Chemin autohébergé :

  1. Installer Docker.
  2. Configurer docker-compose.yml.
  3. Télécharger les modèles spaCy.
  4. Déboguer le réseau de conteneurs.
  5. Configurer les points de terminaison API.
  6. Tester la détection d'entités.
  7. Corriger les faux positifs et négatifs.
  8. Créer des reconnaisseurs personnalisés pour les types d'entités non standard.
  9. Ajouter la journalisation d'audit.
  10. Optimiser pour la charge de production.

Délai avant le premier document dé-identifié : trois à vingt et un jours.

Chemin service géré :

  1. Créer un compte.
  2. Téléverser un document ou appeler l'API.

Délai avant le premier document dé-identifié : douze minutes.

Les deux chemins utilisent la même approche de détection. Le chemin géré fonctionne sur une infrastructure maintenue par quelqu'un d'autre.

Quand l'autohébergement est plus judicieux

Le service géré ne convient pas à tous les cas.

Entraînement de modèles personnalisés : Certains cas nécessitent de nouveaux modèles NER. Les noms de médicaments propriétaires ou les codes produits internes en sont des exemples. L'autohébergement vous donne accès aux outils d'entraînement.

Traitement natif Spark : Certains pipelines nécessitent la détection de DCP à l'intérieur de l'exécuteur Spark. Un appel API externe ajoute de la latence qui casse ce schéma. L'autohébergement est la seule option ici.

Contrôle total : Certaines politiques de sécurité bloquent tous les appels API externes dans un pipeline de données. L'application de bureau anonym.legal fonctionne entièrement hors ligne. L'autohébergement est l'option totalement isolée.

Pour la plupart des cas — traitement de documents, workflows API et outils de conformité — le service géré supprime entièrement le projet d'infrastructure.

Exécuter les deux chemins en parallèle

Le niveau gratuit vous donne 200 crédits par mois. C'est suffisant pour tester de vrais documents. Pas de carte bancaire. Pas d'engagement.

Voici une approche parallèle simple.

Semaine 1 : Configurer l'analyseur autohébergé en développement. Évaluer la complexité de la configuration de production.

Jour 1, en parallèle : Créer un compte de service géré. Faire passer les mêmes documents de test par l'API gérée. Comparer les résultats.

Questions clés :

  • Le service géré détecte-t-il les types dont vous avez besoin ? Il couvre 285+ types d'entités. Le build open source en couvre environ 40 par défaut.
  • La précision est-elle suffisante ?
  • L'API correspond-elle à votre schéma ?
  • Les plans correspondent-ils à votre volume et budget ?

Si oui à tout : le service géré supprime le projet d'infrastructure. Si non : les lacunes trouvées sont de vraies raisons de rester en autohébergement.

Découvrez comment d'autres équipes ont fait ce choix dans nos études de cas. Vérifiez les détails de protection sur notre page sécurité et conformité. Trouvez des réponses aux questions courantes dans notre FAQ.

En bref

Une configuration de trois semaines n'est pas un échec de la documentation ou du framework. Elle montre ce que nécessite une infrastructure NLP prête pour la production. Les défis sont réels. Ils demandent du temps et des compétences.

Pour beaucoup d'équipes, la dé-identification des DCP est une exigence de conformité. Ce n'est pas une tâche d'ingénierie centrale. Le service géré offre la même détection. Et ce, sans le projet d'infrastructure. Douze minutes de l'inscription au premier document dé-identifié maintient le coût d'évaluation très bas.

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.