Banc d'essai Hidden Tokens : détection par pack métier, et test de fuite
Nous ne vous demandons pas de croire un pourcentage. Voici ce que Hidden Tokens détecte dans chaque métier, mesuré sur des documents sur lesquels il n'a jamais été réglé, la comparaison avec Presidio, ce qui a changé dans la dernière version, ce qu'il rate encore, et de quoi vérifier chaque chiffre vous-même.
- Identifiants directs : ≥ 99 % dans chaque pack métier sur HT-Bench (100,0 % sur le jeu de test 2.28.0, 2 523/2 523). Le jeu de test, ce sont 366 documents synthétiques sur lesquels aucune règle du moteur n'a été réglée. Presidio 2.2.358, avec ses reconnaisseurs par défaut, a détecté 77,5 % (1 956/2 523) des mêmes valeurs, avec les mêmes règles de score.
- De 2.27.0 à 2.28.0 : identifiants directs 98,2 % → 100,0 % ; packs sous la cible de 99 % 3 → 0 ; documents dont le texte codé ne se décodait pas à l'identique 9 → 0 ; leurres codés 6,0 % → 5,8 %.
- Hidden Tokens code aussi moins ce qu'il ne faut pas coder : 5,8 % des leurres (montants, dates, articles de loi, mots courants) contre 37,6 % pour Presidio ; précision 87,4 % contre 54,7 %.
- C'est un banc synthétique. Un score parfait ici ne veut pas dire que Hidden Tokens attrape tout dans de vrais dossiers : adresses, dates de naissance et numéros de chèque sont encore parfois manqués, et le pack notariat n'est pas encore mesuré.
- Ces scores sont mis en perspective, avec l'audit des outils d'IA juridique par le CNB et une carte du marché, dans notre rapport annuel État de la confidentialité de l'IA 2026.
- À part, le test de fuite (connecteur 2.22.0) n'a trouvé rien d'identifiant lisible par l'IA dans 15 dossiers clients fictifs : 201/201 valeurs sensibles codées, montants réglés sur « protéger ».
HT-Bench : ce qui est détecté, pack par pack
HT-Bench est notre banc de détection. Il fait passer des documents synthétiques de chaque métier (transcriptions de centre d'appels, conclusions, bulletins de paie, comptes rendus médicaux, relevés bancaires, factures, dossiers KYC) dans le moteur Hidden Tokens, avec le pack du métier activé, et vérifie chaque valeur étiquetée : codée, codée en partie ou restée lisible. Les chiffres ci-dessous viennent d'un seul passage, le 25 octobre 2026, connecteur 2.28.0, sur le jeu de test : des documents tirés avec leur propre graine, sur lesquels aucune règle du moteur n'a été réglée.
| Pack | Docs | Identifiants directs détectés | Cible 99 % | Rappel, tous types | Précision | F1 | Leurres codés | Presidio, identifiants directs |
|---|---|---|---|---|---|---|---|---|
Télécom (Maroc)telecom-ma | 36 | 100,0 % (242/242) | atteinte | 100,0 % | 82,7 % | 90,5 % | 10,8 % (17/158) | 81,8 % (198/242) |
Juridique (France)juridique-fr | 36 | 100,0 % (276/276) | atteinte | 97,6 % | 87,2 % | 92,1 % | 9,7 % (29/300) | 82,2 % (227/276) |
Banque et assurancebanque-assurance | 96 | 100,0 % (652/652) | atteinte | 100,0 % | 81,7 % | 89,9 % | 3,7 % (25/676) | 64,4 % (420/652) |
Santésante | 36 | 100,0 % (204/204) | atteinte | 95,4 % | 82,7 % | 88,6 % | 11,3 % (27/240) | 86,3 % (176/204) |
Expertise comptableexpertise-comptable | 84 | 100,0 % (599/599) | atteinte | 98,5 % | 95,5 % | 96,9 % | 0,1 % (1/1 142) | 81,8 % (490/599) |
RH et paierh-paie | 36 | 100,0 % (228/228) | atteinte | 100,0 % | 89,3 % | 94,3 % | 19,9 % (74/372) | 72,4 % (165/228) |
Sans pack (documents généraux)core | 42 | 100,0 % (322/322) | atteinte | 98,4 % | 93,5 % | 95,9 % | 2,1 % (3/141) | 87,0 % (280/322) |
| Ensemble | 366 | 100,0 % (2 523/2 523) | tous atteints | 98,7 % | 87,4 % | — | 5,8 % (176/3 029) | 77,5 % (1 956/2 523) |
Notariat (Maroc)notariat-ma | 0 | non mesuré : pas encore de documents notariaux dans HT-Bench 0.2.0 | ||||||
Identifiants directs : noms, numéros de CIN, de passeport et de titre de séjour, NIR, CNSS, ICE, IF, RC, SIREN et SIRET, téléphones, e-mails, IBAN et RIB, IMEI et IMSI, numéros de carte et cryptogrammes. « Rappel, tous types » ajoute les autres valeurs étiquetées (adresses, raisons sociales, dates de naissance, BIC, numéros de dossier, de facture, de chèque, de police, de sinistre…). La précision est la part des passages codés qui recouvrent une valeur étiquetée ; elle baisse quand le moteur code des mots ordinaires. La ligne « sans pack » regroupe des documents généraux traités sans pack métier.
Ce qui a changé de 2.27.0 à 2.28.0
| Pack | Identifiants directs, 2.27.0 | 2.28.0 | Précision, 2.27.0 | 2.28.0 | Leurres codés, 2.27.0 | 2.28.0 |
|---|---|---|---|---|---|---|
Télécom (Maroc)telecom-ma | 100,0 % | 100,0 % | 82,7 % | 82,7 % | 10,8 % | 10,8 % |
Juridique (France)juridique-fr | 96,0 % | 100,0 % | 87,1 % | 87,2 % | 9,7 % | 9,7 % |
Banque et assurancebanque-assurance | 99,5 % | 100,0 % | 81,7 % | 81,7 % | 3,7 % | 3,7 % |
Santésante | 96,1 % | 100,0 % | 81,3 % | 82,7 % | 14,2 % | 11,3 % |
Expertise comptableexpertise-comptable | 99,3 % | 100,0 % | 95,5 % | 95,5 % | 0,1 % | 0,1 % |
RH et paierh-paie | 92,1 % | 100,0 % | 89,2 % | 89,3 % | 19,9 % | 19,9 % |
Sans pack (documents généraux)core | 99,7 % | 100,0 % | 93,5 % | 93,5 % | 2,1 % | 2,1 % |
| Ensemble | 98,2 % | 100,0 % | 87,2 % | 87,4 % | 6,0 % | 5,8 % |
En 2.27.0, 3 packs étaient sous 99 % à cause d'une poignée d'écritures. Le connecteur 2.28.0 corrige chacune :
- NIR écrits avec un tiret avant la clé (« … 407 - 86 ») : la clé restait lisible. Le moteur lit maintenant la clé après un tiret, et seulement si c'est la bonne clé pour ce numéro.
- Numéros d'affiliation CNSS employeur à sept chiffres sur les bulletins de paie marocains, quand un mot comme « employeur » sépare le sigle du numéro.
- RIB marocains et IBAN français écrits par groupes de quatre : leurs 16 premiers chiffres passent parfois le contrôle d'un numéro de carte, et la fin restait lisible. Les comptes bancaires sont maintenant reconnus avant les cartes.
- Noms à particule (« de La … », « Le … », « Ould … ») et noms à apostrophe : le dernier mot, ou la partie après l'apostrophe, restait lisible.
- Sortie abîmée dans les documents de santé : certaines règles de pack se déclenchaient au milieu d'un mot (un nom de médicament, « Lotissement »), ce qui donnait des codes imbriqués comme
NOM-001-002. Les règles de pack ne prennent plus que des mots entiers, et chacun des 366 documents codés se décode exactement en l'original.
Ces manques ont été lus et corrigés sur le jeu de développement. Rien n'a été réglé sur le jeu de test, mais il faut savoir deux choses : ses écarts en 2.27.0 étaient publiés sur cette page avant la correction, et c'étaient les mêmes écritures, puisque les deux jeux sortent des mêmes gabarits de documents. Le jeu de test montre donc que les corrections tiennent sur des valeurs et des tournures sur lesquelles le moteur n'a pas été réglé ; il ne dit pas comment Hidden Tokens traite une écriture pour laquelle personne n'a encore écrit de gabarit.
Ce qui est encore manqué
Toutes valeurs étiquetées confondues : 98,7 % détectées, 44 valeurs restées lisibles, toutes hors de la cible des identifiants directs : n° de chèque ou de LCN 75,0 % (12 sur 48 manqués), date de naissance 79,1 % (18 sur 86 manqués), adresse postale 92,4 % (14 sur 184 manqués). Le verrou de sortie, qui revérifie ce que l'IA reçoit par coder_texte, masque encore des codes déjà posés par un pack (24 en RH et paie), affichés « ••• » : la valeur est protégée, mais l'IA ne peut pas citer le code.
Par type d'entité : identifiants directs
| Type | Valeurs | Rappel | Dont partielles | Précision | F1 | Presidio, rappel |
|---|---|---|---|---|---|---|
| Noms de personnes | 965 | 100,0 % | 0 | 80,1 % (1 874/2 340) | 88,9 % | 82,2 % |
| CIN marocaine | 192 | 100,0 % | 0 | préfixe partagé* | — | 69,8 % |
| NIR (sécurité sociale, France) | 40 | 100,0 % | 0 | préfixe partagé* | — | 32,5 % |
| N° CNSS | 72 | 100,0 % | 0 | 100,0 % (72/72) | 100,0 % | 100,0 % |
| ICE | 159 | 100,0 % | 0 | 100,0 % (159/159) | 100,0 % | 66,0 % |
| Identifiant fiscal (IF) | 58 | 100,0 % | 0 | 100,0 % (31/31) | 100,0 % | 100,0 % |
| Registre de commerce (RC) | 53 | 100,0 % | 0 | 100,0 % (53/53) | 100,0 % | 88,7 % |
| SIREN | 24 | 100,0 % | 0 | préfixe partagé* | — | 70,8 % |
| SIRET | 31 | 100,0 % | 0 | préfixe partagé* | — | 58,1 % |
| Téléphones | 462 | 100,0 % | 0 | 100,0 % (430/430) | 100,0 % | 87,9 % |
| E-mails | 200 | 100,0 % | 0 | 100,0 % (200/200) | 100,0 % | 100,0 % |
| IBAN | 55 | 100,0 % | 0 | préfixe partagé* | — | 56,4 % |
| RIB | 109 | 100,0 % | 0 | préfixe partagé* | — | 5,5 % |
| IMEI | 24 | 100,0 % | 0 | 100,0 % (24/24) | 100,0 % | 58,3 % |
| IMSI | 19 | 100,0 % | 0 | 100,0 % (19/19) | 100,0 % | 100,0 % |
| Numéro de carte bancaire | 24 | 100,0 % | 0 | 55,8 % (24/43) | 71,6 % | 62,5 % |
| Cryptogramme (CVV) | 12 | 100,0 % | 0 | 100,0 % (12/12) | 100,0 % | 0,0 % |
| Passeport, titre de séjour, permis | 24 | 100,0 % | 0 | 100,0 % (12/12) | 100,0 % | 33,3 % |
* La précision par type se compte par préfixe de code, et certains types en partagent un : le préfixe CIN sert aussi aux NIR et aux passeports, le préfixe RIB aux IBAN et aux RIB, le préfixe SIREN aux SIRET et aux références génériques. Pour ces types, une précision par type n'aurait pas de sens : elle n'est pas affichée (elle figure dans le JSON brut) ; c'est la précision par pack, plus haut, qui mesure le sur-codage. Pour les noms, la précision de 80,1 % vient de ce que le moteur code comme nom les mots à majuscule qu'il ne connaît pas : c'est protecteur, mais l'IA a moins à lire.
Autres types étiquetés (mesurés, hors cible de 99 %)
| Type | Valeurs | Rappel | Dont partielles | Précision | F1 | Presidio, rappel |
|---|---|---|---|---|---|---|
| BIC / SWIFT | 24 | 100,0 % | 0 | — | — | 8,3 % |
| ICCID (carte SIM) | 12 | 100,0 % | 0 | 100,0 % (12/12) | 100,0 % | 16,7 % |
| Adresse postale | 184 | 92,4 % | 0 | 100,0 % (173/173) | 96,0 % | 85,3 % |
| Raison sociale | 279 | 100,0 % | 0 | 64,9 % (279/430) | 78,7 % | 1,8 % |
| Date de naissance | 86 | 79,1 % | 0 | 100,0 % (68/68) | 88,3 % | 66,3 % |
| N° de patente | 5 | 100,0 % | 0 | 100,0 % (5/5) | 100,0 % | 100,0 % |
| N° de TVA intracommunautaire | 7 | 100,0 % | 0 | 100,0 % (7/7) | 100,0 % | 28,6 % |
| Matricule salarié | 24 | 100,0 % | 0 | 100,0 % (24/24) | 100,0 % | 33,3 % |
| N° de dossier patient | 24 | 100,0 % | 0 | 100,0 % (24/24) | 100,0 % | 100,0 % |
| Identifiant praticien (INPE, RPPS) | 36 | 100,0 % | 0 | 100,0 % (36/36) | 100,0 % | 100,0 % |
| N° de police d'assurance | 12 | 100,0 % | 0 | 100,0 % (12/12) | 100,0 % | 0,0 % |
| N° de sinistre | 12 | 100,0 % | 0 | 100,0 % (12/12) | 100,0 % | 16,7 % |
| N° de facture | 48 | 100,0 % | 0 | 100,0 % (24/24) | 100,0 % | 25,0 % |
| N° RG / parquet | 48 | 100,0 % | 0 | 100,0 % (36/36) | 100,0 % | 8,3 % |
| Immatriculation | 24 | 100,0 % | 0 | 100,0 % (24/24) | 100,0 % | 37,5 % |
| N° de chèque ou de LCN | 48 | 75,0 % | 0 | 100,0 % (36/36) | 85,7 % | 100,0 % |
| N° de contrat ou de dossier de crédit | 24 | 100,0 % | 0 | — | — | 87,5 % |
Face à Presidio
Nous avons fait passer Microsoft Presidio sur les mêmes 366 documents, noté par le même code (lib/score.mjs) : toute étendue rendue par Presidio compte comme un passage codé. Configuration : presidio-analyzer 2.2.358 tel que livré, AnalyzerEngine avec ses reconnaisseurs par défaut, spaCy 3.8.7 avec en_core_web_lg 3.8.0 et fr_core_news_lg 3.8.0, chaque document analysé en anglais et en français, union des étendues, sans seuil : le réglage le plus favorable à son rappel. Il a tourné sur le même ordinateur, sockets et DNS coupés avant l'import de Presidio.
- Identifiants directs : Hidden Tokens 100,0 %, Presidio 77,5 %. Toutes les valeurs étiquetées : 98,7 % contre 68,7 %.
- Les reconnaisseurs par défaut de Presidio n'en comptent aucun pour les formats marocains (CIN, ICE, RIB), et il n'étiquette pas les raisons sociales (rappel 1,8 %). Ce qu'il attrape sur ces documents vient surtout de reconnaisseurs faits pour les formats d'autres pays (permis de conduire américain, PAN indien, compte bancaire américain…), qui signalent presque n'importe quel code ou long nombre. C'est ainsi qu'il atteint 100 % sur les CNSS, IF et IMSI, et c'est pourquoi il a codé 37,6 % des leurres.
- Presidio est une boîte à outils faite pour recevoir vos propres reconnaisseurs. Cette comparaison oppose ses réglages par défaut à un produit fini, pas à ce qu'une équipe d'ingénieurs pourrait construire avec Presidio.
Méthode
- Données synthétiques uniquement. Les noms sont des prénoms et patronymes marocains, maghrébins et français courants, recombinés au hasard, en caractères latins. Les numéros sont tirés au hasard puis complétés par leur clé de contrôle (Luhn, mod 97…) : ils ont la forme d'un vrai numéro et ne désignent personne. Aucun vrai dossier, même « anonymisé », et aucun appel réseau.
- Jeu de test tenu à l'écart. HT-Bench 0.2.0 a deux jeux tirés des mêmes gabarits. Nous lisons les manques et réglons le moteur sur le jeu de développement (graine
ht-bench-v0). Le jeu de test (graineht-bench-v0-test, SHA-2564881c8d2bc9febe584e4dab351739c8bd00858a20eab834c15993fcace79e10b) a d'autres valeurs et d'autres tournures ; moins de 1 % de ses identifiants figurent aussi dans le jeu de développement. Tout chiffre publié vient du jeu de test. Si une règle était un jour écrite après avoir regardé un manque du jeu de test, nous changerions sa graine et le dirions. - Taille. 366 documents, 3 420 valeurs étiquetées (dont 2 523 identifiants directs) et 3 029 leurres qui doivent rester lisibles.
- Ce qui est mesuré. Chaque document passe par le vrai connecteur, en Model Context Protocol (
anonymiser_fichiersur un fichier texte, le même codage quecoder_texteet que pour un PDF), avec le pack du document activé comme dans l'appli et une clé neuve pour chaque document. Nous lisons le fichier codé écrit sur le poste, le réalignons sur l'original, et vérifions qu'une fois décodé avec sa clé il rend exactement l'original. - Ce qui compte comme détecté. Une valeur n'est détectée que si toutes ses lettres et tous ses chiffres sont sous un code. Les particules d'un nom (Ben, El, Aït, Ould, de, Le…) et, dans une adresse, les numéros courts et les mots de structure (n°, rue, Douar…) peuvent rester en clair. Une valeur codée en partie est manquée. Le rappel compte une valeur comme protégée quel que soit le préfixe de son code. Un leurre est codé à tort dès qu'un de ses caractères l'est. F1 = 2PR / (P + R).
Limites
- Notre propre banc, sur des documents synthétiques. Ce n'est pas un audit indépendant, et 100,0 % ici n'est pas une promesse sur vos dossiers. Un texte synthétique est plus propre qu'un vrai dossier : pas d'erreurs d'OCR, pas de mise en page cassée, pas d'écriture manuscrite, pas d'écriture hors de nos gabarits. C'est pourquoi Hidden Tokens montre un plan avant de coder et garde un journal local de tout ce que l'IA a reçu.
- Mêmes gabarits dans les deux jeux. Le jeu de test vérifie des valeurs et des tournures inédites pour les écritures que nous modélisons, pas des écritures inédites.
- Texte seulement. Le mode tableau d'Excel et les documents Word ne sont pas notés par HT-Bench (le test de fuite, plus bas, les couvre sous un autre angle). Un seul pack par document, sans politique de cabinet.
- L'écriture arabe n'est pas couverte, seulement la translittération latine des noms arabes.
- Pack notariat non mesuré. Le pack
notariat-maest livré avec le connecteur, mais HT-Bench 0.2.0 ne contient pas encore d'actes notariés.
Le reproduire
Tout est dans le dépôt public ai4x-apps, commit 205cbba (connecteur 2.28.0). Le passage prend une demi-minute environ ; la comparaison avec Presidio, une minute.
git clone https://github.com/ai4xedu/ai4x-apps && cd ai4x-apps
git checkout 205cbba42de7feaa01d20430ddd6523d4f970163
cd apps/mcp-anonymiseur && npm ci
node bench/ht-bench/generer.mjs --verifier # les documents sont bien ceux des graines
npm run bench:ht:test # → bench/ht-bench/resultats/test/RAPPORT.md
# Facultatif, Presidio : un environnement Python à part, installé une fois (seule étape qui touche au réseau)
cd bench/ht-bench/comparaison
uv venv -p 3.12 .venv && VIRTUAL_ENV=.venv uv pip install -r requirements.txt "preshed==3.0.9"
cd ../../.. && npm run bench:ht:comparer # → bench/ht-bench/resultats/test/comparaison.md
Nous fixons preshed à la 3.0.9 : la 3.0.14, installée par défaut en octobre 2026, empêche spaCy 3.8.7 de charger ses modèles. Cela ne change aucun résultat.
Résultats bruts : ht-bench-2.28.0.json (JSON, 190 Ko environ) : versions, graine, empreinte, tous les tableaux de cette page et la sortie complète des deux passages. Citez ce fichier pour ces chiffres. Chaque version qui change la détection a le sien, et les précédents restent en ligne : ht-bench-2.27.0.json.
Test de fuite : ce que l'IA peut encore lire
HT-Bench mesure la détection valeur par valeur. Le test de fuite pose une autre question : une fois un dossier codé par Hidden Tokens, l'IA peut-elle encore lire une valeur sensible ? Nous ne regardons pas ce que Hidden Tokens pense avoir détecté. Nous rassemblons tout ce que Claude pourrait lire et nous y cherchons chaque vraie valeur. Passage sur le connecteur 2.22.0, le 24 octobre 2026.
- Le corpus : 15 documents clients fictifs, écrits comme de vrais dossiers : conclusions prud'homales, assignation en bail commercial, notes de rendez-vous client, mise en demeure, attestation de témoin, bordereau de pièces, e-mail client en anglais, facture, état de paie, liste d'impayés, contrat de prêt, note d'audit mêlant français et darija, journal de paiements par carte, litige de rétrofacturation et liste de flotte automobile. Formats : Markdown, Excel et PDF ; le même passage est refait avec les documents texte en Word.
- La vérité terrain : 201 valeurs sensibles listées à la main, en 11 catégories.
- Ce que l'IA peut voir : le banc pilote le vrai connecteur Hidden Tokens en Model Context Protocol, exactement comme Claude Desktop : lister le dossier, montrer le plan, coder fichier par fichier, puis coder tout le dossier. Il rassemble chaque réponse d'outil, chaque fichier codé (contenu, nom de fichier, noms de feuilles) et le rapport de lot : 49 sorties en tout.
- Ce qui compte comme fuite : une valeur fuit si elle apparaît une fois, n'importe où. Les numéros sont comparés chiffres seuls : « 06 48 27 19 53 » et « 0648271953 » sont la même valeur.
Résultats
| Catégorie | Valeurs | Codées, montants « protéger » | Codées, réglage « auto » par défaut |
|---|---|---|---|
| Noms | 95 | 95 | 95 |
| Sociétés | 15 | 15 | 15 |
| Adresses | 9 | 9 | 9 |
| Téléphones et e-mails | 13 | 13 | 13 |
| IBAN et coordonnées bancaires | 9 | 9 | 9 |
| Numéros de carte bancaire | 8 | 8 | 8 |
| Pièces d'identité (CIN, sécurité sociale, passeport, permis) | 10 | 10 | 10 |
| Identifiants d'entreprise (SIRET, ICE, IF, RC, CNSS…) | 16 | 16 | 16 |
| Références de dossier (RG, contrat, sinistre) | 4 | 4 | 4 |
| Immatriculations | 4 | 4 | 4 |
| Montants de tableur | 18 | 18 | 7 |
| Total | 201 | 201 (100 %) | 190 (94,5 %) |
Les deux colonnes ne diffèrent que sur les montants. En « auto », les 11 montants laissés lisibles étaient des lignes de facture, des créances et des totaux de paiements par carte ; les chiffres de paie étaient codés. C'est le comportement choisi après nos essais avec des clients : un montant de facture seul n'identifie personne, et l'IA en a besoin pour faire des totaux et des graphiques. Si vos chiffres sont confidentiels, réglez le dossier sur « protéger » une fois dans l'appli : chaque nombre devient un code cohérent, remis en clair sur votre poste ensuite.
Garder le document utilisable
Tout coder serait facile et inutile : l'IA recevrait un mur de codes. Nous mesurons donc aussi ce qui doit rester lisible.
- Termes du métier qui doivent rester lisibles (juridictions, sources du droit, produits, statuts) : 52 sur 56 gardés (92,9 %). Les quatre perdus : « Conseil de prud'hommes », « Tribunal judiciaire », un modèle d'utilitaire et l'expression « non attribuée ».
- Mots ordinaires, tous documents confondus : 548 sur 634 gardés lisibles (86,4 %).
Limites connues du test de fuite
- Le texte anglais est sur-codé. Dans l'e-mail client en anglais, seuls 11 mots ordinaires sur 30 sont restés lisibles : des mots comme « Dear », « please » ou « Friday » ont été codés. Rien n'a fui, mais l'IA a moins de matière. Le moteur a d'abord été construit pour les documents français et marocains ; l'anglais est notre correction prioritaire.
- Les listes de lieux et de marques dans les tableurs (magasins, modèles de voiture) sont souvent codées alors qu'elles pourraient rester lisibles : 57,7 % et 50 % des mots ordinaires gardés dans les deux pires fichiers.
- C'est notre propre banc, sur des données fictives, pas un audit indépendant. Il montre la méthode et la tendance d'une version à l'autre ; il ne prouve pas que chaque vrai dossier sera traité parfaitement.
Le banc (bench/run.mjs) et le corpus fictif (bench/corpus.mjs) sont dans le dépôt ai4x-apps. Lancez node bench/run.mjs pour le réglage par défaut, avec ANX_CHIFFRES=gabarit pour protéger tous les montants, ou avec --word pour passer les documents texte en Word.
Sur vos propres dossiers, vous n'avez pas besoin de nous croire non plus : la page locale « Ce que Claude a vu » revérifie chaque réponse reçue par l'IA à l'aide de votre clé. Voir les preuves.
Questions fréquentes
100,0 % sur HT-Bench, cela veut-il dire que Hidden Tokens ne rate jamais rien ?
Non. Cela veut dire que chaque identifiant direct de nos documents de test synthétiques a été codé par le connecteur 2.28.0. Les vrais dossiers sont plus variés : autres mises en page, erreurs d'OCR, écritures que nous n'avons pas modélisées. C'est pourquoi Hidden Tokens montre un plan avant de coder, signale les identifiants indirects et garde un journal local de tout ce que l'IA a reçu, pour que vous puissiez vérifier.
Contre quelle configuration de Presidio avez-vous comparé ?
presidio-analyzer 2.2.358 tel que livré : AnalyzerEngine avec ses reconnaisseurs par défaut, spaCy 3.8.7 avec en_core_web_lg 3.8.0 et fr_core_news_lg 3.8.0, chaque document analysé en anglais et en français, union des étendues, sans seuil, hors ligne. Presidio est une boîte à outils faite pour recevoir vos propres reconnaisseurs ; nous avons mesuré ses réglages par défaut, pas ce qu'une équipe pourrait construire dessus.
Pourquoi le réglage par défaut laisse-t-il certains montants lisibles ?
Parce qu'un total de facture, une quantité ou un taux est d'ordinaire ce sur quoi l'IA doit travailler, pas un secret. Hidden Tokens classe chaque colonne de chiffres d'après son en-tête : paie, chiffre d'affaires, résultats ou soldes sont protégés ; les montants ordinaires restent lisibles. Le plan montre le choix de chaque colonne, et vous pouvez passer une colonne, ou tout le dossier, en « protéger ».
Puis-je reproduire le banc d'essai ?
Oui. Les deux bancs et leurs données synthétiques sont dans le dépôt public ai4x-apps. HT-Bench régénère ses documents à partir de graines fixes et vérifie leur empreinte SHA-256, puis pilote le connecteur Hidden Tokens par le même protocole que Claude Desktop. Les résultats bruts de chaque passage sont publiés en JSON.