
GitHub : anonymiser ses documents en local avec Siegfried et un LLM embarqué en 2026
Coller le nom d’un client dans ChatGPT ou Claude pour gagner cinq minutes sur un brouillon : geste banal, fuite potentielle. Chaque octet transmis à un serveur tiers devient une donnée traitée hors de votre contrôle, avec un risque de réidentification. Les professions réglementées (avocats, médecins, experts-comptables, notaires) y voient une atteinte possible au secret professionnel. Les dépôts GitHub d’anonymisation locale ont explosé en 2026, portés par des projets comme Siegfried2, Microsoft Presidio ou moteurNER de la Cour de cassation. Les outils existent, sont gratuits, et tournent sur une machine grand public.
Temps de lecture : 14 min
À retenir
- L’anonymisation locale est une discipline qui traite les documents sensibles directement sur la machine de l’utilisateur, sans aucun appel réseau, pour préserver le secret professionnel et la conformité RGPD.
- Siegfried2, projet sous licence Apache 2.0, détecte 16 catégories de données personnelles avec validation par somme de contrôle (IBAN MOD-97, NIR clé 97, SIREN Luhn) et produit une pseudonymisation réversible cohérente.
- Un MacBook récent avec 16 Go de RAM ou un PC Linux avec une carte RTX 3060 12 Go suffit à faire tourner un modèle Llama ou Qwen de 8 milliards de paramètres quantifié, pour un coût logiciel de 0 euro.
- Le pipeline complet combine un outil d’anonymisation (Siegfried, Presidio), un runtime LLM local (Ollama, LM Studio) et une table de correspondance pour ré-identifier les réponses de l’IA après coup.
Qu’est-ce que l’anonymisation locale de documents et pourquoi s’impose-t-elle en 2026 ?
L’anonymisation locale de documents est une discipline qui traite les fichiers sensibles directement sur la machine de l’utilisateur, sans aucun appel réseau, pour préserver le secret professionnel et la conformité RGPD. Elle repose sur la détection d’entités personnelles (nom, adresse, numéro fiscal, identifiant bancaire) puis sur leur remplacement par des pseudonymes ou leur suppression pure. Aucun serveur tiers ne voit jamais la donnée originale.
Anonymisation, pseudonymisation, redaction : trois notions à ne pas confondre
La CNIL distingue nettement trois opérations. L’anonymisation rend l’identification irréversiblement impossible, les données sortent alors du champ du RGPD. La pseudonymisation remplace les identifiants directs par des alias, mais la réidentification reste possible avec la table de correspondance, les données restent donc soumises au RGPD. La redaction (occultation) masque visuellement les éléments sans structure de remplacement.
Le Comité européen de la protection des données fixe trois critères pour qu’une anonymisation soit réputée efficace : impossibilité d’individualisation, impossibilité de corrélation et impossibilité d’inférence (avis 05/2014 du CEPD, consulté en avril 2026).
Le risque concret d’envoyer un document à ChatGPT ou Gemini
ChatGPT compte plus de 800 millions d’utilisateurs hebdomadaires début 2026 (OpenAI, 2026). Chaque document collé dans une conversation traverse Internet, transite par des serveurs américains et peut entrer dans des pipelines de log, de modération ou de fine-tuning. Pour un avocat, coller une assignation avec le nom et l’adresse du client revient à divulguer une information couverte par le secret à un sous-traitant non contrôlé.
Le rappel RGPD de HDVMA le précise clairement : le responsable de traitement garde la charge de la preuve de l’anonymisation effective. En cas de fuite, c’est lui qui est sanctionné, pas OpenAI ni Anthropic.
Pourquoi le local s’est généralisé en 2026
Trois facteurs ont convergé. D’abord la maturité des runtimes comme Ollama et LM Studio qui rendent l’exécution d’un modèle IA aussi simple qu’un double-clic. Ensuite la quantification GGUF en Q4_K_M qui divise par quatre les besoins en mémoire. Enfin l’explosion des modèles ouverts comme Llama 4, Qwen 3 et Gemma 3 qui atteignent le niveau de GPT-4 sur les tâches métier (Hugging Face, 2026). Le tout à coût marginal nul après l’achat de la machine.
Quels dépôts GitHub privilégier pour anonymiser ses documents ?
Tous les dépôts GitHub d’anonymisation ne se valent pas. Certains ciblent les bases de données structurées, d’autres le texte libre, d’autres encore les PDF avec OCR. Voici un panorama organisé par cas d’usage et par maturité.
Microsoft Presidio : le framework pivot en Python
Microsoft Presidio est le framework open source de référence pour la détection et l’anonymisation de données personnelles dans du texte et des images. Publié sous Apache License 2.0, il combine reconnaissance d’entités nommées via spaCy, regex configurables et sommes de contrôle. Presidio reconnaît plus de 180 types d’entités en standard et s’intègre aussi bien en SDK Python qu’en service HTTP via Docker.
L’Analyzer identifie les entités, l’Anonymizer les remplace par masquage, hachage, chiffrement ou substitution. L’Image Redactor noircit le texte dans des captures ou des DICOM médicaux. Presidio convient aux équipes techniques capables d’écrire un pipeline Python et de le tuner sur leurs propres données.
moteurNER de la Cour de cassation et ELS-RD : le NER juridique français
La Cour de cassation a publié en open source son moteur de pseudonymisation utilisé pour l’ouverture des décisions de justice. Le projet combine apprentissage automatique et règles déterministes post-traitement, avec une interface d’annotation pour les correcteurs humains. Il ingère des décisions annotées pour entraîner un modèle de reconnaissance d’entités nommées (NER) français spécialisé.
Dans la même famille, le dépôt ELS-RD/anonymisation de Lefebvre Sarrut benchmarke spaCy, Flair, mBERT et CamemBERT sur l’anonymisation des décisions commerciales. Ces deux projets fournissent un socle académique solide pour bâtir une anonymisation juridique métier.
Anonym-IA V2 CamemBERT : le modèle fine-tuné clé en main
Le modèle Anonym-IA V2-camembert-ner-pii-french propose un CamemBERT fine-tuné sur plus de 70 catégories PII françaises, avec templates juridiques réalistes et variantes officielles du NIR (avec et sans espaces). La licence MIT autorise un usage commercial sans restriction. Trois lignes de Python suffisent à lancer une détection sur un document brut.
Etalab, PostgreSQL Anonymizer, Mimesis et les autres
Pour les bases de données relationnelles, PostgreSQL Anonymizer applique des règles de masquage colonne par colonne via une extension native. Pour le texte libre administratif, le guide etalab-ia documente pas-à-pas une approche BiLSTM-CRF. Le dépôt SGMAP-AGD apporte quant à lui une méthode robuste de k-anonymisation et l-diversité.
| Dépôt | Langage | Licence | Cas d’usage |
|---|---|---|---|
| microsoft/presidio | Python | Apache 2.0 | Texte, images, DICOM |
| 0Janvier/siegfried | Rust + React | Apache 2.0 | PDF juridiques français |
| Cour-de-cassation/moteurNER | Python | MIT | Décisions de justice |
| Anonym-IA CamemBERT V2 | Python / HF | MIT | PII juridiques françaises |
| etalab-ia/pseudonymisation | Python | MIT | Décisions administratives |
| SGMAP-AGD/anonymisation | R / Python | Licence ouverte | k-anonymat, open data |
Évaluez votre maturité IA en 5 minutes avec notre Diagnostic IA gratuit.
Pourquoi Siegfried2 redéfinit-il l’anonymisation PDF pour les professions réglementées ?
Siegfried2 a été conçu par Marc Sztulman, avocat au barreau, pour répondre à un besoin concret : anonymiser ses propres dossiers avant de les soumettre à une IA générative. Le projet est publié sur GitHub sous licence Apache 2.0 et ne sort jamais de la machine de l’utilisateur.
Une architecture technique pensée pour la confidentialité absolue
Siegfried2 repose sur Tauri 2, un framework qui combine un backend Rust compilé natif et un frontend React 19 en TypeScript. Le binaire est auto-portant, disponible en build universel arm64 et x86_64 pour macOS 11 et versions ultérieures. Aucun appel réseau n’est émis, aucune télémétrie n’est collectée, aucun identifiant machine n’est transmis.
Le scope filesystem est restreint aux dossiers Home, Desktop et Documents. La table de correspondance (mapping JSON) peut être chiffrée en AES-GCM avec dérivation PBKDF2-SHA256 à 200 000 itérations avant export. Cette précaution protège le cabinet même si le disque est cloné ou volé.
Seize catégories PII avec validation par somme de contrôle
L’outil détecte seize catégories de données personnelles, avec des validations mathématiques qui écartent les faux positifs :
- PERSONNE (civilités + séquences capitalisées Unicode, particules grammaticales filtrées)
- IBAN (27 caractères français validés par l’algorithme MOD-97)
- NIR ou numéro de sécurité sociale (15 chiffres, clé de contrôle 97 moins (num modulo 97))
- SIREN et SIRET (9 ou 14 chiffres validés par l’algorithme de Luhn)
- EMAIL (regex RFC simplifiée)
- TÉLÉPHONE (formats français et internationaux)
- ADRESSE (numéro, voie, code postal)
- DATE (formats français, reclassement procédural versus date de naissance)
Les catégories AVOCAT et MAGISTRAT sont détectées mais désactivées par défaut, conformément à la délibération CNIL 01-057.
La pseudonymisation réversible cohérente cross-corpus
Le trait distinctif de Siegfried2 est sa cohérence : toute occurrence d’une même entité reçoit le même pseudonyme dans tout le corpus. Le nom Dupont devient PERSONNE_001 dans l’assignation, dans les conclusions adverses et dans la pièce n° 17, ce qui permet à l’IA de raisonner sur les relations entre acteurs. Cette propriété s’inspire des juritools développés en interne à la Cour de cassation.
Le post-traitement détecte également les variantes orthographiques via distance de Levenshtein inférieure ou égale à 2, fusionne les entités adjacentes et propage les multi-occurrences. Ces règles réduisent le risque de sous-anonymisation, identifié par Supralegem comme le vrai danger du machine learning seul.
En pratique
Pour installer Siegfried2 sur macOS, ouvrez un terminal et tapez trois commandes : brew install poppler tesseract tesseract-lang, puis bun install dans le dossier du dépôt, enfin bun run tauri build. Le binaire macOS universel est généré dans src-tauri/target/release/bundle/macos/. L’ensemble prend quinze à vingt minutes.
Quelle machine faut-il pour faire tourner ces outils en local ?
La question du matériel est souvent la vraie barrière pour les cabinets et PME qui découvrent l’IA locale. Elle n’est pourtant pas insurmontable : un équipement grand public suffit pour la plupart des cas d’usage professionnels.
Les ressources minimales selon la taille du modèle
La mémoire vive (RAM) et la mémoire vidéo (VRAM) sont les deux variables qui comptent. Pour faire tourner un modèle quantifié en Q4_K_M, prévoir environ 0,6 à 0,7 gigaoctet par milliard de paramètres (SitePoint, 2026). Un modèle Llama 3.2 8B tient ainsi dans 5 à 6 Go, un Llama 70B en Q4 demande 40 Go.
L’outil d’anonymisation lui-même est beaucoup moins gourmand. Siegfried2 consomme quelques centaines de mégaoctets, Presidio tourne sur un CPU standard. Le vrai poste de dépense, c’est le LLM local qui consulte ensuite les documents pseudonymisés.
Apple Silicon, PC Windows ou station Linux : quel choix en 2026 ?
Trois plateformes dominent. Un MacBook Pro ou un Mac Studio avec puce Apple Silicon exploite la mémoire unifiée, ce qui signifie que la RAM système sert directement de VRAM. Un MacBook M3 avec 24 Go fait tourner confortablement un modèle 14B. Les postes Windows ou Linux équipés d’une carte NVIDIA RTX avec 12 à 24 Go de VRAM restent la référence pour les développeurs habitués à CUDA.
| Profil | Machine | Modèle max | Budget estimé |
|---|---|---|---|
| Cabinet individuel | MacBook Air M3 16 Go | 8B quantifié | 1 400 euros |
| PME ou petite équipe | MacBook Pro M3 Pro 24 Go | 14B quantifié | 2 400 euros |
| Dev Windows / Linux | RTX 3060 12 Go + 32 Go RAM | 13B quantifié | 1 200 euros |
| Station experte | RTX 4090 24 Go + 64 Go RAM | 32B quantifié | 3 500 euros |
| Mac Studio haut de gamme | Mac Studio M3 Ultra 96 Go | 70B quantifié | 5 500 euros |
Le piège des spécifications : ce qui compte vraiment
Beaucoup d’acheteurs surestiment le besoin de puissance. Pour un usage d’anonymisation et de consultation d’un modèle 7B ou 13B, un MacBook Air récent ou une machine de bureau à 1 500 euros suffit amplement. La bande passante mémoire (entre la RAM et le GPU) pèse plus que la fréquence du processeur. Le débit attendu est de 20 à 60 tokens par seconde pour un 8B, soit environ la vitesse de lecture d’un humain.
Quels LLM open source combiner avec ces outils d’anonymisation ?
Une fois le document pseudonymisé, il reste à le soumettre à une IA pour en tirer une valeur métier (résumé, qualification, rédaction). Le choix du runtime et du modèle détermine directement la qualité du résultat.
Ollama : le standard minimaliste en ligne de commande
Ollama domine l’écosystème local avec plus de 169 000 étoiles sur GitHub et une croissance soutenue en 2026 (GitHub Ollama, 2026). Le projet s’installe d’une commande sur macOS, Linux et Windows, puis expose une API REST compatible OpenAI sur le port 11434. La commande ollama pull llama3.2:8b télécharge un modèle quantifié, la commande ollama run le lance en chat.
Les environnements comparent volontiers Ollama à Docker pour les modèles. Llama 3.1 seul totalise plus de 113 millions de téléchargements, DeepSeek-R1 cumule 82,7 millions, Gemma 3 dépasse 35,5 millions. Le runtime est parfait pour les scripts, les pipelines n8n et les intégrations IDE.
LM Studio : l’interface graphique pour non-développeurs
LM Studio cible les utilisateurs qui préfèrent une application desktop. L’installation est un simple package DMG, EXE ou AppImage. L’interface offre un navigateur de modèles connecté à Hugging Face, une fenêtre de chat intégrée et un serveur local compatible OpenAI sur le port 1234. Pour un avocat ou un expert-comptable qui n’a jamais ouvert un terminal, LM Studio représente le chemin le plus court.
llama.cpp : le moteur sous-jacent pour les cas pointus
Les deux outils précédents reposent sur llama.cpp, le moteur d’inférence écrit en C++ par Georgi Gerganov. Une utilisation directe de llama.cpp apporte un contrôle fin sur la quantification, la gestion de la mémoire partagée et l’offload GPU layer par layer. Le format universel GGUF qu’il définit est accepté par Ollama, LM Studio, GPT4All et Jan.
Les modèles qui font la différence en 2026
Quatre familles se distinguent pour un usage professionnel avec documents pseudonymisés. Llama 4 d’Meta reste la référence tout-terrain. Qwen 3 d’Alibaba excelle sur les tâches multilingues et le raisonnement. Gemma 3 de Google brille en efficacité sur petite machine. DeepSeek-R1 combine raisonnement pas-à-pas et disponibilité massive. Pour un contexte juridique ou financier français, Mistral Large reste un choix cohérent avec la souveraineté européenne, sujet que nous avons traité dans notre analyse souveraineté des LLM et RGPD.
Comment construire un pipeline d’anonymisation local de bout en bout ?
Les briques existent, il reste à les assembler. Un pipeline robuste combine détection des données personnelles, pseudonymisation cohérente, consultation d’un modèle local et ré-identification des sorties. Voici la séquence éprouvée.
Étape 1 : extraction et détection des données personnelles
Le document source (PDF, DOCX, RTF, TXT) est converti en texte brut. Siegfried2 utilise pdftotext -layout pour les PDFs natifs, avec une bascule automatique vers Tesseract OCR à 300 DPI quand la page est scannée. Presidio accepte directement les chaînes Python. Pour les professions juridiques, le modèle Anonym-IA CamemBERT V2 fournit la couche NER.
Étape 2 : pseudonymisation et constitution de la table de correspondance
Chaque entité détectée reçoit un pseudonyme cohérent (PERSONNE_001, IBAN_003, DATE_014). Une table JSON stocke la correspondance pseudonyme vers original. Cette table ne quitte jamais la machine et peut être chiffrée à l’export. Elle sert à ré-identifier la sortie de l’IA à l’étape 4.
Étape 3 : consultation du LLM local
Le texte pseudonymisé est envoyé à Ollama ou LM Studio via l’API locale. Le prompt demande au modèle de résumer, rédiger, qualifier ou analyser. Le modèle raisonne sur PERSONNE_001 et IBAN_003 comme s’il s’agissait de vraies entités, puisque la cohérence cross-corpus préserve les relations.
Étape 4 : ré-identification contrôlée de la sortie
La réponse de l’IA contient les pseudonymes. Un script de substitution remplace chaque pseudonyme par sa valeur originale à l’aide de la table de correspondance. Le résultat final est lisible par l’utilisateur humain, sans jamais que les données personnelles n’aient transité hors du poste.
En pratique
Pour un cabinet d’avocats qui traite 10 dossiers par semaine avec en moyenne 50 pages chacun, le pipeline Siegfried2 + Ollama + Llama 3.2 8B tourne sur un MacBook Pro M3 24 Go. Temps moyen par dossier : 4 minutes d’anonymisation, 2 minutes de consultation IA, 30 secondes de ré-identification. Coût logiciel cumulé : 0 euro.
Ce pipeline se combine avec des stratégies complémentaires détaillées dans nos analyses sur l’IA au service des avocats et du secret professionnel, MCP pour les secteurs santé, finance et juridique et la stack technique GitHub et n8n. Les professions réglementées gagnent à l’intégrer dans leur stratégie SEO et IA sectorielle.
Méthodologie
Cet article s’appuie sur les dépôts publics GitHub de 0Janvier/siegfried, Microsoft Presidio et Cour-de-cassation/moteurNER, sur les guides officiels de la CNIL et du Lab IA d’Etalab, et sur les analyses hardware publiées par SitePoint en février et mars 2026. Les chiffres cités correspondent aux données en vigueur en avril 2026.
📞 Appelez Eric au 06 25 34 34 25
Diagnostic IA gratuit · Nous contacter · SEO & GEO automatisé
Questions fréquentes sur l’anonymisation locale de documents
Qu’est-ce que l’anonymisation locale de documents ?
L’anonymisation locale de documents est une discipline qui traite les fichiers sensibles directement sur la machine de l’utilisateur, sans aucun appel réseau, pour préserver le secret professionnel et la conformité RGPD. Elle détecte les données personnelles (nom, adresse, IBAN, NIR) puis les remplace par des pseudonymes cohérents. Aucun serveur tiers ne voit jamais la donnée originale, ce qui élimine le risque d’exfiltration.
Siegfried2 est-il adapté aux non-développeurs ?
Oui. Siegfried2 se présente comme une application macOS native que l’utilisateur ouvre par double-clic, comme n’importe quel logiciel. L’interface offre une fenêtre d’import par glisser-déposer, un panneau latéral de validation des entités détectées et un bouton d’export. Les prérequis Homebrew (poppler et tesseract) s’installent avec deux commandes. Un avocat non technicien peut être opérationnel en 30 minutes.
Quelle différence entre Siegfried et Microsoft Presidio ?
Siegfried2 est une application desktop prête à l’emploi, conçue par un avocat pour les PDF juridiques français, avec des checksums IBAN, NIR et SIREN natifs. Microsoft Presidio est un framework Python plus général, destiné à être intégré dans un pipeline sur mesure par une équipe technique. Siegfried couvre un besoin vertical, Presidio offre une brique horizontale réutilisable dans n’importe quel contexte métier.
Quelle machine minimum pour faire tourner ces outils ?
Un MacBook Air M3 avec 16 Go de RAM unifiée (environ 1 400 euros en avril 2026) suffit pour faire tourner Siegfried2 ou Presidio et un modèle Llama 3.2 8B quantifié via Ollama. Sur PC, un processeur moderne avec 32 Go de RAM et une RTX 3060 12 Go offre une expérience équivalente pour environ 1 200 euros. Les configurations plus puissantes ne deviennent nécessaires qu’à partir des modèles 32B ou 70B.
Quels sont les risques juridiques d’envoyer un document à ChatGPT ?
Coller un document contenant des données personnelles dans ChatGPT revient à transmettre ces données à un sous-traitant (OpenAI) potentiellement hors UE. Pour une profession réglementée, cela constitue une atteinte possible au secret professionnel. Pour toute entreprise, le RGPD impose un contrat de sous-traitance et une analyse d’impact. Le recours à une anonymisation préalable locale évite ces complications et rend l’usage juridiquement sûr.
Peut-on réidentifier une sortie IA qui contient des pseudonymes ?
Oui, c’est le principe même de la pseudonymisation réversible. Le pipeline conserve localement une table de correspondance au format JSON qui lie chaque pseudonyme (PERSONNE_001, IBAN_003) à sa valeur originale. Un script de substitution remplace les pseudonymes dans la réponse du modèle pour restituer un texte lisible. Siegfried2 chiffre optionnellement cette table en AES-GCM avec 200 000 itérations PBKDF2.
Quels LLM locaux sont les plus adaptés aux documents juridiques en français ?
Llama 4 de Meta et Mistral Large offrent les meilleurs rendus sur le français juridique, avec une bonne gestion du vocabulaire technique. Qwen 3 d’Alibaba monte en puissance sur les tâches multilingues. Pour les petites machines, Gemma 3 4B fournit un compromis acceptable. Le modèle Anonym-IA CamemBERT V2 ne sert pas à la génération mais à la détection NER juridique en amont du pipeline.
L’anonymisation locale respecte-t-elle le RGPD ?
L’anonymisation vraie sort les données du champ RGPD, la pseudonymisation les maintient dans le périmètre mais réduit drastiquement les risques. Siegfried2 et Presidio produisent par défaut une pseudonymisation. Le responsable de traitement garde la charge de la preuve de l’efficacité, selon les trois critères du CEPD (individualisation, corrélation, inférence). Une vérification manuelle de l’échantillon avant transmission reste recommandée.
Comment combiner ces outils avec n8n ou un workflow automatisé ?
n8n peut appeler Presidio via HTTP ou exécuter un script Python qui invoque Siegfried en ligne de commande (fonctionnalité prévue au roadmap). Le workflow déclenche l’anonymisation au dépôt d’un document dans un dossier surveillé, appelle ensuite Ollama via son API locale, puis ré-identifie la sortie avant livraison. Ce type d’orchestration convient aux cabinets qui traitent plusieurs dizaines de dossiers par jour.
Ces outils sont-ils vraiment gratuits à long terme ?
Oui. Siegfried2, Microsoft Presidio, moteurNER et Anonym-IA CamemBERT V2 sont publiés sous licences Apache 2.0 ou MIT, autorisant l’usage commercial perpétuel sans redevance. Ollama et LM Studio sont gratuits. Seul le matériel (MacBook ou station Linux) représente un investissement initial. Les modèles open source pèsent 3 à 40 gigaoctets, téléchargeables une fois puis réutilisables à volonté sans coût d’API.
Diag IA gratuit
Nous contacter
Parler à Eric




