Volver al blog

Anonimización de datos antes de la IA: así lo hace micapa.ai

Pegar un contrato en ChatGPT es regalar los datos de tu cliente. Contamos cómo hemos entrenado un modelo que los tapa antes, con cifras reales de acierto.

Ilustración de un documento con datos personales cubiertos por etiquetas de colores que fluyen hacia un módulo de inteligencia artificial

Tienes un contrato, una sentencia o un expediente de 40 páginas y quieres que la IA te lo resuma. Lo pegas en ChatGPT y en diez segundos tienes el resumen. También has enviado a un servidor ajeno el nombre de tu cliente, su DNI, su dirección y su cuenta bancaria. La anonimización de datos es el paso que casi nadie da antes de usar la IA, y es el paso que hemos convertido en producto con micapa.ai.

Por qué anonimizar antes de la IA y no después

La razón práctica es sencilla: lo que entra en el modelo ya ha salido de tu casa. Da igual lo que diga la política de privacidad del proveedor, da igual que tengas contratado el plan de empresa. Si el documento ha viajado con los datos personales dentro, ya has cedido el control sobre ellos. Anonimizar después no existe.

La razón legal es el RGPD. Los datos personales de tus clientes, empleados o pacientes solo pueden tratarse para el fin que justificó recogerlos. Pasarlos por un servicio de IA para redactar un informe es, en la mayoría de los casos, un tratamiento nuevo que exige encargado del tratamiento, base legal y, si el proveedor está fuera de la Unión Europea, garantías adicionales. Con el documento anonimizado la mayor parte de ese problema desaparece, porque lo que envías ya no es un dato personal.

Y hay una razón de negocio que se olvida: los despachos, asesorías, clínicas y departamentos de recursos humanos son justo los que más partido pueden sacar de la IA, porque viven de documentos largos. Son también los que menos la usan, porque no se atreven. Quitar los datos personales del texto es lo que desbloquea ese uso.

Anonimización y seudonimización no son lo mismo

Conviene separar los dos términos, porque se mezclan mucho. Anonimizar es eliminar la posibilidad de identificar a la persona, de forma irreversible. Seudonimizar es sustituir el dato por un código o etiqueta que permite recuperar el original si tienes la clave. El RGPD sigue considerando dato personal lo seudonimizado, pero lo trata como una medida de seguridad recomendable.

Para trabajar con IA, lo útil es una mezcla. El modelo de lenguaje recibe el documento con etiquetas del tipo PERSONA_1, EMPRESA_2 o DIRECCION_1, y responde usando esas mismas etiquetas. Cuando la respuesta vuelve a tu equipo, las etiquetas se sustituyen otra vez por los datos reales, que nunca salieron de tu servidor. El proveedor de IA ve un documento anónimo. Tú ves el resultado completo. Es lo que en micapa.ai llamamos ida y vuelta, y es el caso de uso para el que entrenamos el modelo.

Interfaz de micapa.ai con un documento y los datos personales sustituidos por etiquetas

Por qué no basta con buscar y reemplazar

La primera idea de cualquier equipo técnico es una lista de patrones: un DNI tiene ocho cifras y una letra, un IBAN empieza por ES, un teléfono tiene nueve dígitos. Funciona para eso y para poco más. Los nombres no siguen patrones. Las direcciones aparecen partidas en tres líneas. La misma persona se llama «María López García» en la primera página, «la Sra. López» en la tercera y «la demandante» en la quince. Si tapas la primera y dejas las otras dos, no has anonimizado nada: cualquier lector reconstruye quién es.

El otro fallo habitual es el contrario. Los sistemas que tapan demasiado convierten el documento en un queso de agujeros donde la IA ya no entiende qué se le pregunta. Un resumen de una sentencia en la que no se distingue quién demanda y quién es demandado no sirve para nada.

El problema real no es detectar datos personales. Es detectar todos, no detectar de más, y mantener la coherencia de quién es quién a lo largo del documento.

Lo que hemos entrenado

Empezamos por donde empieza casi todo el mundo: un sistema de patrones y listas. Sobre documentos reales no pasó del 57 % de acierto, y no había forma de subirlo por mucho patrón que añadiéramos. Cambiamos de arquitectura y entrenamos un modelo de lenguaje pequeño, con salida forzada a un formato estructurado, sobre un conjunto de más de 80.000 documentos públicos. Detecta 13 tipos de entidad: nombres de persona, empresas, direcciones, identificadores oficiales, cuentas bancarias, teléfonos, correos, fechas sensibles y el resto de datos que aparecen en un expediente español real.

Medimos el resultado en un banco de pruebas propio con 2.824 menciones de datos personales anotadas a mano, y estas son las cifras del modelo que hoy está en producción:

  • Fugas completas: 5 de 2.824 menciones han salido sin tapar en absoluto. Cobertura del 99,8 %.
  • Nombres de persona: F1 de 0,983, con una precisión de 0,980 y una exhaustividad de 0,987. Es la entidad que más importa y la que mejor sale.
  • Empresas: F1 de 0,923.
  • Direcciones: F1 de 0,898. Es la entidad más difícil, porque una dirección puede ocupar dos líneas y mezclar calle, piso, localidad y código postal en cualquier orden.
  • F1 global sobre los 13 tipos: por encima de 0,93.
  • Coherencia de identidad: F1 de 0,889 en global y de 0,981 en nombres. Esta métrica mide que «María López García», «la Sra. López» y «la demandante» reciban la misma etiqueta durante todo el documento. Es la que hace posible el viaje de ida y vuelta.

Una aclaración sobre cómo leer estas cifras. El F1 exacto penaliza que el modelo tape «calle Mayor 12» cuando la anotación decía «calle Mayor 12, 3º B». Para el lector de la sentencia, la dirección está tapada igual. Por eso la métrica que más nos importa es la cobertura, y es la que está en el 99,8 %.

Complejo por dentro, barato por fuera

El pipeline tiene varias etapas: normalización del texto, detección, resolución de quién es quién, generación de etiquetas coherentes y la sustitución inversa cuando vuelve la respuesta. Lo que no tiene es un modelo gigante en el medio. Elegimos un modelo pequeño a propósito, y eso tiene dos consecuencias que importan a una pyme.

La primera es que corre en hardware modesto. Hace falta una GPU, pero una GPU normal, no un clúster, para procesar el archivo de un despacho. La segunda es que el coste por documento es bajo, y eso permite pasar por el modelo todo lo que se envía a la IA, no solo lo que alguien decide que es sensible.

Pide acceso ya

Haz una prueba sencilla. Coge el último documento que alguien de tu equipo pegó en ChatGPT y cuenta cuántos datos personales llevaba. Casi siempre son más de los que se recuerdan. Después decide si ese documento debería haber salido así.

micapa.ai está en fase de lanzamiento como producto independiente para limpiar documentos antes de enviarlos a cualquier IA, y damos acceso gratuito a quien lo necesite. Pide acceso ya en micapa.ai y pruébalo con tus propios documentos. Las cifras que importan son las tuyas, no las nuestras.