Anonimizzare i dati con Presidio

  • Di
  • 2023-02-02 - 3 minuti
banner

Presidio, nasce come una libreria open source per anonimizzare i dati: questo vuol dire che è in grado di identificare e anonimizzare delle informazioni, tra cui:

  • Nomi propri
  • IBAN
  • Numeri di telefono
  • Indirizzi
  • ID di documenti come passaporti, patenti, ecc.
  • Numeri di carte di credito
  • Indirizzo IP

Ma come funziona?

Cosa vedrai

Presidio

Il suo nome deriva dal latino, e significa “presidio, protezione”: la scelta del nome non è quindi casuale, ma si rifa ad una delle lingue madri di tutte le lingue correnti. Questo strumento, prodotto da un team di software engineer di Microsoft, ha lo scopo di identificare e anonimizzare dati sensibili in testi e immagini, sfruttando l’analisi del linguaggio e tecniche di riconoscimento di oggetti e testo nelle immagini.

Lo scopo di questo progetto è stato quello di creare un prodotto che permettesse alle aziende di preservare la privacy delle informazioni sensibili e democratizzando le tecniche con cui queste informazioni vengono identificate.

Come funziona

Molto semplice: Presidio prende in input una stringa o un’immagine, e prova a riconoscere alcuni pattern tra quelli a disposizione; nel caso del testo, applica delle tecniche di Named Entity Recognition e cerca di validare questi pattern. Sfruttando il contesto che si ha a disposizione, identifica i dati e cerca di anonimizzarli.

Presidio è composto da diversi moduli:

  • Presidio Analyzer: modulo per rilevare entità PII in linguaggio naturale.
  • Presidio Anonymizer: modulo per manipolare le entità PII nel testo (ad es. rimuovere, oscurare, applicare funzioni di hashing, crittografare).
  • Presidio Image Redactor: modulo per il rilevamento di entità PII nell’immagine tramite OCR.

Inoltre, Un set di distribuzioni di esempio come pacchetti Python o contenitori Docker per Kubernetes, Azure Data Factory, Spark e altro ancora.

Multilingua

Nella documentazione viene riportato un sito dove è possibile testare una demo di Presidio per la lingua inglese: come si evince nelle FAQ, infatti, Presidio supporta diverse lingue e permette di creare anche dei modelli di PII (acronimo di Personally Identifiable Information) custom, a seconda delle necessità.

Demo

L’interfaccia è abbastanza semplice: nella sezione di input, è possibile inserire il testo da anonimizzare, mentre a destra comparirà il testo anonimizzato.

Nella sezione sottostante, ci sarà un riepilogo delle entità individuate con il relativo punteggio -in termini di probabilità- delle stringhe individuate come informazioni sensibili, con relativi indici di inizio e fine nel testo inserito.

Nella parte di sinistra sono invece presenti i filtri: c’è infatti la possibilità di anonimizzare i dati sostituendoli con delle informazioni custom, come un segnaposto, oppure applicare una funzione hash o di encrypt.

La sezione relativa all’anonimizzazione delle immagini è invece disattivata, al momento… sicuramente ci sarà modo di provarla in futuro!

Risorse utili

Post correlati

Partners

Community, aziende e persone che supportano attivamente il blog

Logo di Codemotion
Logo di GrUSP
Logo di Python Milano
Logo di Schrodinger Hat
Logo di Python Biella Group
Logo di Fuzzy Brains
Logo di Django Girls
Logo di Improove
Logo del libro open source

Iscriviti alla newsletter

Per non perderti gli ultimi articoli e per vincere biglietti e gadget TheRedCode

Riceverai una volta al mese (o anche meno) gli articoli più interessanti pubblicati sul blog, e potrai provare a vincere un biglietto per uno dei prossimi eventi!

Andiamo!