Pseudonimizzazione locale e reversibile per testi italiani
Usa i grandi modelli di IA, senza consegnare i dati personali.UsaigrandimodellidiIA,senzaconsegnareidatipersonali.
Sempronio sostituisce sul computer nomi, codici fiscali, indirizzi e IBAN con segnaposto. Al cloud arriva solo il testo con i segnaposto; la risposta torna e Sempronio rimette i valori veri. Gli originali non escono dal computer.
Mario Rossi → FULLNAME_1Sostituito sul computer, prima dell’invio
0 su 160
dati personali rimasti in chiaro su 19 documenti di prova; 0 su 169 in PDF
24
tipi di dato: persone, codici fiscali, IBAN, indirizzi, atti
0,3 B
parametri del modello che riconosce i dati, dentro l’app
144
test automatici, ripassati a ogni versione
In breve
Problema
Chi chiede a un’intelligenza artificiale online di leggere un contratto o una lettera le consegna anche nomi, codici fiscali e IBAN.
Il mio contributo
Intorno a rizzo-pii, un modello open source, ho costruito le regole per i documenti che il modello sbagliava, i controlli, il banco di prova e l’app per Mac.
Risultato
Sul banco di 19 documenti inventati, 0 dati personali su 160 rimasti in chiaro. Le buste paga vere non sono ancora misurate.
Stato del progetto
Esperimento: versione 0.4.0 per Mac, non ancora distribuita. Il codice è in un repository privato.
Dove vanno i dati
Online esce solo Sempronio.
Senza, il documento arriva al servizio online così com’è, nomi e codici compresi. Con Sempronio fa un giro in più, tutto sul computer.
trova le persone
controlla i codici
mette i segnaposto
segnala i dubbi
rimette i nomi
trova le persone
controlla i codici
mette i segnaposto
segnala i dubbi
rimette i nomi
Percorso guidato
Tre schermate, andata e ritorno.
Una lettera inventata, dalla sostituzione alla risposta con i nomi veri. I punti segnano quello che conta.
01La sostituzione
Ogni persona diventa un segnaposto.
A sinistra il documento com’è, a destra quello che può uscire dal computer. Nomi, codice fiscale, indirizzo, IBAN, email e telefono diventano segnaposto numerati; il resto del testo non cambia.
02Il dizionario
Chi è chi resta sul computer.
Per rimettere i nomi al loro posto serve sapere chi c’è dietro ogni segnaposto. Quel dizionario vive solo nella finestra dell’app e sparisce quando la chiudi, a meno che non lo salvi tu.
03Il ripristino
La risposta torna con i nomi veri.
Si incolla la risposta dell’IA, che parla di FULLNAME_1 e IBAN_1, e Sempronio rimette i valori originali. Il testo finale non è mai passato da nessun server.
Il metodo
Un modello aperto, e il lavoro intorno.
A riconoscere i dati nel testo è rizzo-pii, un modello open source di Rizzo AI Academy con licenza MIT. Mio è quello che gli sta intorno: le regole per i documenti che il modello sbagliava, i controlli, il banco di prova e l’app.
Le buste paga
Nei cedolini l’etichetta sta sopra il valore e nome e cognome in due celle. Regole apposta: la persona è una sola, i codici voce non sono numeri civici, gli enti pubblici restano leggibili.
I comuni
Gli 8.013 comuni dell’elenco ISTAT, per le città che il modello non riconosce. Il nome di un tribunale resta: è un ente, non una persona.
La rete di sicurezza
Dopo la sostituzione, ogni parola rimasta in chiaro con la forma di un nome viene segnalata da rileggere, prima di copiare il testo.
Un segnaposto per persona
Cognome da solo, ordine invertito, firma in fondo: se nel documento non c’è ambiguità, è sempre FULLNAME_1.
Il PDF oscurato
Nel codice di partenza un nome che andava a capo cancellava anche il testo vicino. Corretto e verificato su un PDF di prova.
Il banco di prova
19 documenti inventati, dalla bolletta alla sentenza, con i dati da trovare già elencati. Ogni modifica si misura lì prima di entrare.
Report tecnico
Come l’ho misurato.
Un banco di documenti inventati, con i dati personali noti in anticipo: ogni versione lo deve passare prima di uscire. Misure del 1° ottobre 2026 sulla versione 0.4.0 installata, con la rete bloccata.
Risultati sul banco di prova, testo e PDF
Misura, nell’ordine in cui conta
Testo
PDF
Dati personali rimasti in chiaro
0 / 160
0 / 169
Informazioni utili coperte senza bisogno
3 / 47
3 / 49
Documenti in cui il numero di persone non torna
0 / 19
0 / 20
Documenti
19 inventati: 14 scritti a mano (bollette, lettere, contratti, un cedolino, una sentenza, una chat…) e 5 annotati dai contributori del progetto originale. In PDF se ne aggiunge uno «sporco» a due colonne.
Dati attesi
Ogni dato personale è elencato in anticipo. Codici fiscali, partite IVA e IBAN hanno il carattere di controllo valido, così mettono alla prova anche le regole.
Senza rete
Il motore dell’app installata gira in una gabbia di macOS che blocca ogni connessione esterna: stessi risultati.
Risorse
Modello da 0,3 miliardi di parametri. Memoria del motore: circa 0,8 GB a riposo, 1,3 GB al picco sui PDF. L’app pesa 2,3 GB.
Rispetto alla base
Sui sei documenti della prima prova (28 settembre), l’app originale Rizzo PII 2.0.0 lasciava in chiaro 1 dato su 65; da allora, 0 su 65.
Il primo numero è l’unico che deve restare a zero. Le buste paga vere non sono ancora misurate: è scritto nei limiti, più sotto.
Il personaggio
Tizio, Caio e Sempronio.
Sono i nomi di comodo dei manuali di diritto. L’app fa proprio questo: mette un nome di comodo al posto di quello vero. Così la mascotte è il segnaposto stesso, e segue quello che succede.
In attesaNessun documento.
Al lavoroLa benda scivola sugli occhi.
FattoSolo se non resta nulla da rileggere.
ErroreCon icona e testo, mai il solo colore.
I limiti
Dove si ferma.
Pseudonimizzare non è anonimizzare.
Finché esiste il dizionario, per il GDPR i dati restano personali (art. 4, n. 5). Sempronio riduce ciò che esce dal computer; la valutazione su cosa inviare resta di chi lo usa.
Le buste paga vere non sono misurate.
Provate a occhio, con due codici voce ancora coperti senza motivo. Il banco usa documenti inventati: la misura su documenti reali, con l’elenco dei dati attesi, è il prossimo passo.
La rete non vede tutto.
Cerca parole con la forma di un nome. Un dato scritto in minuscolo o in un formato insolito può sfuggire: l’anteprima prima di inviare resta obbligatoria.
Qualche dato utile coperto.
Sul banco, 3 informazioni utili su 47 finiscono sotto un segnaposto senza bisogno: meglio un eccesso che un nome in chiaro, ma è un costo per chi legge.
Per chi legge il codice
Come è costruita.
Il codice è in un repository privato: lo mostro volentieri in un colloquio.
Riconoscimentorizzo-pii 0.3B
modello open source di Rizzo AI Academy (MIT), su transformers
MotorePython
server locale Flask: regole, rete di sicurezza, dizionario
PDFPyMuPDF
lettura del testo e oscuramento vero, non un rettangolo sopra
AppTauri
finestra nativa in Rust che avvia il motore sul Mac
InterfacciaSenza rete
HTML, CSS e JavaScript senza librerie esterne né caratteri scaricati
SistemamacOS
versione 0.4.0, compilata in locale; non ancora firmata da Apple