Posicionamiento
· 7 min de lectura

Por qué nadie creó una herramienta para quien tiene el escaneo

Unas 2.800 descargas por semana. Eso es todo lo que pesa, en el mundo entero, la herramienta libre más conocida para sacar datos personales de una imagen, según el índice de paquetes de Snyk. No al mes. A la semana. Ponga esa cifra frente a la cantidad de contratos escaneados, fotocopias de DNI y consentimientos firmados que ahora mismo duermen en los archivadores de cualquier gestoría española, y no verá una carencia tecnológica. Verá un mercado que ya eligió a su cliente, y ese cliente no es quien tiene el documento en la mano.

La presunción de extracción

Abra la documentación de cualquier herramienta de prestigio y mire la primera llamada de función. Espera una cadena de texto. Usted entrega texto y recibe posiciones — los caracteres 40 a 51 son un nombre. Es una interfaz limpia y honesta, y para el trabajo al que está destinada es la correcta.

Pero fíjese en lo que da por hecho. Da por hecho que el texto ya existe. Alguien, en algún momento, ya convirtió la página en caracteres. Llamémoslo la presunción de extracción: toda la categoría empieza un paso después de lo más difícil del trabajo, y nunca dice en voz alta a quién le toca ese paso.

Para un programador no hay problema, porque el programador es ese alguien. Tiene una columna en la base de datos, un registro de conversación, un campo JSON. El texto es el terreno donde ya vive su problema. Para quien tiene un PDF escaneado, la presunción es el problema entero, y se le ha asignado en silencio.

La pista está en las instrucciones de instalación

Presidio — el estándar de facto, nacido en Microsoft y hoy gobernado por su comunidad — sí incluye un módulo para imágenes, y está bien hecho. Lea cómo se pone en marcha: instale el paquete de Python y después instale Tesseract OCR por separado para su sistema operativo, en una versión reciente; la documentación menciona pruebas con la v5.2.0. La variante para imagen médica añade otra advertencia: censura los píxeles, pero no limpia los datos personales que puedan seguir en los metadatos del archivo.

Cada una de esas frases le sirve a un ingeniero. Ninguna es legible para una responsable de recursos humanos con cuarenta contratos laborales escaneados encima de la mesa. No es un fallo de documentación. Es una declaración sobre para quién está hecho el producto, y es honesta.

Los grandes proveedores de nube hacen lo mismo con más facturación de por medio: le venderán el reconocimiento de texto como un servicio y la detección de entidades como otro, y le dejarán a usted el cableado entre ambos. Dos productos, un proyecto de integración y una factura. El trabajo de ensamblaje, que es justo donde ocurren los errores, es cosa del cliente por diseño.

La respuesta del líder: lo difícil, hágalo usted

Adobe Acrobat es donde la mayoría lo intenta de verdad, y su respuesta son dos pasos: primero pase el reconocimiento de texto sobre el documento escaneado y después use Buscar y censurar. Dicho de otro modo: haga usted la extracción y ya seguimos nosotros. La misma presunción, solo que ahora con una persona colocada en la costura.

En esa costura viven los hilos de soporte. El reconocimiento falla sin ruido en un fax de poco contraste. La búsqueda encuentra once de los catorce nombres porque el duodécimo se leyó con una ligadura rota. En ningún momento salta un error. Se le pide que sea el control de calidad de un proceso que nunca le enseñaron.

Nosotros hicimos la misma presunción. La nuestra fue peor.

Me gustaría escribir esto como crítica desde fuera. No puedo: también nosotros enviamos la presunción de extracción, en tres sitios distintos, y solo lo descubrimos al ir a medirlo.

Nuestra cadena de detección tenía que decidir si merecía la pena leer una página como imagen, y hacía la pregunta equivocada — «¿hay aquí una imagen grande?» — usando la superficie como indicio de importancia. El nombre de una empresa en una franja de membrete ocupa alrededor de medio por ciento de un folio. Se colaba entero. El tamaño nunca fue la pregunta. La pregunta es si hay texto dibujado encima de la imagen: texto encima significa marca de agua o fondo, y ausencia de texto encima significa que la extracción está ciega ahí, sea cual sea el tamaño.

Peor todavía: la función encargada de comprobar si una página contenía imágenes incrustadas llamaba a un método que nuestra biblioteca de PDF no tenía. El error se tragaba a nivel de depuración. Llevaba respondiendo «aquí no hay imágenes» todo el tiempo que esa dependencia estuvo fijada, incluso en una página compuesta en un 65 % por imagen. Un falso silencioso no se distingue de una respuesta correcta, y así es exactamente como sobrevivió.

Y cuando alguien dibujaba a mano un recuadro de censura sobre un membrete escaneado, nuestro editor leía la capa de texto de la página, no encontraba nada dentro del recuadro y no capturaba nada. La persona señalaba precisamente lo que más quería borrar, y nosotros no lo borrábamos, en silencio. En una página que acabábamos de leer, antes de tirar sus palabras.

Tres fallos, una sola causa raíz, y es la misma que la del mercado: fuimos a por el texto y tratamos la imagen como el paso de otro.

Quién paga el fallo silencioso

Una herramienta que se cuelga es molesta. Una herramienta que informa de que «no se han encontrado datos personales» en una página llena de nombres es otra cosa: no falla, extiende un certificado de buena salud y traslada la responsabilidad a alguien que no tiene forma de auditarlo.

Piense en quién guarda de verdad documentos escaneados. No el equipo de plataforma de un gran banco: allí hay ingenieros y el texto ya lo tienen. Son el despacho de dos abogados, el centro de salud que digitaliza sus formularios de admisión, la trabajadora social con una fotocopia del DNI, la gestora de personal con ofertas firmadas. Los documentos con forma de imagen son, de forma desproporcionada, los sensibles, y quienes los custodian son, con la misma desproporción, incapaces de escribir la integración que todo el mercado de herramientas da por supuesta.

También son quienes peor absorben lo que pasa cuando sale mal. El ingeniero que cablea mal una cadena de censura abre una incidencia. La persona cuya fotocopia del DNI salió sin censurar acude a la AEPD, y bajo el RGPD la brecha se notifica en 72 horas.

Qué cambia cuando se construye para el otro cliente

Cambia la entrada. La unidad de trabajo pasa a ser la página tal y como existe, imagen incluida, y no una cadena de texto que se suponía que iba a producir otro.

En concreto: el reconocimiento de texto no es un paso previo que lance el usuario, va dentro de la cadena. Un recuadro dibujado a mano que no atrapa ninguna palabra vuelve a leer su propia página, para que una corrección manual no pueda quedarse en nada. Los nombres detectados se convierten en rectángulos pintados sobre los píxeles, y debajo se reconstruye una capa de texto buscable para que el archivo siga sirviendo. Si prefiere la mecánica al argumento, la contamos en cómo censurar PDF e imágenes escaneados.

Nada de esto es más ingenioso que lo que construyeron los autores de Presidio. Son las mismas piezas, colocadas para alguien que nunca iba a abrir una terminal. Y funciona en el mismo equipo donde ya está el documento, lo cual, tratándose de la copia de un pasaporte, no es una preferencia.

Preguntas frecuentes

¿Por qué las herramientas de censura no ven el texto dentro de las imágenes?

Porque la mayoría nunca mira la imagen. Su punto de entrada acepta texto, así que una página escaneada llega sin nada que buscar y sale con «ningún resultado», en silencio. Hay que tratar la imagen como la entrada, no como un paso que ejecuta antes el usuario.

¿No es justamente para eso el módulo de imágenes de Presidio?

Lo es, y funciona. También es un paquete de Python que espera que usted instale por su cuenta un motor de reconocimiento de texto: una petición razonable para un programador e imposible para la mayoría de quienes guardan escaneos. Dónde encaja su motor de texto y dónde no lo escribimos en por qué construimos nuestro propio motor en vez de distribuir Presidio.

¿Por qué el procesamiento local importa más con documentos escaneados?

Porque los escaneos tienden a lo sensible: documentos de identidad, historiales médicos, acuerdos firmados. Enviarlos a un servicio para que les quite los secretos implica que los secretos llegan antes a ese servicio, que es el riesgo que se asume cuando el documento mismo es lo sensible.

En resumen

Si censurar un PDF lleno de imágenes sigue siendo tan difícil no es porque el problema esté sin resolver. Cada pieza existe desde hace años. Es que las piezas se diseñaron y se tarificaron para programadores que trabajan con flujos de texto, y el ensamblaje, la parte cara y propensa a romperse, se dejó a quien resultara tener el archivo en la mano.

La mayoría no son programadores. Es alguien en un mostrador, haciendo una copia de un documento que un desconocido acaba de entregarle porque necesitaba algo: un empleo, un tratamiento, una vivienda. Esa persona no consintió una cadena de procesamiento. Consintió que una oficina, una tarde concreta, tuviera cuidado con un papel que habla de ella. Lo que construyamos debería hacer que ese cuidado sea lo normal, y no algo que haya que merecer siendo lo bastante técnico.

promptShield ejecuta el reconocimiento de texto, la detección y la censura de PDF e imágenes escaneados en su propio equipo: ningún paquete que instalar, ningún paso previo de reconocimiento y nada que se suba a ninguna parte. Pruébelo con ese escaneo que su herramienta actual da por limpio.

¿Le ha resultado útil? Háganoslo saber.

Compartir