Presidio Python la référence open source.
1. Microsoft Presidio — Anonymisation PII
🌐 URL Home - Microsoft Presidio https://microsoft.github.io/presidio/
🏢 Éditeur Microsoft Corporation (Industry Solutions Engineering)
📄 Licence Open Source (MIT) — Auto-hébergement gratuit
📅 Depuis 2019
Description :
Microsoft Presidio est le framework open source de référence pour la détection et l'anonymisation des données personnelles (PII) dans les textes libres. Il utilise la bibliothèque NLP spaCy pour la reconnaissance d'entités nommées, combinée à des reconnaisseurs par expressions régulières et à des analyseurs de contexte. Presidio supporte nativement le français et peut être étendu avec des reconnaisseurs personnalisés pour des formats métier spécifiques (numéros de contrats, identifiants internes). https://microsoft.github.io/presidio/installation/#install-from-source
Cas d'usage UGAIA :
Filtre obligatoire en amont de tous les flux N3/N4 dans l'architecture UGAIA. Anonymisation avant envoi au modèle Ollama/Phi-4. Preuve de minimisation des données (Art. 5 RGPD). Support natif du français avec le modèle fr_core_news_lg de spaCy.
Presidio Demo - a Hugging Face Space by presidio YouTube https://youtu.be/RPJ3-kEUybU
llm-semantic-router/pii_classifier_modernbert-base_presidio_token_model · Hugging Face
https://huggingface.co/llm-semantic-router/pii_classifier_modernbert-base_presidio_token_model
2. rs-presidio — L'implémentation Rust haute performance
🔧 rs-presidio — Anonymisation PII en Rust
🌐 URL https://github.com/posidron/rs-presidio
🏢 Éditeur Communauté open source (projet non officiel Microsoft)
📄 Licence Open Source (MIT) — Projet communautaire
📅 Depuis 2024 (projet jeune)
Description :
rs-presidio est une implémentation complète et non officielle de Microsoft Presidio, développée en Rust par la communauté. Elle reproduit l'intégralité des fonctionnalités de la version Python (presidio-analyzer, presidio-anonymizer, presidio-structured, presidio-image-redactor) tout en tirant parti des garanties de sécurité mémoire et de performance du langage Rust. Les benchmarks montrent des performances 10 à 100 fois supérieures à la version Python pour le filtrage par expressions régulières (latence : 1 ms en mode regex pur, 50 ms avec NLP ONNX).
Cas d'usage UGAIA :
Déploiement en Couche 1 (infrastructure) pour les organisations traitant de gros volumes. Latence minimisée pour les pipelines temps réel de niveau N3/N4. Option ONNX avec modèles spaCy/Stanza pour une précision NLP équivalente à Python. Journalisation des décisions de détection pour les dossiers d'audit CNIL.
3. Le tableau suivant compare les deux implémentations de Presidio.
Ce tableau est essentiel pour les architectes qui doivent choisir entre les garanties de maturité de la version Python et les performances de la version Rust.
https://microsoft.github.io/presidio/api-docs/api-docs.html
Recommandation UGAIA :
La version Python reste la référence pour la majorité des déploiements. rs-presidio est recommandé uniquement pour les organisations traitant plus de 1 000 requêtes par seconde ou nécessitant une latence inférieure à 10 ms. Dans tous les cas, des tests de non-régression approfondis sont indispensables avant tout déploiement en production de rs-presidio.
Figure Architecture IA Souveraine FAST-TRACK PRESIDIO.
Dans le cadre de l'architecture souveraine, Presidio est l'outil open source essentiel pour respecter la "règle des 48 heures", qui stipule que tout dossier d'audit doit pouvoir être généré automatiquement dans ce délai pour un régulateur (CNIL) ou un assureur.
4. Comment Presidio contribue concrètement à la gouvernance souveraine des données
1. Application du principe « Audit-by-Design »
Presidio intègre la traçabilité dès la conception en appliquant la règle d’or de l’audit : séparer la donnée brute (le risque) de la trace d’exécution (la preuve). En anonymisant les données personnelles (PII) avant leur stockage, il garantit qu’aucune donnée nominative ne réside dans les journaux d’audit. Les logs sont ainsi immédiatement exploitables sans nécessiter de retraitement manuel ultérieur.
2. Automatisation de la conformité pour les niveaux N3/N4
Pour les données sensibles (RH, santé, finance), le déploiement de Presidio est considéré comme obligatoire avant toute mise en conformité.
Sans Presidio : une demande de la CNIL imposerait de nettoyer manuellement des milliers de lignes de journaux pour éviter tout transfert de données personnelles, rendant le respect du délai de 48 heures impossible.
Avec Presidio : les mécanismes d’anonymisation sont vérifiés et effectifs avant tout envoi au modèle. Les traces d’exécution (prompt anonymisé, version du modèle, réponse) sont « audit-ready » dès leur création.
3. Preuve technique d’intégrité
Presidio s’intègre dans la phase de structuration (J+30 à J+120) aux côtés d’outils comme Langfuse et MLflow. En filtrant les flux capturés par le collecteur central (OpenTelemetry), il permet de corréler chaque interaction à un identifiant unique (mlflow_run_id). Cette corrélation constitue la preuve technique d’intégrité qu’auditeurs et assureurs exigent pour valider la maîtrise du risque et le score de résilience.
4. Facilitation de l’assurabilité
Un système dont le score de résilience est inférieur à 50/100 est jugé non-assurable. Presidio contribue à atteindre et à maintenir un score cible compris entre 75 et 80/100, niveau exigé par les assureurs cyber à compter de 2026. Sa capacité à fournir instantanément des rapports prouvant l’absence de fuite de données — grâce à des journaux propres et anonymisés — constitue un argument décisif pour l’obtention d’un contrat d’assurance cyber.
En résumé :
Presidio agit comme un filtre automatisé qui transforme un flux de données à risque en une piste d’audit conforme et sécurisée, rendant la génération du rapport d’incident ou de conformité quasi instantanée.
5. Fiche de procédure : anonymisation PII (niveaux N3/N4)
Cette fiche décrit en cinq étapes la mise en œuvre de l’anonymisation des données de niveaux N3 et N4 au sein de votre architecture IA souveraine, conformément au principe d’Audit-by-Design : séparer la donnée brute (le risque) de la trace d’exécution (la preuve).
1. Objectif et périmètre
Objectif : garantir qu’aucune donnée nominative ou sensible ne réside dans les journaux d’audit (ELK/Langfuse), tout en assurant une traçabilité complète des interactions.
Classification visée :
• N3 (Sensible) : données RH, contrats clients, bilans comptables.
• N4 (Très Sensible) : données de santé, infrastructures critiques, données classifiées.
Outil de référence : Presidio ou rs-presidio (0 € de licence).
Note sur rs-presidio :
implémentation communautaire de Presidio en langage Rust, offrant de meilleures performances pour les environnements à forte volumétrie ou sans dépendance Python. En raison de sa relative jeunesse (< 1 an), un fallback vers la version Python officielle est recommandé avant tout déploiement en production sur des données N3/N4.
2. Déploiement stratégique (Phase 2 : J+30 à J+120)
L’anonymisation intervient lors de la phase de structuration de l’architecture d’audit.
• Étape 1 : installer Presidio comme middleware entre l’interface utilisateur (Open WebUI) et la passerelle (LiteLLM).
• Étape 2 : configurer le collecteur OpenTelemetry pour centraliser les flux et assurer la corrélation par mlflow_run_id.
3. Configuration technique de l’anonymiseur
Pour les données N3/N4, la configuration doit être stricte :
• Analyseur PII : activer la détection automatique des entités (noms, adresses e-mail, numéros de sécurité sociale, coordonnées bancaires).
• Mécanisme de masquage : privilégier le remplacement par des balises (ex. : <NOM_PERSONNE>) ou le hachage cryptographique, afin de conserver la structure du texte sans exposer la donnée brute.
Règle d’or :
aucune donnée nominative ne doit figurer dans les journaux d’audit.
4. Workflow opérationnel (Zero Trust IA)
Enchaînement des traitements :
Utilisateur
↓ (prompt brut)
Open WebUI
↓
[ Presidio — Anonymisation PII ]
↓
LiteLLM / Ollama (inférence — prompt anonymisé)
↓ (corrélation mlflow_run_id)
OpenTelemetry
↓
ELK (journaux anonymisés — preuves forensiques)
↓
Audit CNIL / Assurance
Tableau 1 Workflow opérationnel Zero Trust IA
5. Contrôle et validation (Audit-Ready)
• Test de la règle des 48 heures : vérifier que le dossier d’audit généré automatiquement à destination de la CNIL ou de l’assureur ne contient aucune donnée brute de niveau N3/N4.
• Score de résilience : le déploiement effectif de Presidio est une condition nécessaire pour atteindre un score UGAIA ≥ 75/100 (seuil d’assurabilité) et ≥ 80/100 (statut SOUVERAIN+).
• Audit trimestriel : réaliser des tests de type « Red Team » (via Garak ou PyRIT) pour vérifier que le filtre d’anonymisation ne peut pas être contourné par des injections de prompts.
Résultat attendu : une conformité proactive à l’AI Act et au RGPD, garantissant une traçabilité totale tout en neutralisant le risque de fuite de données personnelles dès la conception.
6. Impact de Presidio sur le score de résilience UGAIA
L’intégration de Presidio agit directement sur cinq leviers du score de résilience. Le tableau ci-dessous en présente la synthèse :
Cette infographie complète dédiée aux fonctions et avantages de Presidio pour la gouvernance de l'IA dans votre entreprise.
Cette représentation met en avant les piliers stratégiques identifiés dans les sources :
Fonctions Clés : L'anonymisation des données personnelles (PII), la mise en œuvre du principe d'Audit-by-Design (séparation du risque et de la preuve) et son rôle de middleware dans une architecture Zero Trust IA.
Protection et Sécurité : La sécurisation des flux de données de niveaux N3 et N4 (données sensibles à très sensibles) avant leur traitement par les modèles.
Avantages pour l'Audit : Sa contribution cruciale au respect de la "règle des 48 heures" pour la génération de rapports de conformité CNIL ou assureur.
Gouvernance de l'IA : Son impact direct sur le score de résilience UGAIA (cible ≥ 75/100) pour garantir l'assurabilité de vos systèmes, le tout avec un coût de licence de 0 €.
open-webui/open-webui: User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
Install from source
To install Presidio from source, first clone the repo:
using HTTPS
git clone https://github.com/microsoft/presidio.git
Using SSH
git clone git@github.com:microsoft/presidio.git
Then, build the containers locally.
Note
Presidio uses docker-compose to manage the different Presidio containers.
From the root folder of the repo:
docker-compose up --build
Alternatively, you can build and run individual services. For example, for the presidio-anonymizer service:
docker build ./presidio-anonymizer -t presidio/presidio-anonymizer
And run:
docker run -d -p 5001:5001 presidio/presidio-anonymizer
For more information on developing locally, refer to the setting up a development environment section.
7. Installation - Microsoft Presidio
https://microsoft.github.io/presidio/installation/#using-docker
Ce paquet propose des tâches liées à la data science pour développer de nouveaux reconnaisseurs pour Presidio. Il est utilisé pour l’évaluation de l’ensemble du système, ainsi que pour évaluer des reconnaisseurs spécifiques de PII ou de modèles de détection de PII.
Je lance des tests dans Docker :
8. Apprendre Presidio
Presidio est une suite d’outils permettant de détecter et de dé-identifier les informations personnelles dans le texte, les images et les données structurées.
Le point de départ recommandé est de suivre le tutoriel qui vous guidera dans le processus de configuration et d’utilisation de Presidio. Pour en savoir plus sur les différents concepts de Presidio, consultez la page des concepts.
- Pour approfondir chaque composant, consultez la documentation correspondante
- Pour l’analyseur Presidio, consultez la documentation de l’analyseur.
- Pour Presidio Anonymizer, consultez la documentation Anonymizer.
- Pour le Presidio Image Redactor, consultez la documentation Image Redactor.
- Pour la structure Presidio, consultez la documentation Structurée.
- Les diagrammes suivants offrent une compréhension générale des composants du Presidio
Analyzer
Anonymizer
Image Redactor
Standard Image Types
DICOM Images
Made with Material for MkDocs
https://microsoft.github.io/presidio/recipes/
Site web de démonstration simple pour Presidio
Voici une application simple, écrite en Python pur, pour créer un site de démonstration pour Presidio. L’application est basée sur le package Streamlit.
Une version live est disponible ici : https://huggingface.co/spaces/presidio/presidio_demo
Exigences
Clonez le dépôt et déplacez-le dans le dossierdocs/samples/python/streamlit
Installer des dépendances (de préférence dans un environnement virtuel)
https://microsoft.github.io/presidio/samples/python/streamlit/
9. Galerie de recettes
Home - Microsoft Presidio https://microsoft.github.io/presidio/recipes/
Bienvenue dans la galerie de recettes du Presidio !
Cette section propose des exemples soigneusement sélectionnés, de bout en bout, montrant comment personnaliser Microsoft Presidio pour des scénarios spécifiques de confidentialité des données et de désidentification.
Qu’est-ce que les recettes ?
Les recettes sont des exemples complets et reproductibles, adaptés aux domaines de données et cas d’usage courants. Chaque recette va au-delà de la documentation de base pour fournir :
Contexte concret : Axé sur des scénarios spécifiques comme des conversations avec des chatbots financiers, des notes cliniques, des journaux de l’API REST ou du contenu multilingue
Génération de données synthétiques : méthodes pour créer des données de test réalistes qui imitent votre environnement de production
Benchmarks de performance : métriques d’évaluation (précision, rappel, score F₂ et latence) entre différentes configurations de Presidio
Complexité progressive : Exemples allant de l’utilisation prête à l’emploi à la personnalisation avancée avec transformateurs, LLM ou approches hybrides
Pourquoi utiliser des recettes ?
Bien que la documentation de Presidio couvre les fondamentaux, les recettes font le lien entre les exemples génériques et les implémentations prêtes à la production. Ils vous aident à :
Évaluer la performance : Comprendre la précision et la rapidité de Presidio pour votre domaine spécifique avant le déploiement
Personnaliser efficacement : Apprenez quels reconnaisseurs, modèles et configurations fonctionnent le mieux pour différents types de données
Comparez les approches : Voir des comparaisons côte à côte de différentes stratégies de mise en œuvre
Réduisez le temps de développement : commencez par un exemple fonctionnel proche de votre cas d’usage au lieu de construire à partir de zéro
Structure de la recette
Chaque recette comprend généralement :
Description du scénario : Le domaine et le type de données
Synthèse des données : Méthodes pour générer des données de test en utilisant Presidio Evaluator ou des méthodes personnalisées
Configuration : Configuration Presidio avec tout type de reconnaissance ou modèle personnalisé
Évaluation : Indicateurs de performance (précision, rappel, score F₂, latence)
Implémentation : notebook Jupyter ou scripts Python montrant le flux de bout en bout (voir exemple)
Constats clés : quand utiliser cette approche et compromis à considérer
Pour des flux complexes, envisagez de diviser plusieurs carnets ou scripts pour une meilleure organisation.
Recettes disponibles
Actuellement, la galerie de recettes est en cours de création. Revenez bientôt pour découvrir les recettes couvrant :
Domaine financier : conversations de chat, journaux de transactions, interactions avec le service client
Domaine des soins de santé : notes cliniques, dossiers patients, rapports médicaux
Retail/E-commerce : données clients, informations de commande, tickets de support
Enterprise : journaux d’API REST, exportations de bases de données, communications internes
Multilingues : exemples pour l’espagnol, le français, l’allemand et d’autres langues
Home - Microsoft Presidio https://microsoft.github.io/presidio/samples/
Tableau de performance des recettes (à venir bientôt)
Nous élaborons un tableau de référence complet qui montrera les performances de Presidio à travers différents domaines et niveaux de mise en œuvre. Le tableau comprendra :
Comment utiliser une recette
Parcourez les recettes pour en trouver une qui correspond à votre domaine ou à votre cas d’utilisation
Passez en revue le carnet pour comprendre l’approche et les résultats
Faites tourner le carnet dans votre environnement pour reproduire les résultats
Adaptez la configuration à vos données et exigences spécifiques
Évaluez les performances sur votre propre jeu de données de test
Déploie la configuration qui répond le mieux à tes besoins de précision et de performance
Contribuer à une recette
Nous accueillons volontiers les contributions de la communauté ! Consultez nos directives de contribution pour plus de détails.
Exemples de référence : - Évaluer l’analyseur Presidio - Flux de travail complet d’évaluation de bout en bout - Générer des données synthétiques - Générateur de données Presidio Evaluator
Suivez le schéma : Synthèse des données → Configuration → Évaluation
Pour des flux complexes, divisez-vous en plusieurs carnets ou scripts. Concentrez-vous d’abord sur la mise en place du code fonctionnel – nous aiderons à affiner la documentation lors de la révision.
10. Ressources connexes
Exemples de Presidio : exemples d’utilisation supplémentaires et modèles d’intégration
Série de tutoriels : Guide étape par étape des fonctionnalités de Presidio
Meilleures pratiques pour développer des reconnaisseurs : plongez en profondeur dans la création de reconnaisseurs personnalisés des PII
Presidio Research Repository : Outils d’évaluation et ensembles de données de recherche
FAQ : Questions fréquentes sur l’amélioration de la précision de la détection
Des questions ou des retours ?
Si vous avez des questions sur des recettes ou des suggestions de nouveaux scénarios à couvrir, s’il vous plaît :
Ouvrir un problème sur GitHub
Envoyez-nous un e-mail à presidio@microsoft.com
Rejoignez la discussion sur nos canaux communautaires
Note :
La galerie de recettes illustre la flexibilité et les capacités de personnalisation de Presidio. L’objectif est de montrer que Presidio est conçu pour être adapté à vos besoins spécifiques, et non utilisé comme une solution universelle. Chaque recette illustre les meilleures pratiques de personnalisation dans différents contextes.
Recherche sur le presidio
Ce package fournit des capacités d’évaluation et de science des données pour les modèles de détection Presidio et PII en général.
Il inclut également un générateur de données fausses qui crée des phrases synthétiques à partir de modèles et de fausses informations personnelles.
Qui devrait l’utiliser ?
Toute personne intéressée par le développement ou l’évaluation de modèles de détection des PII, une instance Presidio existante ou un reconnaisseur Presidio PII.
Toute personne intéressée par la génération de nouvelles données basées sur des ensembles de données ou des modèles de phrases précédents (par exemple, pour augmenter la couverture des valeurs des entités) pour les modèles de Reconnaissance d’Entités Nommées ?
Début
Utilisation des carnets
La façon la plus simple de commencer est de revoir les carnets.
Carnet 1 : Montre comment utiliser le générateur de données personnelles (PII).
Cahier 2 : Montre une analyse simple de l’ensemble de données PII.
Notebook 3 : Fournit des outils pour diviser le jeu de données en ensembles train/test/validation tout en évitant les fuites dues à l’apparition du même motif dans plusieurs plis (applicable uniquement aux données générées synthétiquement).
Cahier 4 : Montre comment utiliser les outils d’évaluation pour évaluer la capacité de détection des PII par Presidio. Notez que cela utilise le Presidio vanilla, et les résultats ne sont pas très précis.
presidio-research/README.md à master · Microsoft/Presidio-Research
Contributions
Ce projet accueille les contributions et suggestions. La plupart des contributions exigent que vous acceptiez un Accord de licence de contributeur (CLA) déclarant que vous avez le droit de, et que vous l’avez effectivement, nous accorder les droits d’utilisation de votre contribution. Pour plus de détails, rendez-vous sur https://cla.opensource.microsoft.com.
Lorsque vous soumettez une pull request, un bot CLA déterminera automatiquement si vous devez fournir un CLA et décorer la PR de manière appropriée (par exemple, vérification du statut, commentaire). Il suffit de suivre les instructions fourni par le bot. Vous n’aurez à le faire qu’une seule fois sur tous les dépôts en utilisant notre CLA.
Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez la FAQ sur le Code de conduite ou Contactez opencode@microsoft.com pour toute question ou commentaire supplémentaire.
Avis de droits d’auteur :
Les identités du Fake Name Generator par le Fake Name Generator sont sous licence Creative Commons Attribution-Share Alike 3.0 États-Unis. Fake Name Generator et le logo Fake Name Generator sont des marques déposées de Corban Works, LLC.
semantic-router/README.md at main · vllm-project/semantic-router
https://github.com/vllm-project/semantic-router/blob/main/README.md
Pourquoi MoM ?
llm-semantic-router (vLLM Semantic Router)
https://huggingface.co/llm-semantic-router
Mon prochain article sur son installation dans Docker
---
Erol GIRAUDY
Mes 2 derniers livres :
Chez AMAZON mon 15ème livre sur la dictature de l’IA :
Chez AMAZON mon livre sur la gouvernance et audit de l’IA :
et mes 13 livres A la BNF : 13 livres Bibliothèque nationale de France
Recherche simple "Giraudy Erol" : liste de notices | BnF Catalogue général



Aucun commentaire:
Enregistrer un commentaire