Anonymisez les données personnelles avant qu'elles n'atteignent le modèle
piighost est une bibliothèque Python pour créer des pipelines d'anonymisation de données personnelles. Elle remplace les informations sensibles par des jetons stables que le modèle peut utiliser, puis restitue les vraies valeurs à vos outils et à vos utilisateurs. Votre code d'agent ne change pas.
Hi, this is Patrick Dupont from Acme Corp. My order #ACME-9123 should be delivered to 12 rue de la Paix, Paris. You can reach me by email at patrick.dupont@acme.com or by phone at +33 6 12 34 56 78.
Le problème
Vous ne devriez pas avoir à choisir entre de bons modèles et la confidentialité
Les clouds hébergés exposent les données brutes
OpenAI, Anthropic et Google proposent les meilleurs modèles du marché. Mais chaque octet de contexte que vous leur envoyez, y compris les données personnelles brutes, quitte votre juridiction dès que la requête part sur le réseau. Une seule invite devient une exportation de données.
Les modèles locaux sacrifient la qualité
L'auto-hébergement garde les données dans votre réseau, mais vous renoncez à une partie de l'état de l'art et vous prenez en charge la facture GPU et les mises à jour. Le gain en confidentialité s'accompagne d'un coût opérationnel permanent, et le modèle que vous pouvez faire tourner est rarement celui que vous voudriez utiliser.
La conformité n'attend pas
Le RGPD, HIPAA et les règles de résidence des données s'appliquent que votre stack ait été conçu avec elles ou non. Envoyer des données personnelles brutes à un tiers est une responsabilité que vous ne pouvez pas effacer une fois la requête partie, et cela soumet chaque décision produit ultérieure à une revue juridique.
Interdire, c'est renoncer aux gains
Certaines équipes réagissent en interdisant purement et simplement les LLM hébergés. Cela protège les données, mais cela renonce aussi aux gains de productivité que tous les autres captent, et les gens contournent l'interdiction de toute façon en collant leur travail dans des comptes personnels que l'entreprise ne voit pas.
Pourquoi piighost
Plus qu'un détecteur de PII
Repérer les données sensibles, c'est le plus facile. piighost fournit tout le reste : des détecteurs que vous composez, des jetons que vous pouvez annuler, la cohérence sur toute une conversation, et un pipeline que vous exécutez à vos conditions.
Détecteurs composables
Combinez des détecteurs regex, NER et LLM dans un même pipeline et gardez ceux en qui vous avez confiance. Un découpage intégré fractionne les longs documents, si bien que même les gros fichiers sont entièrement couverts.
Jetons réversibles et transparents
Chaque valeur devient un jeton stable, restitué automatiquement. Vos utilisateurs et vos outils voient toujours les vraies données, tandis que le modèle ne voit jamais que le jeton.
Cohérent sur toute une conversation
Une même valeur conserve le même jeton sur toute une conversation, à travers chaque message, appel d'outil et agent. Rien ne dérive, si bien que le modèle ne perd jamais le fil de qui est qui.
Piloté par config, auto-hébergé
Décrivez un pipeline entier dans un seul fichier de configuration et exécutez-le entièrement sur votre propre infrastructure. Rien ne sort de chez vous, et aucun service tiers à qui faire confiance.
Fonctionnement
Une couche entre votre agent et le modèle
Message utilisateur
Hi, this is Patrick Dupont. Could you forward this to Marie Lambert and Jean Moreau? My email is patrick.dupont@acme.com, and you can also cc marie.lambert@acme.com. The case ID is #ACME-9123.
piighost exécute vos détecteurs sur le message et indique chaque donnée personnelle trouvée : noms, e-mails, identifiants, tout ce que le modèle n'a pas besoin de voir. Les détections qui se chevauchent entre plusieurs détecteurs sont arbitrées par niveau de confiance avant tout remplacement.
L'écosystème
Une couche de confidentialité, plusieurs projets
Commencez avec la bibliothèque. Ajoutez le serveur, la démo de chat et le correcteur de CV au fil de votre croissance.
piighost
La bibliothèque centrale. Construisez des pipelines d'anonymisation pour vos agents IA.
Learn morepiighost-api
Un serveur REST qui héberge un pipeline piighost derrière HTTP.
Learn morepiighost-chat
Un chatbot de démonstration qui anonymise les messages avant que le LLM ne les voie.
Learn morepiighost-proofreader
Un relecteur de CV par LLM qui anonymise les documents avant tout appel au LLM.
Learn more<<PROJECT_NAME:2b1f4a>>
À venir.
<<PROJECT_NAME:7c43e9>>
À venir.
<<PROJECT_NAME:9af0d2>>
À venir.
<<PROJECT_NAME:1e8c75>>
À venir.
<<PROJECT_NAME:f30b86>>
À venir.
Démarrage rapide
Branchez-le sur votre framework d'agent
Ajoutez piighost au framework que vous utilisez déjà. Votre code d'agent reste le même.
uv add 'piighost[langchain,gliner2]'from langchain.agents import create_agent
from piighost.components.detector.ner import Gliner2Detector
from piighost.pipeline import ThreadAnonymizationPipeline
from piighost.integrations.langchain import PIIAnonymizationMiddleware
# Any detector works: regex, NER, or an LLM. Here a GLiNER2 NER model.
detector = Gliner2Detector("fastino/gliner2-multi-v1", labels=["PERSON", "LOCATION"])
pipeline = ThreadAnonymizationPipeline(detector)
middleware = PIIAnonymizationMiddleware(pipeline=pipeline)
agent = create_agent(
model="openai:gpt-5.6-terra",
tools=[lookup_city],
middleware=[middleware],
)
# The model only sees "<<PERSON:1>>"; lookup_city still receives "Patrick".Questions fréquentes
Pourquoi anonymiser plutôt qu'héberger le modèle soi-même ?
<<PERSON:1>> quittent votre infrastructure, donc le risque de fuite est neutralisé quel que soit le fournisseur. C'est une couche de défense, pas une solution miracle. La page Philosophie détaille tout le compromis.De quoi ai-je besoin pour faire tourner piighost en production ?
pip install 'piighost[config]' suffit pour un pipeline uniquement regex ; ajoutez transformers, gliner2 ou llm selon le détecteur, et cache pour une correspondance partagée via Redis. Enregistrez votre pipeline dans un fichier TOML et chargez-le avec load_pipeline. Le NER classique et GLiNER téléchargent un modèle ONNX au premier usage et tournent sur CPU ; la regex ne demande rien de plus ; le détecteur LLM nécessite un fournisseur et une clé d'API. Quand plusieurs processus doivent partager un même point d'accès, déployez piighost-api plutôt que d'embarquer la bibliothèque.Puis-je utiliser piighost avec Claude Code ?
<<PERSON:1>> arrivent jusqu'à Claude, et les vraies valeurs sont restaurées dans la réponse. Enveloppez n'importe quel appel à Claude depuis Python, directement ou via LangChain, Pydantic AI ou LlamaIndex. Il n'existe pas d'extension dédiée pour la CLI Claude Code elle-même, car piighost protège les prompts et les données que vous envoyez, pas l'outil avec lequel vous les envoyez.Est-ce que je peux utiliser piighost avec LangChain, Pydantic AI ou LlamaIndex ?
<<PERSON:1>>, jamais sur les vraies valeurs.Est-ce que piighost est conforme au RGPD, et comment fonctionnent les jetons stables ?
<<PERSON:1>> partout), donc le modèle garde le contexte pendant que la vraie valeur reste hors de sa portée.Mes données restent-elles locales ? Qu'est-ce qui est réellement envoyé au modèle ?
<<PERSON:1>>. La correspondance entre les jetons et les vraies valeurs reste de votre côté et n'est jamais envoyée. Après la réponse du modèle, piighost restaure localement les valeurs d'origine pour que vos utilisateurs voient les vraies données.Livrez des fonctionnalités IA sans livrer les données de vos utilisateurs
Installez piighost, branchez votre détecteur et gardez les données personnelles hors du modèle.