Misurato
Ogni cifra, con la sua data, la sua macchina e il file da cui esce
Questa pagina raccoglie le misure che il resto del sito cita. Ogni tabella dice il giorno in cui è stata presa e la macchina su cui è girata, e un test rilegge ogni numero dal file che lo ha prodotto: quando quel file si muove e la pagina no, la costruzione diventa rossa.
Quel che non c'è è ciò che nessuno ha misurato. Dove la fonte non registra la macchina, la pagina lo dice invece di inventarne una; dove il corpus è sintetico, la frase che lo dice viaggia con il numero.
Il motore deterministico, sul corpus avversario
Lo strato controllato dalla cifra di controllo: documenti d'identità, IBAN, carte, chiavi e token. Due piste sullo stesso generatore — i valori scritti fra spazi, e gli stessi valori scritti come li scrive la gente: attaccati a una cifra sciolta, con prefisso, in cifre arabo-indiane, con un segno combinante dentro.
Corpus: 1.000 documenti in quattro lingue, 4.522 entità etichettate, 443.724 caratteri. Macchina: Apple M4 Pro, macOS 15.7.4, CPython 3.13.7.
| Pista | Seme | Precisione | Richiamo | Fuga residua | Superficie di fuga parziale | Andata e ritorno |
|---|---|---|---|---|---|---|
| Cooperativa | 1234 | 1,0000 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Cooperativa | 42 | 1,0000 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Cooperativa | 7 | 1,0000 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Avversaria | 1234 | 0,9940 | 1,0000 | 0,00 % | 0 | 1,000000 |
| Avversaria | 42 | 0,9874 | 0,9989 | 0,00 % | 0 | 0,999641 |
| Avversaria | 7 | 0,9894 | 1,0000 | 0,00 % | 0 | 1,000000 |
Misurato il 9 agosto 2026 · 1.000 documenti per passata, tre semi, entrambe le piste.
Le tre righe avversarie sono pubblicate con le altre: due stanno sotto le soglie che l'integrazione continua afferma, perché lì si estrae un solo seme e questa tabella ne estrae tre. Quel che tiene sulle sei passate è la coppia su cui si giudica una frontiera di fuga di dati: fuga residua a zero e superficie di fuga parziale a zero.
Documenti, nel gateway
Estrazione e rilevamento sul corpus di documenti, una richiesta alla volta. Sono cifre di richiesta singola: i due passi dipendono dal processore e l'interprete li serializza, quindi a governare la concorrenza sono il semaforo dei documenti e la riserva di processi, non questa tabella.
| Documento | Estrazione | Rilevamento | Totale | Valori trovati |
|---|---|---|---|---|
| PDF di una pagina con strato di testo | 1,3 ms | 1,9 ms | 3,2 ms | 6/6 |
| Documento Word: corpo e proprietà autore | 0,6 ms | 2,1 ms | 2,7 ms | 6/6 |
| Foglio di calcolo: celle, nome del foglio e proprietà | 1,4 ms | 1,1 ms | 2,5 ms | 6/6 |
Misurato il 29 agosto 2026 su fernando · AMD EPYC-Genoa, 16 vCPU, 30 GB.
- Lo stesso lavoro nel browser
- 92 ms da un capo all'altro per un PDF di una pagina da 3 MB
Il percorso del browser è un'altra implementazione (pdf.js e pdf-lib) e il banco di prova dice che non è paragonabile alle righe qui sopra: perciò è pubblicato su una riga sua e mai dentro quella tabella.
Deterministico contro NLP
Lo strato deterministico non cerca nomi di persona; se ne occupa lo strato di NLP. Questo è ciò che ogni pila lascia dietro di sé sullo stesso corpus: la quota di valori PERSON e LOCATION dell'oro ancora presenti nel testo in uscita.
Corpus: 400 documenti, 800 entità dell'oro, seme 2026.
| Pila | Fuga residua | Valori | Tempo di orologio |
|---|---|---|---|
| NER nullo (controllo) | 100,000 % | 800/800 | 0,1 s |
| Deterministico + Presidio | 4,875 % | 39/800 | 3,3 s |
| Deterministico + Presidio + GLiNER | 0,000 % | 0/800 | 7,1 s |
Misurato il 12 settembre 2026 · macchina: development laptop.
Lo zero non è una promessa di zero in produzione: il corpus è sintetico e le sue entità dell'oro sono solo PERSON e LOCATION, quindi non dice nulla della prosa reale, degli indirizzi o delle categorie particolari. La riga di controllo al cento per cento è quel che rende leggibile lo zero: senza di essa uno zero non si distingue da una scala rotta.
Le tre pile dei nomi
Quel che aggiunge il modello multilingue, sul corpus etichettato del progetto stesso. Questa misura è la ragione per cui viene consegnato spento.
Corpus: 300 documenti, 50 per lingua, 6 lingue.
| Pila | Per documento | Richiamo | Precisione | Richiamo in catalano |
|---|---|---|---|---|
| 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 |
Misurato il 12 settembre 2026.
Il modello multilingue non trova un solo nome che gli altri due strati non trovino già, nemmeno in catalano — Presidio porta il proprio modello catalano. Impiega 5,5 volte tanto e marca 39 tratti in più che non sono nomi: lo stesso testo di 10.000 caratteri passa da 1.118 ms a 3.081 ms.
La fonte registra la data e il corpus di questo confronto, non la macchina. Quel che si trasporta da una macchina all'altra è il rapporto fra le tre configurazioni, non i millisecondi.
Quel corpus è sintetico, quindi un richiamo di uno non è un'affermazione sulla scrittura reale. La fuga residua pubblicata dello strato dei nomi è quella della tabella qui sopra.
Il piano dei nomi: memoria e worker
Misurato il 12 settembre 2026 dentro l'immagine del piano su un CCX33 · Falkenstein. Fra i processi non si condivide nulla, quindi il numero di worker è una divisione e non una preferenza.
- Interprete vuoto
- 26 MB
- Modelli caricati
- 3.331 MB, in 13,9 s
- Dopo un prompt di 10.000 caratteri
- 3.412 MB
- Worker
- 6 processi, 20,5 GB. Otto sarebbero 27,3 GB, oltre il tetto di 26 GB fissato dal compose.
La tabella di latenza di questo piano — p95 per dimensione del testo più l'andata e ritorno misurata — è pubblicata su Come funziona e qui non si copia.
Contro quel che i fornitori hanno conservato
Misurato il 19 settembre 2026 con l'estensione 0.9.0, commit 225bcd18: 4 file sintetici provati presso 2 fornitori. 3 sono partiti davvero; 1 l'estensione l'ha fermato prima che uscisse dal browser. Quel che ogni fornitore ha conservato è stato riletto dalla sua copia della conversazione, non dallo schermo, che reidrata.
| File | Fornitore | Marcatori conservati | Verdetto |
|---|---|---|---|
| Documento Word con un IBAN nel testo e una foto di documento d'identità incorporata | ChatGPT | 1 | Senza fuga |
| PDF con strato di testo, documento d'identità e IBAN | ChatGPT | 2 | Senza fuga |
| PDF scansionato, solo immagine | ChatGPT | mai inviato | Fermato |
| Lo stesso PDF con strato di testo | Claude | 2 | Senza fuga |
Il file scansionato non è mai partito: nessuna pagina aveva uno strato di testo e l'estensione ha annullato l'invio. Non finge di coprire quel che non riesce a leggere, quindi la sua riga non porta marcatori né verdetto di fuga, ma il proprio stato.
File provati: 4 · Inviati: 3 · Fermati prima di partire: 1 · Fornitori: 2 · Fughe su quel che è partito: 0 · Rilievi registrati: 7
I marcatori stessi, file per file, sono su Come funziona. Nessuno dei rilievi di quel giorno è una fuga; l'artefatto li nomina uno a uno.
Il pacchetto che viene pubblicato
Due artefatti, non uno. Ciò che il Chrome Web Store serve oggi è il file che installa chi legge questa pagina; ciò che questo repository ha costruito e non ha ancora caricato è un altro file. Entrambi stanno qui sotto, ciascuno con il giorno in cui è stato letto o costruito, insieme ai permessi che Chrome concede all'estensione e ai siti su cui può girare.
Ciò che serve lo store — il CRX firmato che installa chi legge:
- Versione servita dallo store
- 0.9.0
- Pacchetto servito dallo store
- 1.098.014 byte, letti dal servizio di aggiornamento di Chrome il 20 settembre 2026
Ciò che ha costruito questo repository — lo zip che viene caricato, e le verifiche fatte su di esso:
- Preparato qui, non ancora caricato
- Versione 0.9.2 — 1.119.692 byte, costruito il 21 settembre 2026
- Verifiche del motore dentro lo zip
- 63/63, eseguite contro il motore impacchettato e non contro il sorgente
- Chrome minimo
- 116
I due differiscono ogni volta che una build attende di essere caricata, e questa distanza è ordinaria. Non lo era ciò che questa pagina ha fatto fino a oggi: stampava la cifra preparata sotto la parola pubblicato, affermando così una versione e una dimensione che lo store non ha mai servito.
Permessi (3):
storagescriptingalarms
Siti (4):
https://chatgpt.com/*https://chat.openai.com/*https://claude.ai/*https://licensing.bivelio.com/*
Sito facoltativo, richiesto solo se chi legge lo accende:
https://gemini.google.com/*
Uno zip conserva le date di modifica, quindi due costruzioni degli stessi file danno impronte diverse e un'impronta non identifica nulla. Di questo artefatto si pubblicano i byte e il giorno in cui è stato costruito; la verifica che significa qualcosa esegue il motore dentro il pacchetto, non quello del repository. Lo store serve un CRX — gli stessi file più l'intestazione di firma che lo store aggiunge da sé alla pubblicazione —, quindi la sua dimensione non è quella dello zip e questa pagina non sottrae l'una dall'altra.
Da dove vengono questi numeri
Ogni tabella qui sopra cita il suo file. La pagina che percorre passo passo quel che il prodotto ne fa è «Come funziona»; il motore si può eseguire sul proprio testo nel banco di prova.