Porque casi todas las herramientas de anonimización parten de un texto, y una página escaneada no es texto. Quien quiere ocultar datos personales en imágenes escaneadas tiene que convertir antes la página en texto. Es el paso más difícil. Ninguna herramienta dice a quién le corresponde, y acaba tocándole a quien tiene el escaneo delante.
Todo empieza por una cadena de texto
Presidio es la herramienta de referencia más citada. Nació en Microsoft y hoy la gobierna la comunidad. Se instala con pip install presidio-analyzer presidio-anonymizer y ofrece una función que analiza una cadena. Devuelve posiciones: entre el carácter 40 y el 51 hay un nombre.
Es un diseño limpio y útil. Da por sentado que el usuario ya tiene el texto. Para el cliente real de estas herramientas, es lo razonable: un equipo de ingeniería que depura registros o bases de datos trabaja con texto desde el primer minuto.
El despacho, la notaría y la gestoría heredan ese diseño sin ser ese cliente. Antes de la primera llamada a la función, alguien tiene que convertir la página en texto, y ningún producto se encarga de ello.
A falta de otro, le toca a quien tiene el escaneo delante, como la asesora laboral con cuarenta nóminas fotocopiadas. Es la persona con menos medios para hacerlo bien y más que perder si falla.
El módulo de imágenes de Presidio
Presidio tiene un módulo de imágenes, presidio-image-redactor. Exige instalar Tesseract por separado, con sus paquetes de idioma, y escribir el código que une las piezas. Para un desarrollador es una línea de configuración. Para un despacho de seis personas sin informático, es una barrera.
Ese módulo registraba unas 2800 descargas semanales en octubre de 2026, según el índice de paquetes de Snyk. Es una media móvil, así que solo tiene sentido con su fecha. Incluye además instalaciones automáticas de servidores de pruebas. Aun así, la cifra es mínima frente a los escaneos que pasan cada día por los despachos y gestorías de un solo país.
Un escaneo mal leído no avisa
Si el reconocimiento confunde un 8 con una B, el DNI 12345678Z deja de parecer un DNI y ningún patrón lo identifica. Si el idioma configurado no es el del documento, los nombres salen deformados y el modelo ya no los reconoce. El resultado parece anonimizado, con sus recuadros negros, pero deja un número de la Seguridad Social intacto en la página tres.
El RGPD y la LOPDGDD atribuyen la responsabilidad al despacho, como responsable del tratamiento. El deber de secreto profesional recae sobre el abogado. A ninguna de esas normas le importa cómo está construida la herramienta, y a la AEPD tampoco.
Subir el escaneo a un servicio de reconocimiento en la nube parece la salida obvia. Ese proveedor pasa entonces a ser encargado del tratamiento, y el artículo 28 del RGPD exige un contrato escrito con él: qué hace con los datos, dónde, cuánto tiempo y con qué subencargados.
Es lo que pediría la AEPD en una inspección, y muchos despachos no lo han firmado con el servicio gratuito que usan. Si un contrato concreto basta en su caso, consúltelo con su asesor.
Nosotros cometimos el mismo error
promptShield partió del mismo supuesto. Eso nos llevó a tres fallos. Los contamos porque muestran que el problema afecta a toda la categoría.
El primero fue elegir qué imágenes leer según su tamaño. Nuestro código usaba la superficie como indicador de importancia y descartaba las imágenes pequeñas. Pero lo pequeño suele importar: la fotocopia reducida de un DNI, un sello con el número de colegiado, una firma con el nombre impreso.
El segundo fue más silencioso. Para saber si una página tenía imágenes, llamábamos a un método que nuestra biblioteca de PDF no tenía. La excepción quedaba en el registro de depuración, que nadie mira en producción. La función respondía «no hay imágenes» a cualquier documento.
El tercero apareció con el uso. Cuando la detección no ve algo, lo natural es dibujar un recuadro a mano. Sobre una zona escaneada, ese recuadro no capturaba nada, porque debajo no había texto. Ninguno de los tres daba un error visible, y los tres dejaban un documento con aspecto de protegido.
Qué hace hoy la aplicación con un escaneo
Hoy la página escaneada se trata como una imagen. La aplicación la convierte a 300 ppp y la lee con Tesseract, con el idioma del documento más el inglés. Localiza los datos personales como regiones de la imagen, cubre esos píxeles y reconstruye debajo una capa de texto en la que se puede buscar. La mecánica está en cómo se ocultan datos en PDF escaneados e imágenes.
Se distribuyen ocho paquetes de idioma: inglés, francés, alemán, español, italiano, neerlandés, portugués y polaco. Un escaneo en catalán, euskera o gallego se lee con un paquete que no es el suyo. Con el paquete equivocado, la lectura falla sin avisar.
Sobre el texto recuperado actúan los Patrones (DNI, IBAN, número de la Seguridad Social), el Reconocimiento de entidades (nombres, empresas, domicilios) y el Análisis profundo, una capa opcional desactivada por defecto. Los resultados se combinan, se eliminan duplicados y se propagan entre páginas.
Después se filtra el ruido. Ningún modelo local detecta todos los identificadores, y por eso existe el panel Revisar.
Tachar elimina el contenido en lugar de pintar un rectángulo negro encima. La exportación trata también lo que queda fuera de la página visible: texto alternativo, metadatos XMP, destinos con nombre y campos de formulario.
En esos elementos se escribe el código del valor si se codificó, o un marcador neutro si se tachó. Las miniaturas anteriores al tachado se eliminan, porque dentro de una imagen no se puede buscar y reemplazar.
Con Codificar, el código vale dentro de su carpeta, y solo un código fijado a mano es común a toda la Biblioteca. La aplicación de escritorio funciona cien por cien sin conexión; su modo aislado, en el plan Pro, prescinde incluso de la licencia y de los informes de errores.
La aplicación gratuita del navegador envía una señal anónima al arrancar. En las dos, el documento no sale del equipo.
Ante cualquier herramienta, pregunte quién convierte la página en texto, dónde y qué pasa cuando falla. La comparación con Presidio está en por qué construimos nuestro propio motor de detección.
Preguntas frecuentes
¿Por qué las herramientas de ocultación no ven el texto de las imágenes?
Porque reciben texto, y una página escaneada es una fotografía de letras. Antes hace falta un reconocimiento óptico de caracteres, y la mayoría de las herramientas deja esa tarea al usuario.
¿No es para eso el módulo de imágenes de Presidio?
Sí, para quien sabe montarlo: hay que instalar Tesseract, elegir los idiomas y escribir el código que une las piezas. Un despacho sin informático rara vez llega a ponerlo en marcha.
¿Por qué el procesamiento local importa más en un escaneo?
Porque una imagen viaja entera, con firmas, sellos y números de cuenta. Si la lee un servicio externo, se aplica el artículo 28 del RGPD. Si se lee en el propio equipo, esa comunicación de datos no se produce.