Ogni giorno migliaia di professionisti italiani — avvocati, commercialisti, consulenti, medici — incollano documenti contenenti dati personali dentro ChatGPT, Claude o Gemini. Lo fanno per velocità, e ogni volta che lo fanno quei dati lasciano il loro computer per server che non controllano. Rizzo-PII risolve questo problema con un approccio radicalmente semplice: anonimizzare in locale, inviare al cloud solo testo con segnaposto, e ricostruire la risposta in locale. Il modello cloud non vede mai un nome, un codice o un numero reale.
In sintesi
F1 0,989 su 7.000 frasi italiane reali · 22 categorie PII · 300M parametri · 0,5-1,2 GB RAM su CPU · MIT license · 282 stelle GitHub
Il problema: la comodità che perde dati
Il modo più rapido per far analizzare un contratto a un LLM è incollarlo nella chat. Ma ogni volta che lo si fa, nomi, indirizzi, codici fiscali, IBAN e clausole riservate attraversano la rete. Per uno studio professionale non è un rischio teorico: il GDPR impone al titolare del trattamento di dimostrare la base giuridica di ogni trasferimento a un terzo.
La soluzione intuitiva — far girare un modello open source in locale — si scontra con la realtà dell'hardware: i modelli di frontiera richiedono macchine da 9.000-10.000 euro. Simone Rizzo, ingegnere AI e docente a contratto all'Università di Bologna, ha ribaltato il problema: invece di rinunciare al modello potente, si toglie il dato dall'equazione.
Come funziona: tre passaggi in locale, uno solo nel cloud
Il flusso è progettato per essere semplice ma ingegneristicamente solido:
- Rilevamento locale — il modello marca ogni dato personale e lo sostituisce con un segnaposto stabile come
[FULLNAME_1]o[CF_1]. Valori identici ricevono lo stesso segnaposto, così il modello cloud continua a vedere un testo coerente. - Invio al cloud — solo il testo anonimizzato raggiunge ChatGPT, Claude o Gemini. Il fornitore non riceve mai un nome o un codice reale.
- Ricostruzione in locale — quando la risposta torna indietro, un passaggio locale rimette al posto dei segnaposto i valori veri usando il dizionario conservato sul disco.
Il modello non lavora mai da solo. È affiancato da una rete deterministica di regex e checksum per gli identificativi strutturati: l'IBAN deve superare il controllo mod-97, le carte di credito l'algoritmo di Luhn, e se un checksum è valido ha la precedenza sulla previsione neurale. Questo elimina il difetto classico dei riconoscitori neurali: la frammentazione di un codice lungo in due pezzi con la seconda metà lasciata in chiaro.
Le 22 categorie — e i 5 tag che nessun altro copre
La tassonomia di Rizzo-PII è la sua arma segreta. Divisa in gruppi funzionali, copre tutto ciò che un professionista italiano deve proteggere:
| Gruppo | Tag | Esempio |
|---|---|---|
| Persona | FULLNAME, AGE, GENDER | Mario Rossi, 45 anni |
| Contatti | EMAIL, TELEPHONENUM | m.rossi@studio.it, +39 333 1234567 |
| Luogo | STREET, BUILDINGNUM, ZIPCODE, CITY, PROVINCE | Via Garibaldi, 24, 00185, MI |
| Finanza | IBAN, CREDITCARDNUMBER, AMOUNT | IT60X05428..., 12.500,00 euro |
| Identità italiana | CF, PIVA, CATASTO, DOCID, ID_DOC | RSSMRA85H12F205Z, Foglio 12 part. 345 |
| Altro | ORG, DATE, TIME, TARGA | Edilnord S.r.l., 12/06/1985 |
I cinque tag italiani (CF, PIVA, CATASTO, DOCID, ID_DOC) sono la ragione per cui il progetto esiste. Non compaiono in nessun corpus pubblico etichettato, quindi sono stati generati per sintesi con checksum matematicamente validi. Un modello anglofono generico, davanti a "Il Sig. Mario Rossi, C.F. RSSMRA85H12F205Z, P.IVA 12345678901", maschera il nome e lascia in chiaro i due identificativi più sensibili della frase.
I numeri: training e benchmark
Il modello è basato su mmBERT-base ed è stato addestrato su circa 745.000 righe etichettate, con l'italiano rinforzato al 45%. Il principio di generazione dei dati sintetici è dichiarato come "LLM autore, codice etichettatore": un LLM scrive prosa giuridica italiana con segnaposto, e il codice inietta valori reali con checksum corretti. Le etichette BIO sono esatte per costruzione.
L'addestramento è durato una singola epoca su una RTX 5060 Ti (16 GB VRAM, circa 2 ore), con loss finale 0,003 e loss di validazione 0,006 — senza segni di sovradattamento.
Confronto con le alternative
Rizzo-PII non è l'unico strumento di anonimizzazione PII, ma occupa una casella precisa che gli altri lasciano vuota:
| Rizzo-PII 0.3B | OpenAI Privacy Filter | Presidio | |
|---|---|---|---|
| Parametri | ~300M | 1,5B (50M attivi) | spaCy + regole |
| Categorie | 22 con dati legali IT | 8 generiche | configurabili (default EN) |
| CF, PIVA, CATASTO | Sì | No | No (non di default) |
| Verifica checksum | Sì (IBAN, CF, PIVA, carte) | No | Su alcuni riconoscitori |
| Reversibilità | Sì, dizionario locale | Mascheramento | Anonimizzazione |
| Lingua primaria | Italiano + 7 lingue | Inglese | Inglese |
Presidio (Microsoft, open source) resta la scelta migliore per pipeline dati aziendali con logging e archiviazione. OpenAI Privacy Filter (Apache 2.0) è efficiente su grandi volumi in inglese grazie all'architettura sparsa MoE. Ma se i tuoi documenti contengono codice fiscale, partita IVA o dati catastali, Rizzo-PII è l'unica opzione aperta che li etichetta di serie.
GDPR: pseudonimizzazione, non anonimizzazione
Il progetto è onesto su questo punto. La sostituzione con segnaposto reversibili è pseudonimizzazione ai sensi dell'art. 4(5) del GDPR: i dati restano personali finché esiste il dizionario di mappatura. Il considerando 26 chiarisce che i dati pseudonimizzati restano dati personali.
"Il dizionario dei segnaposto va trattato come una credenziale. Se finisce in un backup non cifrato o in una cartella sincronizzata sul cloud, la reversibilità che rende utile lo strumento diventa la falla che espone tutto." — dall'analisi di Pasquale Pillitteri
Lo strumento supporta la minimizzazione dei dati (art. 5 GDPR) e le misure di sicurezza (art. 32), ma non esonera il titolare dagli obblighi di documentazione, valutazione d'impatto e protezione del file di mappatura.
Come si prova
L'applicazione desktop è costruita con Tauri, avvia un servizio Python locale e offre un'interfaccia dove incollare testo o caricare PDF. I file pesano 1,2-1,4 GB perché includono il modello. Al 30 luglio 2026: 549 download Windows, 252 macOS, 75 Linux.
Il creatore
Simone Rizzo è ingegnere AI e docente a contratto all'Università di Bologna. Ha fondato la Rizzo AI Academy, scuola online con 9 corsi in italiano su agenti AI, LLM locali, computer vision e sicurezza. Il progetto Rizzo-PII è open source con licenza MIT, pubblicato su GitHub il 28 giugno 2026 e presentato su YouTube il 30 luglio 2026. Il repository ha raccolto 282 stelle e 13 fork nelle prime settimane.