Rizzo-PII: il modello italiano che anonimizza i dati prima di inviarli all'AI

300 milioni di parametri, 22 categorie di dati personali riconosciuti, gira su CPU senza GPU. Il progetto open source di Simone Rizzo è il primo a coprire codice fiscale, partita IVA e dati catastali italiani.

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:

  1. 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.
  2. Invio al cloud — solo il testo anonimizzato raggiunge ChatGPT, Claude o Gemini. Il fornitore non riceve mai un nome o un codice reale.
  3. 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:

GruppoTagEsempio
PersonaFULLNAME, AGE, GENDERMario Rossi, 45 anni
ContattiEMAIL, TELEPHONENUMm.rossi@studio.it, +39 333 1234567
LuogoSTREET, BUILDINGNUM, ZIPCODE, CITY, PROVINCEVia Garibaldi, 24, 00185, MI
FinanzaIBAN, CREDITCARDNUMBER, AMOUNTIT60X05428..., 12.500,00 euro
Identità italianaCF, PIVA, CATASTO, DOCID, ID_DOCRSSMRA85H12F205Z, Foglio 12 part. 345
AltroORG, DATE, TIME, TARGAEdilnord 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.

0,989
Micro F1 su 7.000 frasi italiane reali
0,987
Macro F1 su 22 tag (media non pesata)
1,000
F1 su CF, PIVA, CATASTO, DOCID, PROVINCE
745K
Righe di training, 45% italiano
282 ★
Stelle GitHub, 870+ download desktop
0,5 GB
RAM minima su CPU — nessuna GPU richiesta

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.3BOpenAI Privacy FilterPresidio
Parametri~300M1,5B (50M attivi)spaCy + regole
Categorie22 con dati legali IT8 genericheconfigurabili (default EN)
CF, PIVA, CATASTONoNo (non di default)
Verifica checksumSì (IBAN, CF, PIVA, carte)NoSu alcuni riconoscitori
ReversibilitàSì, dizionario localeMascheramentoAnonimizzazione
Lingua primariaItaliano + 7 lingueIngleseInglese

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

# Via Python ( libreria ) git clone https://github.com/Rizzo-AI-Academy/rizzo-pii cd rizzo-pii python -m venv .venv && source .venv/bin/activate pip install -r requirements.txt python src/training/test_pii.py "Mi chiamo Mario Rossi, C.F. RSSMRA85H12F205Z" # Via app desktop ( no Python ) # Scaricare installer da github.com/Rizzo-AI-Academy/rizzo-pii/releases # Windows .exe, macOS .dmg (Apple Silicon), Linux .AppImage # Via Hugging Face # huggingface.co/rizzoaiacademy/rizzo-pii-0.3B

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.