Protocollo zero · solo loopback

Mr.Rao offline by design

Il contratto non esce dalla stanza.

PDF, Word, scansioni, email → Markdown pulito. Codici fiscali, IBAN, nomi e chiavi API: fuori, prima che tu li incolli in un’AI. Zero chiamate di rete. Validatori aritmetici, non promesse.

127 documenti dove l’atteso è zero
AGPL-3.0 software libero
127.0.0.1 ascolto di default
IT · UK · US · CA · AU formati nazionali
session://local · redact
// ingest documento_cliente.eml

// 01 · minaccia

Il nemico non è l’AI. È il percorso.

Per far ragionare un modello su un contratto, quasi tutti gli strumenti ti chiedono di caricare il file. In quel momento nomi, IBAN e codici fiscali finiscono “in giro”. Mr. Rao spezza la catena: converte e redige qui.

⚠ Percorso classico

contratto.pdf
→ upload convertitore SaaS
→ testo grezzo
→ incolla in ChatGPT
dati personali: in chiaro, due volte fuori
PROTOCOLLO

● Percorso Mr. Rao

contratto.pdf
→ solo 127.0.0.1
→ redazione + sospetti
→ Markdown · review umana
file: non ha mai lasciato il PC

// 02 · motore

Il numero deve dimostrare di essere un IBAN.

Pattern + validatore. Niente modello, niente sorprese tra due esecuzioni. Lo stesso documento dà sempre lo stesso esito — e ogni sostituzione ha una regola.

01 / CHECKSUM

Aritmetica, non impressioni

IBAN mod-97, carte Luhn, controllo CF e P.IVA. Un protocollo lungo non viene “scambiato” per un recapito.

02 / SOSPETTI

Zero ≠ pulito

«3 redazioni · 2 da controllare». Ciò che assomiglia a un dato e non è validabile viene segnalato, non nascosto.

03 / OCR ≤2

Recupero vincolato

Su CF e IBAN storpiati prova fino a due confusioni tipiche di lettura, e sostituisce solo se il candidato regge tre vincoli insieme: checksum, sigla del Paese, lunghezza prevista da quel Paese (registro ISO 13616). Il mod-97 da solo scarta 96 candidati su 97: quando in gioco ci sono migliaia di codici lunghi, il resto passa.

// 03 · banco di prova

Documenti dove la risposta giusta è zero.

Su un documento vero non sai se una sostituzione era dovuta: la giudichi a occhio, e l’occhio si stanca. Per questo il motore viene misurato prima di tutto su carte che dati personali non ne contengono affatto: lì ogni sostituzione è un errore, e non c’è niente da interpretare. Ogni modifica deve ripassare da qui.

01 / IN BIANCO

127 documenti, atteso zero

Moduli fiscali italiani e statunitensi, numeri della Gazzetta Ufficiale fino al 1890, volumi statistici. Nessun dato personale per costruzione: il numero corretto di redazioni è zero, quindi ogni sostituzione si conta come errore.

02 / PROSA VERA

7.500 messaggi reali

6.000 messaggi di mailing list italiane e 1.500 inglesi: come si comporta sul testo che le persone scrivono davvero, non su frasi costruite per farlo riuscire.

03 / PRIMA E DOPO

6.339 → 1.637

Falsi positivi sui nomi, stesso banco. Su venti moduli in bianco dell’Agenzia delle Entrate una sola euristica ne produceva 8.904 da sola: ora è spenta di default.

// 04 · capacità

Tutto ciò che resta in stanza.

FormatiPDF, DOCX, XLSX, PPTX, HTML, CSV, immagini, EML — MarkItDown + OCR offline
RedazioneEmail, telefoni, nomi, indirizzi, CF, P.IVA, IBAN, BBAN, carte, URL, segreti API
Oltre l’ItaliaNHS number e National Insurance britannici, SSN e ITIN, ABA routing, SIN canadese, ABN e TFN australiani, CAP britannico, righe MRZ del passaporto
LinguaInterfaccia in italiano e in inglese, scelta dal browser · il documento prodotto segue la stessa lingua
Shell WindowsTasto destro → Apri con Mr. Rao · sospetti stampati in console quando servono
Cartella automaticaDa convertire → Convertiti, Markdown in uscita, default fuori da OneDrive/Dropbox
Sicurezza localeHost allow-list, anti-CSRF Origin, GET read-only, bind 127.0.0.1
LicenzaAGPL-3.0 · codice ispezionabile · nessun telefono a casa

// 05 · onestà operativa

Cosa non promettiamo — di proposito.

Un CISO si fida di chi dichiara i limiti. Noi li scriviamo in README, PRIVACY e nel prodotto.

NON è anonimizzazione GDPR forte

È redazione assistita. Il contesto del documento resta. Serve review umana.

Nomi: non infallibili

Liste di nomi, contesto della frase, euristica che si può spegnere. È la parte più difficile: un cognome raro può restare, e serve sempre una rilettura.

Abbiamo inventato 12 IBAN

Il recupero OCR li ha prodotti sui 127 documenti in bianco, che di IBAN non ne contengono nessuno. Il mod-97 da solo non bastava. Con sigla del Paese e lunghezza per Paese sono tornati a 0: misurato, non stimato.

OCR debole = privacy più debole

Il recupero e i sospetti aiutano; tre errori di lettura bastano a far sfuggire un codice.

Monoutente locale

Nessuna auth. Esporre la porta in rete senza proxy è un errore consapevole.

Scarica. Estrai. Resta offline.

Portable Windows, niente Python. Oppure clona il repo e fai girare i test. Se il motore sbaglia su un documento tuo (senza dati reali in issue), dillo: è l’unico modo per migliorarlo.

↓ MrRao-Portable.zip github.com/AntonioRao/mr-rao

// 06 · canale diretto

Segnalazioni, idee, pezzi che non tornano.

Scritto e mantenuto da Antonio Andrea Rao. Scrivimi una mail o su LinkedIn: niente moduli di contatto, niente tracciamento — come il resto del progetto.