Per Suso Merino · CEO

Com funciona per dins un motor d'anonimització de documents

28 d’agost del 2026

Com funciona per dins un motor d'anonimització de documents

Gairebé tothom s’imagina l’anonimització com un cercar i reemplaçar una mica més llest: localitzes el DNI, el ratlles i ja està. Qui ho ha intentat a escala sap que no. Un expedient administratiu real duu noms escrits de quatre maneres diferents, números de nou dígits que de vegades són un telèfon i de vegades no, referències a decrets que no s’han de tocar i persones que queden identificades sense que el seu nom aparegui enlloc.

Aquest article obre la caixa i explica què passa entre que puges un document i en reps el resultat. Si el que busques és la fitxa del producte —quines tipologies, quins formats, quines garanties—, és a les especificacions tècniques.

Per què cap tècnica no serveix tota sola

Hi ha dues famílies d’eines per localitzar dades personals en un text, i cadascuna falla justament on l’altra encerta.

Les regles deterministes —expressions regulars, validadors de format— són quirúrgiques amb tot allò que té estructura. Un NIF, un IBAN o una adreça electrònica es descriuen amb precisió i es troben sense marge de dubte. Però no tenen ni idea de llengua: per a una expressió regular, «Àvila» i «Anna Àvila» són igual d’opacs.

Els models de llenguatge fan exactament el contrari. Reconeixen que «la Sra. Fernández Iglesias» és una persona i que «Talarrubias» és un municipi, perquè han vist milions de frases semblants. El que no saben fer és una divisió entre 23 per comprovar si la lletra d’un DNI quadra.

La conclusió pràctica és que un motor seriós no tria: encadena diverses passades especialitzades, cadascuna aportant candidats amb la seva pròpia puntuació de confiança, i deixa la decisió final per a l’últim pas.

Les capes, una a una

CapaQuè resol
Extracció i normalitzacióTreu el text del document ofimàtic, de les cel·les o de la capa de text del PDF, i desa la posició exacta de cada fragment. Sense aquesta posició, la substitució desplaça la resta del document i trenca la maquetació
Reconeixedors deterministesLocalitzen els identificadors d’estructura coneguda i comproven que són matemàticament vàlids abans de donar-los per bons
Reconeixement d’entitatsUn model entrenat en castellà localitza persones, organitzacions i llocs en text lliure; un segon model admet tipologies noves descrites en llenguatge natural
CorreferènciaAgrupa totes les mencions que es refereixen a la mateixa persona
Relacions i quasi-identificadorsDetecta qui queda identificat pel seu vincle, el seu càrrec o una combinació d’atributs
Control de qualitatMesura l’encert de manera desagregada i corregeix les desviacions conegudes dels models
DecisióResol solapaments, aplica llindars, plantilla, llista blanca i llista negra, i registra l’origen de cada substitució

Cada capa s’aguanta damunt l’anterior. Si l’extracció perd la posició del text, la substitució s’aplica al lloc equivocat per molt bé que hagi funcionat el model d’entitats.

Validar abans de ratllar

Trobar una cadena amb la forma d’un DNI és fàcil. Comprovar que és un DNI requereix fer el càlcul. És la diferència entre ratllar un número d’expedient perquè s’hi assembla i deixar-lo on és.

IdentificadorComprovació
NIF de persona físicaLletra de control pel residu de la divisió entre 23
NIELa inicial X, Y o Z se substitueix pel seu valor numèric abans de calcular la lletra
NIF de persona jurídicaDígit o lletra de control segons el tipus d’entitat
Número de la Seguretat SocialDígits de control per mòdul 97
IBANNorma ISO 13616, comprovació per mòdul 97
Matrícula de vehicleFormat actual i formats provincials històrics
Codi Segur de VerificacióPatró configurable, perquè cada organisme emissor fa servir el seu
Correu, IP, URLValidació sintàctica

Hi ha un cas que mereix paràgraf a part, i és el que més documents administratius ha arruïnat: les referències normatives. «Decreto 45/2019, de 3 de abril» és, per a un detector ingenu, una data acompanyada de dos números. Si el ratlla, el resultat és una resolució il·legible de la qual ha desaparegut precisament la norma que la justifica. Per això les citacions a lleis, decrets i circulars es reconeixen no per anonimitzar-les, sinó per protegir-les de l’anonimització.

Damunt d’aquesta base actua el realçament per context. Un número de nou dígits aïllat és ambigu; el mateix número precedit de «telèfon de contacte» deixa de ser-ho. Les paraules de l’entorn immediat —DNI, compte, domicili, expedient— pugen o baixen la confiança del candidat.

Vols veure-ho sobre els teus propis documents?

Puja un expedient real i mira què hi detecta, amb quina confiança i per què. Tres documents gratis, sense targeta.

Provar gratis

Una decisió per persona

En un expedient llarg, la mateixa persona apareix com a «Doña María Luisa Fernández Iglesias» a l’encapçalament, com «la sol·licitant» als antecedents, com «la interessada» als fonaments i com «la Sra. Fernández» a la resolució. Un sistema que tracti cada menció per separat t’obligarà a prendre quaranta decisions sobre la mateixa persona, i n’hi haurà prou que se te n’escapi una.

La correferència construeix la llista de persones del document i penja de cadascuna totes les seves aparicions. Decideixes un cop, i la decisió es propaga. És també el que fa que la tokenització sigui estable: si totes les mencions d’algú s’agrupen, totes poden rebre la mateixa etiqueta, i [PER_1] continua sent la mateixa persona quaranta pàgines més endavant.

Qui queda identificat sense ser anomenat

«El germà de la sol·licitant» és una dada personal. «L’alcaldessa d’un municipi de 3.000 habitants», també. Cap dels dos conté un nom, i tots dos permeten arribar a una persona concreta amb dos clics.

El Comitè Europeu de Protecció de Dades anomena singularització el fet que un registre es pugui aïllar dins d’un conjunt, i la considera un dels tres riscos que cal descartar per poder afirmar que una dada és anònima. Els altres dos són la vinculabilitat i la inferència, i els desenvolupem a la guia sobre anonimització i pseudonimització.

Detectar aquests vincles no n’hi ha prou: cal decidir què se’n fa, i la resposta depèn del destí del document. Generalitzar el vincle («germana de [PER_2]») sol ser suficient per publicar una resolució en un portal de transparència. Neutralitzar el càrrec converteix «alcalde de Santa Cruz de la Palma» en una categoria genèrica. I per cedir un conjunt d’expedients amb finalitats estadístiques, suprimir el sintagma sencer és més segur que qualsevol maquillatge.

Els dos errors no costen el mateix

Aquí hi ha una decisió de disseny que convé entendre, perquè explica el comportament del sistema.

Un fals positiu —ratllar alguna cosa que no era una dada personal— costa llegibilitat i s’arregla amb dos clics a la pantalla de revisió. Un fals negatiu —deixar una dada personal a la vista— és una comunicació no autoritzada de dades personals, amb el que això implica davant l’AEPD.

Com que els dos errors no són simètrics, el calibratge tampoc: davant el dubte, es marca. La precisió es recupera després, en la revisió humana, que és ràpida perquè consisteix a descartar de més i no a buscar el que falta. Si el teu cas demana un altre equilibri, els llindars de confiança s’ajusten per tipologia.

Per què s’ha substituït cada dada

Una anonimització que no pots explicar és una anonimització que no pots defensar. Per cada substitució aplicada convé poder respondre a quatre preguntes: quina capa la va originar, quina tipologia se li va assignar, amb quina confiança exacta —el número, no un «alta» o «mitjana»— i què va disparar la detecció.

Serveix per a tres coses ben pràctiques: entendre un resultat que t’ha sorprès, ajustar la configuració amb criteri en lloc de per prova i error, i documentar davant d’un tercer com es va prendre una decisió automàtica sobre un document. La tercera deixa de ser opcional tan bon punt el document va a un expedient públic.

El biaix també és un problema de protecció

Els models de reconeixement d’entitats s’entrenen amb text públic, i aquest text no està equilibrat. Està mesurat i documentat que els sistemes de reconeixement de noms encerten menys amb noms femenins que amb masculins, i menys amb cognoms d’origen no hispànic que amb castellans.

En gairebé qualsevol altra aplicació això seria un problema de qualitat. En anonimització és un problema de drets: significa que unes persones quedarien més ben protegides que altres pel simple fet de com es diuen. Les mesures raonables són quatre, i cap no és exòtica:

  1. Mesurar per separat, no en agregat. Una mitjana alta pot amagar un subgrup mal cobert.
  2. Cobrir la flexió: germà i germana, alcalde i alcaldessa, regidor i regidora, don i doña.
  3. Ajustar el llindar del subgrup que es reconeix amb menys confiança, en lloc d’aplicar-ne un de sol que el deixaria fora.
  4. Ampliar els recursos lèxics cap on la mesura assenyali.

Res d’això no elimina el biaix; el fa mesurable i el redueix. Que la revisió humana continuï formant part del procediment recomanat no és una clàusula d’estil: és la conseqüència lògica d’admetre que cap model no encerta sempre.

Quan el document és un escaneig

Si el fitxer no té capa de text —un escaneig, una fotografia, un fax digitalitzat—, el reconeixement òptic deixa de ser un accessori i passa a determinar la qualitat de tota la resta. Un bon procés fa quatre coses: preprocessa la imatge adaptant-s’hi (redreçament, soroll, perspectiva, binarització), transcriu amb tolerància a segells superposats i tipografies de màquina d’escriure, analitza l’estructura de la pàgina per no barrejar dues columnes contigües, i realimenta: quan apareix un candidat de baixa confiança sobre text reconegut òpticament —un NIF amb la lletra que no quadra, una data impossible—, aquella regió es torna a examinar amb altres paràmetres.

Hi ha un detall que en documentació d’arxiu marca la diferència: el reconeixement òptic perd accents amb freqüència, i un text on «Fernández» apareix com «Fernandez» degrada la detecció de noms propis. Per això la comparació ha de ser insensible a l’accentuació des de la capa de normalització.

I un advertiment sobre el resultat: en una imatge, la substitució s’ha d’aplicar sobre els píxels. Un rectangle negre d’anotació PDF o una capa superposada es retiren amb qualsevol visor, i la dada continua a sota.

Fulls de càlcul: mana la columna

En un full de càlcul o en un bolcat de base de dades, analitzar cada cel·la pel seu compte és un error de mida. El correcte és inferir la tipologia de la columna sencera, a partir del conjunt dels seus valors i de l’encapçalament, i aplicar-la a totes les cel·les inclosos els valors atípics: la que té un espai de més, la que duu la lletra en minúscula, la que va quedar buida.

I en dades estructurades hi ha un risc que no es veu mirant columnes d’una en una. Codi postal, any de naixement, sexe i categoria professional són quatre camps innocents que, combinats, poden deixar una única persona en el seu grup. Verificar la k-anonimitat consisteix a fixar un valor de k i comprovar quines combinacions queden per sota d’aquest llindar. L’AEPD ho recull a la seva nota tècnica sobre k-anonimitat i la norma ISO/IEC 20889:2018 ho situa entre les tècniques de desidentificació reconegudes. És la comprovació pertinent abans d’una cessió estadística o de publicar un conjunt de dades obertes, on no n’hi ha prou d’haver esborrat la columna del nom.

Preguntes freqüents

Per què no n’hi ha prou amb expressions regulars per anonimitzar documents?

Perquè només troben allò que té estructura fixa. Un NIF o un IBAN sí; un nom propi, una adreça escrita en prosa o «el germà de la sol·licitant», no. I sense validació del dígit de control, una expressió regular ratlla qualsevol número que s’assembli a un DNI, inclosos els d’expedient.

Què és la correferència i per què importa en anonimitzar?

És agrupar totes les formes en què un document anomena la mateixa persona: nom complet, cognom amb tractament, i designacions pel seu paper com «la interessada». Importa perquè permet prendre una sola decisió per persona en lloc d’una per menció, que és on es produeixen els oblits en documents llargs.

Es pot anonimitzar un PDF escanejat sense capa de text?

Sí, mitjançant reconeixement òptic, però amb dues condicions. La primera és que el procés corregeixi la imatge abans de transcriure-la i sigui insensible a la manca d’accents. La segona és que la substitució s’apliqui sobre els píxels i no com una capa superposada, que es retira amb qualsevol visor de PDF.

Què és la k-anonimitat i quan cal comprovar-la?

És la garantia que qualsevol combinació d’atributs d’una taula es repeteix com a mínim en k persones, de manera que ningú no queda sol en el seu grup. Convé comprovar-la sempre que hagis de cedir un conjunt de dades amb finalitats estadístiques o publicar-lo com a dades obertes.

En resum

Un motor d’anonimització solvent no és un cercador de patrons amb millor punteria. És una cadena de decisions on cada pas cobreix el punt cec de l’anterior, calibrada sabent que deixar passar una dada costa molt més que ratllar-ne una de més, i capaç d’explicar per què va fer el que va fer.

Si vols el detall de què detecta anonimiza.do, en quins formats i amb quines garanties, és a les especificacions tècniques. I si prefereixes veure-ho funcionant, prova-ho amb els teus propis documents.

Anonimitza els teus documents sense perdre hores

Prova anonimiza.do gratis — 3 documents al mes sense targeta. Elimina dades personals de contractes, nòmines i informes en segons, amb plena conformitat RGPD.

Prova-ho gratis!