BiVelio Shield : ChatGPT et Claude privés — gratuit, 100 % local, sans compte

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.

PisteGrainePrécisionRappelFuite résiduelleSurface de fuite partielleAller-retour
Coopérative12341,00001,00000,00 %01,000000
Coopérative421,00001,00000,00 %01,000000
Coopérative71,00001,00000,00 %01,000000
Adverse12340,99401,00000,00 %01,000000
Adverse420,98740,99890,00 %00,999641
Adverse70,98941,00000,00 %01,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.

DocumentExtractionDétectionTotalValeurs trouvées
PDF d'une page avec couche de texte1,3 ms1,9 ms3,2 ms6/6
Document Word : corps et propriété d'auteur0,6 ms2,1 ms2,7 ms6/6
Feuille de calcul : cellules, nom de feuille et propriétés1,4 ms1,1 ms2,5 ms6/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.

PileFuite résiduelleValeursTemps d'horloge
NER nul (contrôle)100,000 %800/8000,1 s
Déterministe + Presidio4,875 %39/8003,3 s
Déterministe + Presidio + GLiNER0,000 %0/8007,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.

PilePar documentRappelPrécisionRappel en catalan
Presidio3 ms0,9900,9051,000
Presidio + GLiNER13 ms1,0000,8301,000
+ GLiNER multilingue72 ms1,0000,7871,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.

FichierFournisseurMarqueurs conservésVerdict
Document Word avec un IBAN dans le texte et une photo de pièce d'identité incorporéeChatGPT1Aucune fuite
PDF avec couche de texte, pièce d'identité et IBANChatGPT2Aucune fuite
PDF numérisé, image seuleChatGPTjamais envoyéArrêté
Le même PDF avec couche de texteClaude2Aucune 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) :

  • storage
  • scripting
  • alarms

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.