Mécanisme
Ce que fait l’agent, exactement.
Un seul pipeline, quel que soit le fournisseur et quel que soit le mode. Voici ce qu’il reconnaît, ce qu’il écrit à la place, et ce qu’il rend au retour.
Sur le poste · La requête
Ce que reçoit le fournisseur · La requête
Sur le poste · La réponse
Ce que reçoit le fournisseur · La réponse
Les sosies ont la forme exacte de l’original et une somme de contrôle volontairement invalide : aucun NIR, IBAN ou numéro de carte généré ne peut désigner une personne réelle. Un secret, lui, ne reçoit jamais de sosie : il part toujours en jeton, même en mode sosie. C’est ce qui rend la restauration sûre — aucune valeur remise en place ne peut être confondue avec une clé vivante.
Ce que l’agent reconnaît
Le catalogue est ordonné, et l’ordre fait partie de la correction : le motif le plus spécifique doit atteindre une valeur avant le plus large, sans quoi un préfixe de clé fournisseur serait avalé par un motif générique. Là où une clé de contrôle existe — NIR, SIREN, SIRET, IBAN, carte bancaire, numéro NHS, routage ABA — elle tranche seule : quinze chiffres dont la clé est fausse ne sont pas un NIR faible, ils ne sont pas un NIR, et aucun réglage ne peut en faire un. Les jeux nationaux se chargent à la demande, et rien ne se charge par défaut : lire les données d’un pays avec les motifs d’un autre vaut moins que de ne rien lire.
- Coordonnées et identité
- Courriel, téléphone, adresse postale, code postal, date de naissance, plaque d’immatriculation
- Identifiants nationaux
- France : NIR, SIREN, SIRET · Royaume-Uni : numéro NHS, NINO · États-Unis : SSN, EIN, numéro de routage ABA
- Toujours actifs, quelle que soit la locale
- IBAN de tout pays émetteur, carte bancaire, adresses IPv4 et IPv6, dates ISO, identifiants de base
- Secrets
- Clés d’une vingtaine de fournisseurs, clés AWS, jetons GitHub, GitLab, Slack, npm, clés privées PEM, JWT, chaînes de connexion, mots de passe et cookies de session en clair
Deux façons de remplacer une valeur
Le mode vaut pour toute la flotte et se lit dans le battement, ce qui permet au RSSI de vérifier d’un coup d’œil qu’aucun poste ne s’en écarte. Il se change sans redémarrer l’agent — comme les locales chargées, le niveau de secret et chaque catégorie prise séparément — le temps d’un échange que l’on veut regarder de près. Une catégorie coupée laisse la valeur partir en clair, et le battement la nomme aussitôt. Ce qui doit tenir au-delà d’un redémarrage s’écrit dans la configuration, jamais en ligne de commande.
Jeton — [EMAIL_1]
La valeur devient une variable numérotée. Le prompt reste sans ambiguïté pour un modèle qui doit manipuler des identifiants, et la restauration est totale au retour. C’est le mode à choisir quand la sortie est destinée à une machine.
Sosie — margaux.lefeuvre@example.net
La valeur devient une autre valeur de même forme. Le prompt reste de la prose, ce que les modèles traitent nettement mieux qu’une suite de marqueurs. Le sosie est indexé, jamais aléatoire : la même valeur d’origine donne toujours le même sosie dans une session.
L’exception : les secrets
Un secret ne reçoit jamais de sosie : il part toujours en jeton, y compris quand le reste de la flotte tourne en mode sosie. C’est délibéré, et c’est ce qui rend le mode sosie sûr. La restauration, elle, procède par correspondance de texte — un sosie est reconnu à sa propre forme pour être remplacé. Si un secret pouvait recevoir un sosie, ce chemin serait capable de fabriquer une clé d’apparence valide dans une réponse ; comme un secret n’existe qu’en jeton, il ne peut être remis en place que là où le coffre a effectivement noté une valeur. Un secret est donc restauré comme les autres valeurs, et c’est voulu : votre outil doit retrouver la clé qu’il vous a demandée. Ce que Neverseen garantit n’est pas qu’une clé ne revienne pas, c’est qu’aucune clé ne soit inventée. Un secret ne se coupe pas non plus, quel que soit le nom sous lequel on le désigne. Une clé reconnue à son préfixe — « sk-ant- », « gsk_ » — est masquée quoi qu’il arrive ; pour tout le reste, un niveau de force décide. Faible masque jusqu’aux mots ordinaires et noie le code source ; fort ne masque que ce que personne n’a tapé à la main, et c’est le niveau auquel on relit du code sans voir ses identifiants disparaître.
Le coffre de session
En mémoire
La correspondance vit dans le processus de l’agent. Rien n’est écrit sur disque, rien ne transite sur le réseau.
Chiffré
AES-256-GCM avec une clé propre au poste, générée à l’installation et jamais transmise.
Éphémère
Une session expire au bout de trente minutes d’inactivité. La correspondance disparaît avec elle.
Sans collision
Chaque générateur a une capacité connue et ne repasse jamais dessus : deux valeurs d’origine ne peuvent pas partager un sosie.
Fournisseurs et flux
L’agent expose une adresse locale à vos outils et route vers le fournisseur configuré, avec vos propres clés. Changer de fournisseur est une ligne de configuration, pas une réécriture d’intégration. Les réponses en flux sont réhydratées ligne à ligne par le même pipeline que les réponses JSON — le streaming n’est pas un chemin dérivé où le masquage se relâcherait.
Fournisseurs pris en charge
- Anthropic
- OpenAI
- Google Gemini
- Mistral
- Groq
- Together
- DeepInfra
- xAI