Posizionamento
· 7 min di lettura

Perché l'oscuramento è pensato per gli sviluppatori

Di Amine Gaaliche · bozza scritta con Claude, riletta e corretta a mano

Quasi tutti gli strumenti per oscurare i dati personali partono da un testo già pronto. Ricavare quel testo da una pagina scansionata è il passaggio più difficile, e nessun prodotto dice a chi spetti. Per uno sviluppatore va bene. Per uno studio pieno di scansioni è un rischio che non si vede.

Pochi download, a una data precisa

Presidio è il riferimento open source del settore. È nato in casa Microsoft, oggi ha una gestione comunitaria e resta il termine di confronto per tutti, noi compresi. Il suo modulo per le immagini è un pacchetto separato: nell'ottobre 2026 l'indice di Snyk gli attribuiva circa 2.800 download a settimana.

La data conta, perché Snyk pubblica una media settimanale che cambia di continuo. Anche raddoppiata, la cifra resta piccola rispetto alla carta che ogni giorno diventa PDF negli studi legali e nelle cancellerie. E molti di quei download vengono probabilmente da pipeline di integrazione continua, non professionisti alle prese con una scansione.

Il confronto completo con Presidio, punti di forza compresi, è in un altro articolo. Qui interessa una sola domanda: dove comincia il lavoro di questi strumenti, e chi fa quello che viene prima.

Il passaggio prima del testo

Ogni strumento serio della categoria parte dal testo. La prima funzione riceve una stringa già leggibile e restituisce la posizione dei dati personali. Lo mostrano le istruzioni: pip install presidio-analyzer, poi un modello di spaCy. Per le immagini serve anche Tesseract, un motore di riconoscimento del testo da installare a parte con i suoi pacchetti di lingua.

Prima di quella chiamata c'è quindi un passaggio di cui nessun prodotto si fa carico: trasformare una pagina in un testo affidabile. Significa scegliere risoluzione e lingua, raddrizzare una fotocopia storta, gestire un riconoscimento che restituisce poco o nulla. I prodotti in commercio intervengono dopo, a lavoro difficile già fatto.

Per uno sviluppatore è l'impostazione giusta: ha già il suo motore di riconoscimento, le sue regole di pre-elaborazione e i suoi controlli di qualità. Un modulo che gli imponesse i propri sarebbe un ostacolo.

La stessa scelta, però, lascia il passaggio più difficile a chi è meno attrezzato per farlo. L'avvocato con un faldone di scansioni non sa di aver bisogno di un motore di riconoscimento. Vede un programma che accetta un PDF, risponde in pochi secondi e non segnala niente.

Un errore che non si vede

Sul testo digitale un errore di rilevazione di solito si nota: chi rilegge vede il nome rimasto in chiaro. Su una scansione da cui non si estrae testo, invece, non c'è alcuna rilevazione, e un elenco vuoto sembra un documento pulito. Il codice fiscale su una carta d'identità fotocopiata, l'IBAN su un bonifico stampato, il numero di tessera sanitaria su un certificato restano visibili. Li legge chiunque, e li legge qualunque modello capace di leggere un'immagine.

Non ne risponde chi ha scritto la pipeline. Ne risponde lo studio, davanti al cliente per il segreto professionale e davanti al Garante per la protezione dei dati personali. Lo studio è il titolare del trattamento. Se affida una scansione a un servizio esterno, quel servizio diventa di norma un responsabile del trattamento ai sensi dell'articolo 28 del GDPR.

L'articolo chiede un contratto e garanzie, e il Codice privacy completa il quadro nazionale. Non spetta a noi dire se una certa configurazione regga. L'obbligo, però, nasce quando il documento lascia la macchina dello studio.

Abbiamo sbagliato anche noi

Sarebbe comodo scrivere tutto questo come un fornitore che elenca i limiti di un progetto open source altrui. Non sarebbe corretto: il nostro prodotto partiva dallo stesso presupposto, in tre punti.

Primo, per scegliere quali immagini leggere usavamo le dimensioni come indizio di importanza. Le grandi venivano analizzate, le piccole passavano per decorazioni. Ma è in un riquadro piccolo che stanno una firma, un timbro, un codice fiscale fotografato di sbieco.

Secondo, il nostro codice chiamava un metodo che la nostra libreria PDF non aveva. L'errore veniva intercettato e annotato solo nel registro di debug, che in produzione nessuno legge. La funzione rispondeva quindi «nessuna immagine» a ogni documento: il controllo girava e non vedeva mai nulla.

Terzo, chi usa l'applicazione può disegnare a mano un riquadro sulla parte di una scansione da nascondere. Il riquadro raccoglieva il testo sottostante, ma in una scansione sotto non c'è testo. La regione nasceva vuota, senza alcun avviso.

Tutti e tre sono stati corretti. Erano lo stesso problema descritto sopra: nessuno dava un avviso, e tutti davano un risultato rassicurante. Li riportiamo perché criticare gli strumenti altrui tacendo i nostri errori varrebbe poco. Prima di fidarsi di un elenco vuoto, in qualunque strumento, il nostro compreso, conviene chiedersi se qualcuno abbia davvero letto la pagina.

Che cosa succede oggi a una scansione

Nella nostra applicazione una scansione è trattata come un'immagine. La pagina viene convertita in immagine a 300 dpi e letta con Tesseract, nella lingua del documento più l'inglese. Vengono coperti i pixel dei dati trovati, e sotto si aggiunge un nuovo strato di testo ricercabile. I dettagli sono in una guida dedicata alle scansioni.

I pacchetti di lingua sono otto: italiano, inglese, francese, tedesco, spagnolo, olandese, portoghese e polacco. Con il pacchetto sbagliato una scansione si legge male, senza alcun avviso.

Rileva lavora per strati. Prima gli schemi ad alta precisione, per valori come il codice fiscale e l'IBAN, poi un modello di entità per nomi, società e indirizzi. Un terzo livello, con un modello linguistico, è facoltativo e spento per impostazione predefinita. I risultati vengono uniti, ripuliti dai doppioni, propagati fra le pagine e ripuliti dai falsi positivi.

Nessun modello locale individua ogni identificativo. Per questo, per impostazione predefinita, un file si scarica solo dopo che una persona ha verificato le rilevazioni nella Revisione.

Rimuovi e Codifica agiscono sul contenuto, invece di coprirlo con un rettangolo nero. All'esportazione, anche le parti invisibili del PDF, come testi alternativi, metadati e campi dei moduli, ricevono il codice del valore o un segnaposto neutro. Le miniature create prima dell'oscuramento vengono eliminate, perché in un'immagine non si può cercare e sostituire.

I codici valgono per cartella: i codici di una cartella non sono visibili nelle altre, e solo un codice fissato a mano vale per tutto l'archivio. Il documento non lascia mai la macchina, né sul desktop né nell'app gratuita nel browser. Ma «100% offline» vale solo per il desktop, perché l'app nel browser invia un segnale anonimo all'avvio. La modalità del tutto isolata, senza verifica della licenza né segnalazione degli arresti anomali, è riservata al piano Pro.

Domande frequenti

Perché gli strumenti di oscuramento non vedono il testo nelle immagini?

Perché per un computer un'immagine è fatta di pixel, che solo all'occhio umano sembrano lettere. Quasi tutti gli strumenti presumono che qualcun altro abbia già riconosciuto i caratteri. Se nessuno lo fa, analizzano un testo vuoto e non segnalano nulla.

Il modulo immagini di Presidio non serve proprio a questo?

Sì, per chi sa metterlo in funzione. Si appoggia a Tesseract o a un motore simile, da installare e configurare a parte, lingua compresa. Per uno studio senza un tecnico interno è proprio il passaggio che manca.

Perché l'elaborazione locale conta di più su una scansione?

Perché le scansioni sono spesso i documenti più sensibili, e molti servizi le leggono in cloud. Il fornitore riceve allora l'immagine intera, con tutti i dati, e diventa di norma responsabile del trattamento.

Ti è stato utile? Faccelo sapere.

Condividi