Live 18/11 · Cohorte 318 nov à 19h00 MSK — atelier pratique gratuit sur les agents IA · La Cohorte 3 démarre le 23/11Atelier 18/11 →Cohorte 3 (23/11)
SortieAnalyse · Sur le radarХабр: NLP→ original

Presidio et LiteLLM masquent les données personnelles face à un LLM externe : test de trois configurations sur 20 textes

Envoyer à un LLM cloud des courriels de clients avec noms complets, téléphones et adresses est un risque qu'un simple « nous ne conservons pas les logs » ne suffit pas à écarter. L'auteur d'une analyse publiée sur Habr montre comment configurer Microsoft Presidio pour le russe, ajouter ses propres règles et intégrer le masquage dans le proxy LiteLLM. Les noms sont remplacés par des balises avant la requête et rétablis après la réponse. Le test sur 20 textes fictifs a montré que l'adresse reste parfois partiellement visible.

Traité par IA depuis Хабр: NLP ; édité par Hamidun News
Presidio et LiteLLM masquent les données personnelles face à un LLM externe : test de trois configurations sur 20 textes
Source : Хабр: NLP. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireХабр: NLP ↗
Rédacteur en chef
Chiffre clé #1Le russe exige un modèle NLP dédié et des reconnaisseurs personnalisés
Chiffre clé #2Les numéros de contrat, INN et SNILS sont capturés par des règles regex maison
Vérifiez l'adresse séparémentune partie peut rester en clair

Situation familière : une entreprise veut faire passer par GPT ou Claude les demandes de ses clients, qui contiennent noms, téléphones, e-mails et adresses. Les juristes grimacent, les responsables sécurité demandent qu'on « fasse quelque chose ». La solution la plus simple consiste à ne pas envoyer du tout de données personnelles : les remplacer par des balises, attendre la réponse et réinsérer les valeurs d'origine. C'est précisément ce schéma, fondé sur Presidio et LiteLLM, qui a été décortiqué sur Habr.

Précision importante : nous n'avons que l'annonce de l'article, pas son texte complet. Ce qui suit reprend donc ce que l'auteur affirme directement, ainsi que la mécanique générale des outils, connue grâce à leur documentation.

Comment cela fonctionne sur un exemple simple

Presidio est une bibliothèque open source de Microsoft pour détecter et anonymiser les données personnelles. Elle comprend deux parties. L'Analyzer repère dans le texte des entités : noms, téléphones, e-mails, numéros de carte. L'Anonymizer remplace ce qui a été trouvé selon la règle choisie : suppression, masquage ou insertion d'une balise.

Imaginez la requête : « Ivan Petrov demande à être rappelé au +7 900 123-45-67 ». Le modèle reçoit : « <PERSON_1> demande à être rappelé au <PHONE_1> ». Il répond en utilisant les mêmes balises, et le proxy réinjecte les vraies valeurs. Le fournisseur externe ne voit pas les données réelles, et l'utilisateur obtient une réponse cohérente.

LiteLLM joue ici le rôle de proxy entre votre application et les fournisseurs de modèles. Il propose une intégration avec Presidio sous forme de guardrail : le masquage et la substitution inverse sont regroupés en un point unique, sans avoir à réécrire le code de chaque service.

Où les difficultés commencent avec le russe

Par défaut, Presidio est conçu pour l'anglais. Pour le russe, il faut brancher un modèle linguistique adapté, par exemple de spaCy, et vérifier qu'il trouve bien les noms à tous les cas grammaticaux. « Ивану Петрову », « у Ивана Петрова » et « Петрова И. А. » représentent pour le modèle des tâches différentes.

Il faut ensuite des règles personnalisées. Presidio permet d'ajouter ses propres reconnaisseurs fondés sur des expressions régulières, des mots de contexte et des listes. Dans le contexte russe, cela concerne les numéros de contrat, l'INN, le SNILS et les identifiants internes de clients. Il n'existe probablement pas de reconnaisseur prêt à l'emploi pour ces données, et il faudra l'écrire soi-même. L'auteur détaille cette configuration à part.

Ce qu'a montré le test

L'auteur a comparé trois configurations sur 20 textes fictifs. L'annonce ne donne pas de chiffres détaillés, mais une conclusion est formulée sans détour : dans certains cas, une partie de l'adresse reste visible.

La cause est typique des adresses. C'est une entité composée de la ville, de la rue, du numéro d'immeuble et de l'appartement. Le modèle repère sûrement la ville ou la région, mais ignore la rue avec son numéro ou la coupe en plein milieu. Un fragment suffit pour une fuite : « ул. Лесная, 12 » (rue Lesnaïa, 12), combiné à d'autres données, désigne déjà une personne.

Que faire en pratique

  • Ne considérez pas le masquage comme un dispositif à activer puis à oublier. Constituez votre propre jeu de test de textes russes avec les données typiques de votre activité et mesurez la part d'omissions avant la mise en production.
  • Couvrez les adresses, numéros de documents et identifiants internes avec des règles distinctes. Un modèle NER standard ne suffit pas pour eux.
  • Décidez de ce qui compte le plus : laisser passer un élément en trop ou masquer trop. Pour les données clients, mieux vaut tolérer des faux positifs que des fuites.
  • Conservez la correspondance entre balises et valeurs uniquement côté proxy et uniquement pour la durée de la requête.

Limites

Un échantillon de 20 textes fictifs est trop petit pour juger de la précision réelle sur un flux en production. Les vrais e-mails sont plus longs, avec fautes de frappe, abréviations et mélange de langues. Les balises dans le texte peuvent influencer la réponse du modèle : il perd un contexte comme le genre ou la nationalité, et la qualité baisse sur certaines tâches.

En résumé : l'association de Presidio et de LiteLLM est un moyen efficace et peu coûteux de réduire le risque lors de l'usage de LLM externes. Mais elle ne constitue pas une garantie tant que vous ne l'avez pas testée sur vos propres données et colmaté les brèches comme les adresses partiellement visibles. Pour les équipes qui envoient déjà des textes de clients vers des modèles cloud, cela vaut la peine de lire l'original et de reproduire le test sur leur propre jeu de données.

Dossier

Questions clés sur cet article

Comment cela fonctionne sur un exemple simple?

Presidio est une bibliothèque open source de Microsoft pour détecter et anonymiser les données personnelles. Elle comprend deux parties. L'Analyzer repère dans le texte des entités : noms, téléphones, e-mails, numéros de carte. L'Anonymizer remplace ce qui a été trouvé selon la règle choisie : suppression, masquage ou insertion d'une balise. Imaginez la requête : « Ivan Petrov demande à être rappelé au +7 900 123-45-67 ». Le modèle reçoit : « <PERSON_1> demande à être rappelé au <PHONE_1> ».

Que sait-on sur Où les difficultés commencent avec le russe ?

Par défaut, Presidio est conçu pour l'anglais. Pour le russe, il faut brancher un modèle linguistique adapté, par exemple de spaCy, et vérifier qu'il trouve bien les noms à tous les cas grammaticaux. « Ивану Петрову », « у Ивана Петрова » et « Петрова И. А. » représentent pour le modèle des tâches différentes. Il faut ensuite des règles personnalisées. Presidio permet d'ajouter ses propres reconnaisseurs fondés sur des expressions régulières, des mots de contexte et des listes.

Que sait-on sur Ce qu'a montré le test ?

L'auteur a comparé trois configurations sur 20 textes fictifs. L'annonce ne donne pas de chiffres détaillés, mais une conclusion est formulée sans détour : dans certains cas, une partie de l'adresse reste visible. La cause est typique des adresses. C'est une entité composée de la ville, de la rue, du numéro d'immeuble et de l'appartement. Le modèle repère sûrement la ville ou la région, mais ignore la rue avec son numéro ou la coupe en plein milieu. Un fragment suffit pour une fuite : « ул.

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…