Mesuré
Chaque chiffre, avec sa date, sa machine et son fichier d'origine
Cette page rassemble les mesures que cite le reste du site. Chaque tableau nomme le jour où elle a été prise et la machine sur laquelle elle a tourné, et un test relit chaque nombre dans le fichier qui l'a produit : quand ce fichier bouge et que la page ne bouge pas, la construction passe au rouge.
Ce qui n'y figure pas, c'est ce que personne n'a mesuré. Là où la source n'enregistre pas la machine, la page le dit au lieu d'en inventer une ; là où le corpus est synthétique, la phrase qui le dit voyage avec le nombre.
Le moteur déterministe, sur le corpus adverse
La couche contrôlée par clé de vérification : pièces d'identité, IBAN, cartes, clés et jetons. Deux pistes sur le même générateur — les valeurs écrites entre des espaces, et les mêmes valeurs écrites comme les gens les écrivent : collées à un chiffre isolé, préfixées, en chiffres arabes orientaux, portant une marque combinante.
Corpus : 1 000 documents en quatre langues, 4 522 entités étiquetées, 443 724 caractères. Machine : Apple M4 Pro, macOS 15.7.4, CPython 3.13.7.
| Piste | Graine | Précision | Rappel | Fuite résiduelle | Surface de fuite partielle | Aller-retour |
|---|---|---|---|---|---|---|
| Coopérative | 1234 | 1,0000 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Coopérative | 42 | 1,0000 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Coopérative | 7 | 1,0000 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Adverse | 1234 | 0,9940 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Adverse | 42 | 0,9874 | 0,9989 | 0,00 % | 0 | 0,999641 |
| Adverse | 7 | 0,9894 | 1,0000 | 0,00 % | 0 | 1,000000 |
Mesuré le 9 août 2026 · 1 000 documents par passe, trois graines, les deux pistes.
Les trois lignes adverses sont publiées avec les autres : deux d'entre elles passent sous les seuils affirmés par l'intégration continue, parce que celle-ci ne tire qu'une graine et que ce tableau en tire trois. Ce qui tient sur les six passes, c'est la paire sur laquelle se juge une frontière de fuite de données : fuite résiduelle à zéro et surface de fuite partielle à zéro.
Documents, dans la passerelle
Extraction et détection sur le corpus de documents, une requête à la fois. Ce sont des chiffres de requête unique : les deux étapes sont liées au processeur et l'interpréteur les sérialise, donc ce qui gouverne la concurrence, c'est le sémaphore de documents et la réserve de processus, pas ce tableau.
| Document | Extraction | Détection | Total | Valeurs trouvées |
|---|---|---|---|---|
| PDF d'une page avec couche de texte | 1,3 ms | 1,9 ms | 3,2 ms | 6/6 |
| Document Word : corps et propriété d'auteur | 0,6 ms | 2,1 ms | 2,7 ms | 6/6 |
| Feuille de calcul : cellules, nom de feuille et propriétés | 1,4 ms | 1,1 ms | 2,5 ms | 6/6 |
Mesuré le 29 août 2026 sur fernando · AMD EPYC-Genoa, 16 vCPU, 30 GB.
- Le même travail dans le navigateur
- 92 ms de bout en bout pour un PDF d'une page de 3 Mo
Le chemin du navigateur est une autre implémentation (pdf.js et pdf-lib) et le banc d'essai dit qu'il n'est pas comparable aux lignes ci-dessus : il est donc publié sur sa propre ligne et jamais à l'intérieur de ce tableau.
Déterministe face au TAL
La couche déterministe ne cherche pas les noms de personnes ; c'est le travail de la couche de TAL. Voici ce que laisse derrière elle chaque pile sur le même corpus : la part des valeurs PERSON et LOCATION de l'or encore présentes dans le texte sortant.
Corpus : 400 documents, 800 entités de l'or, graine 2026.
| Pile | Fuite résiduelle | Valeurs | Temps d'horloge |
|---|---|---|---|
| NER nul (contrôle) | 100,000 % | 800/800 | 0,1 s |
| Déterministe + Presidio | 4,875 % | 39/800 | 3,3 s |
| Déterministe + Presidio + GLiNER | 0,000 % | 0/800 | 7,1 s |
Mesuré le 12 septembre 2026 · machine : development laptop.
Le zéro n'est pas une promesse de zéro en production : le corpus est synthétique et ses entités de l'or ne sont que PERSON et LOCATION, il ne dit donc rien de la prose réelle, ni des adresses, ni des catégories particulières. La ligne de contrôle à cent pour cent est ce qui rend le zéro lisible : sans elle, un zéro ne se distingue pas d'une échelle cassée.
Les trois piles de noms
Ce qu'ajoute le modèle multilingue, sur le corpus étiqueté du projet lui-même. Cette mesure est la raison pour laquelle il est livré éteint.
Corpus : 300 documents, 50 par langue, 6 langues.
| Pile | Par document | Rappel | Précision | Rappel en catalan |
|---|---|---|---|---|
| Presidio | 3 ms | 0,990 | 0,905 | 1,000 |
| Presidio + GLiNER | 13 ms | 1,000 | 0,830 | 1,000 |
| + GLiNER multilingue | 72 ms | 1,000 | 0,787 | 1,000 |
Mesuré le 12 septembre 2026.
Le modèle multilingue ne trouve aucun nom que les deux autres couches ne trouvent déjà, y compris en catalan — Presidio porte son propre modèle catalan. Il prend 5,5 fois plus de temps et marque 39 segments de plus qui ne sont pas des noms : le même texte de 10 000 caractères passe de 1 118 ms à 3 081 ms.
La source enregistre la date et le corpus de cette comparaison, pas la machine. Ce qui se transporte d'une machine à l'autre, c'est le rapport entre les trois configurations, pas les millisecondes.
Ce corpus est synthétique : un rappel de un n'est donc pas une affirmation sur l'écriture réelle. La fuite résiduelle publiée de la couche de noms est celle du tableau ci-dessus.
Le plan de noms : mémoire et workers
Mesuré le 12 septembre 2026 dans l'image du plan sur un CCX33 · Falkenstein. Rien n'est partagé entre les processus : le nombre de workers est donc une division et non une préférence.
- Interpréteur vide
- 26 Mo
- Modèles chargés
- 3 331 Mo, en 13,9 s
- Après une invite de 10 000 caractères
- 3 412 Mo
- Workers
- 6 processus, 20,5 Go. Huit feraient 27,3 Go, au-dessus du plafond de 26 Go que fixe le compose.
Le tableau de latence de ce plan — p95 par taille de texte plus l'aller-retour mesuré — est publié sur Comment ça marche et n'est pas recopié ici.
Face à ce que les fournisseurs ont conservé
Mesuré le 19 septembre 2026 avec l'extension 0.9.0, commit 225bcd18 : 4 fichiers synthétiques testés chez 2 fournisseurs. 3 sont effectivement partis ; l'extension en a arrêté 1 avant qu'il ne quitte le navigateur. Ce que chaque fournisseur a conservé a été relu dans sa propre copie de la conversation, pas à l'écran, qui réhydrate.
| Fichier | Fournisseur | Marqueurs conservés | Verdict |
|---|---|---|---|
| Document Word avec un IBAN dans le texte et une photo de pièce d'identité incorporée | ChatGPT | 1 | Aucune fuite |
| PDF avec couche de texte, pièce d'identité et IBAN | ChatGPT | 2 | Aucune fuite |
| PDF numérisé, image seule | ChatGPT | jamais envoyé | Arrêté |
| Le même PDF avec couche de texte | Claude | 2 | Aucune fuite |
Le fichier numérisé n'est jamais parti : aucune page n'avait de couche de texte et l'extension a annulé l'envoi. Elle ne fait pas semblant de masquer ce qu'elle ne peut pas lire, donc sa ligne ne porte ni marqueurs ni verdict de fuite, mais son propre état.
Fichiers testés : 4 · Envoyés : 3 · Arrêtés avant de partir : 1 · Fournisseurs : 2 · Fuites sur ce qui est parti : 0 · Constats enregistrés : 7
Les marqueurs eux-mêmes, fichier par fichier, sont sur Comment ça marche. Aucun des constats de ce jour-là n'est une fuite ; l'artefact les nomme un par un.
Le paquet qui est publié
Deux artefacts, pas un. Ce que le Chrome Web Store sert aujourd'hui est le fichier qu'installe la personne qui lit ceci ; ce que ce dépôt a construit et pas encore mis en ligne est un autre fichier. Les deux figurent ci-dessous, chacun avec le jour où il a été lu ou construit, ainsi que les permissions que Chrome accorde à l'extension et les sites où elle peut tourner.
Ce que sert le store — le CRX signé qu'installe la personne qui lit :
- Version servie par le store
- 0.9.0
- Paquet servi par le store
- 1 098 014 octets, lus le 20 septembre 2026 dans le service de mise à jour de Chrome
Ce qu'a construit ce dépôt — le zip qui sera mis en ligne, et les vérifications faites dessus :
- Préparé ici, pas encore mis en ligne
- Version 0.9.2 — 1 119 692 octets, construit le 21 septembre 2026
- Vérifications du moteur dans le zip
- 63/63, exécutées contre le moteur empaqueté et non contre la source
- Chrome minimum
- 116
Les deux diffèrent dès qu'une construction attend d'être mise en ligne, et cet écart est ordinaire. Ce qui ne l'était pas, c'est ce que faisait cette page jusqu'à aujourd'hui : elle imprimait le chiffre préparé sous le mot publié, et affirmait ainsi une version et une taille que le store n'a jamais servies.
Permissions (3) :
storagescriptingalarms
Sites (4) :
https://chatgpt.com/*https://chat.openai.com/*https://claude.ai/*https://licensing.bivelio.com/*
Site optionnel, demandé seulement si le lecteur l'active :
https://gemini.google.com/*
Un zip enregistre des dates de modification : deux constructions des mêmes fichiers donnent donc des empreintes différentes, et une empreinte n'identifie rien. De cet artefact sont publiés ses octets et le jour de sa construction ; la vérification qui veut dire quelque chose exécute le moteur à l'intérieur du paquet, pas celui du dépôt. Le store sert un CRX — les mêmes fichiers plus l'en-tête de signature que le store ajoute lui-même à la publication —, sa taille n'est donc pas celle du zip, et cette page ne soustrait pas l'une de l'autre.
D'où viennent ces nombres
Chaque tableau ci-dessus cite son fichier. La page qui parcourt pas à pas ce que le produit en fait, c'est « Comment ça marche » ; le moteur peut aussi être exécuté sur votre propre texte dans le bac à sable.