Anonimizzare i dati con Presidio
Published: 2023-10-03 14:24:59

---
title: Anonimizzare i dati con Presidio
published: true
date: 2023-02-02 00:00:00 UTC
tags: 
canonical_url: 
---

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](#presidio)
- [Come funziona](#come-funziona)
- [Multilingua](#risorse-utili)
- [Risorse utili](#risorse-utili)

# 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](https://microsoft.github.io/presidio/faq/#is-microsoft-presidio-an-official-microsoft-product), 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_](https://theredcode.it/intelligenza-artificiale/riconoscere-le-entita-con-spacy-in-ambito-medico)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](https://aka.ms/presidio-demo) 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.

![](https://theredcode.it/img/presidio-demo.png)

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

- [Documentazione ufficiale](https://microsoft.github.io/presidio/)