Anonimizar un documento antes de pegarlo en ChatGPT o Claude
Cómo sustituir cédulas, nombres y teléfonos por marcadores consistentes, consultar a la IA con el texto anónimo y recuperar los datos reales en la respuesta.
Por Brayan Pedraza7 min de lectura
En corto
Convierte el documento a texto, sustituye cada dato personal por un marcador estable del tipo [NOMBRE_1] o [DOCUMENTO_2], pega ese texto anónimo en el modelo y, cuando responda, deshaz la sustitución en tu equipo con el mapa que generaste. El modelo trabaja con la estructura del documento sin ver quién es quién, y tú recuperas la respuesta con los datos reales. La clave es que el marcador sea consistente: el mismo valor siempre por el mismo marcador, o el texto deja de tener sentido.
Por qué el rectángulo negro no sirve
Empecemos por el error más caro, porque lo sigue cometiendo gente con abogados buenos.
En un PDF, dibujar un rectángulo negro encima de un texto no borra el texto. El PDF guarda por separado los glifos y los gráficos. El rectángulo es un gráfico que se pinta encima; el texto sigue debajo, se puede seleccionar, copiar, buscar y extraer con cualquier herramienta. Hay una lista larga de filtraciones públicas —de gobiernos, de bufetes, de aseguradoras— que consisten exactamente en eso.
Lo mismo pasa con muchas funciones llamadas «redacción» en editores generales: tapan visualmente y no tocan el contenido.
Lo que sí funciona es sustituir el texto: quitar la cadena del contenido y poner otra en su lugar.
El viaje de ida y vuelta
La parte que casi nadie implementa es la vuelta, y es la que hace que esto sea usable en el trabajo real.
Ida. El documento dice:
Paciente Juan Carlos Pérez Gómez, C.C. 1.020.345.678, tel. 310 555 0199,
consulta por dolor torácico de tres días de evolución.
Lo que pegas en el modelo dice:
Paciente [NOMBRE_1], C.C. [DOCUMENTO_1], tel. [TELEFONO_1],
consulta por dolor torácico de tres días de evolución.
El modelo conserva todo lo que necesita para trabajar: que hay un paciente, que hay un documento de identidad, que el motivo de consulta es dolor torácico de tres días. No conserva quién es.
Vuelta. El modelo responde con [NOMBRE_1] dentro de su texto. En tu equipo, con el mapa que se generó al anonimizar, [NOMBRE_1] vuelve a ser Juan Carlos Pérez Gómez. El mapa nunca salió de tu máquina.
Esto es distinto de lo que hacen los pipelines de limpieza de corpus como Dolma o datatrove, que sustituyen por un token fijo e irreversible. Para entrenar, la irreversibilidad es deseable. Para consultar, es un estorbo: te deja una respuesta llena de huecos que tienes que rellenar a mano.
Por qué el marcador tiene que ser consistente
Si cada aparición del mismo nombre recibe un marcador distinto, el texto pierde el hilo:
[NOMBRE_1] firmó el contrato. [NOMBRE_7] se obliga a pagar.
[NOMBRE_3] no respondió al requerimiento.
El modelo no puede saber que son la misma persona, y cualquier razonamiento sobre quién debe qué a quién se rompe. Con marcadores consistentes, la estructura lógica del documento se conserva intacta:
[NOMBRE_1] firmó el contrato. [NOMBRE_1] se obliga a pagar.
[NOMBRE_1] no respondió al requerimiento.
Lo mismo aplica entre tipos: si un mismo número aparece como cédula en una página y como referencia en otra, conviene que reciba el mismo marcador.
Qué se detecta bien y qué no
Aquí toca ser honesto, porque el marketing de esta categoría es optimista.
Se detecta bien lo que tiene formato fijo y verificable:
- Correos electrónicos
- Teléfonos con prefijo reconocible
- Documentos de identidad con dígito de verificación (cédula, NIT)
- Fechas
- IBAN, tarjetas, matrículas
Se detecta peor lo que depende del contexto:
- Nombres sin etiqueta previa («Juan» a secas, en mitad de una frase)
- Nombres escritos de forma inusual o con errores de OCR
- Direcciones informales («al lado de la panadería»)
- Identificadores internos («expediente 4471-B»)
La cifra que conviene recordar: los anotadores humanos de StarCoder (arXiv:2305.06161) alcanzaron 99 % de cobertura en correos, 89 % en nombres y 53 % en identificadores genéricos, tan poco que excluyeron esa categoría del entrenamiento. Si las personas anotando a mano sacan un 53 %, ninguna herramienta automática va a darte el 100 %.
Consecuencia práctica: revisa el resultado. Una buena herramienta te resalta cada hallazgo para que puedas leerlos en treinta segundos antes de copiar.
Un detalle técnico que costó un fallo real
Si escribes las reglas tú, cuidado con los espacios.
Una expresión regular que use \s* entre las partes de un nombre cruza saltos de línea. En un documento con el nombre al final de una línea, eso captura la primera palabra de la línea siguiente y, peor, deja fuera parte del nombre. En un caso real filtró el apellido de un paciente.
Para separadores dentro de un nombre, usa solo espacio y tabulador: [ \t].
Cuándo esto no basta
Anonimizar reduce el dato personal que sale, que es exactamente el principio de minimización del RGPD (artículo 5.1.c) y el espíritu de la ley 1581 de 2012 en Colombia. No te convierte en cumplidor automático:
- Un texto anonimizado puede seguir siendo reidentificable por el contexto: si el documento dice «el único neurocirujano del hospital de un municipio de 4.000 habitantes», el nombre sobra.
- Si el documento es sensible por su contenido y no por sus nombres —una estrategia comercial, un diseño no publicado—, anonimizar no protege nada.
- El responsable del tratamiento sigues siendo tú. La herramienta reduce el riesgo; no lo asume.
Para esos casos, la opción es un modelo local (Ollama, LM Studio) o un servidor MCP que procese en tu máquina, donde el texto no sale en absoluto.
Cómo hacerlo ahora
En el navegador, sin instalar nada: suelta el PDF en PDF a Markdown con anonimización. Te enseña el texto con cada hallazgo resaltado, te deja copiarlo y, cuando vuelvas con la respuesta de la IA, la restaura con los datos reales en la misma pestaña.
En terminal, si es parte de un flujo:
npx sirdas anonymize contrato.pdf -o anonimo.md --map mapa.json
# … consulta al modelo con anonimo.md …
npx sirdas restore respuesta.md --map mapa.json
El mapa es un archivo tuyo, en tu disco. Si lo pierdes, la anonimización deja de ser reversible; si lo compartes, deja de ser anonimización.