Toda organización bien gestionada ya controla las vías de salida de datos conocidas. Se monitorea el copiar-pegar, la descarga de archivos queda registrada, los correos se escanean, la impresión se restringe. Estos controles detienen la gran mayoría de las exposiciones accidentales de datos.
Queda una única vía que ninguno de ellos ve: la captura de pantalla. Un usuario con permiso solo de visualización toma una foto de la pantalla — con el teléfono que tiene en la mano, con el atajo de captura de pantalla del sistema operativo, o con una grabación de pantalla hecha con un dispositivo aparte. La imagen sale de la organización como píxeles. El píxel no es un evento de copiar-pegar, ni una descarga de archivo, ni un correo — ninguna de las herramientas existentes lo percibe como una salida de datos.
Lo que se puede hacer con esa imagen ha cambiado drásticamente en los últimos años. Los motores OCR clásicos (como Tesseract, AWS Textract) pueden extraer texto de calidad de producción de una imagen. Los modelos de visión de IA modernos — como GPT-4V, Claude Vision, Gemini — van aún más lejos: miran la imagen de forma holística e infieren la estructura de la tabla, las secciones del contrato, los campos del formulario, a veces leyendo más que incluso una persona bien entrenada.
Las defensas que se proponen con frecuencia para este problema — marcas de agua visibles, DOM no copiable, detección de grabación de pantalla, control del portapapeles desde la gestión de dispositivos móviles — se apoyan en supuestos que ya no se sostienen. Una marca de agua visible no impide leer el texto que la rodea. Un DOM no copiable no detiene la cámara del teléfono móvil. La detección de grabación de pantalla no ve una grabación hecha con un dispositivo aparte.
El único lugar que realmente cierra esta vía es el propio píxel mostrado en pantalla — usted ordena lo que aparece en la pantalla del usuario de tal forma que no se pueda extraer texto significativo de la imagen capturada.
ZeroLeak ejecuta la aplicación web protegida en un navegador del servidor y pasa los fotogramas renderizados por intervenciones a nivel de píxel antes de que lleguen al usuario. El navegador del usuario recibe un flujo de píxeles — no HTML, DOM ni JavaScript — de modo que la única forma de extraer contenido es fotografiar lo que está en pantalla. Y esa imagen es, por diseño, ilegible para los modelos OCR y de visión de IA.
ZeroLeak abre la aplicación web protegida en su propio servidor, dentro de un navegador headless. El navegador del usuario nunca recibe el HTML, el JavaScript ni el DOM de la página — solo recibe el flujo de píxeles de la versión renderizada de esa página. Puede pensarlo como ver un video: las entradas de clic y teclado se envían hacia atrás, al navegador del servidor; la nueva imagen que regresa de él fluye hacia el usuario.
Cada página renderizada en el servidor pasa por ocho intervenciones de píxel independientes antes de enviarse al usuario. Ruido demasiado pequeño para que el ojo del usuario lo note, líneas finas colocadas en los bordes de los caracteres, separación de los canales de color y técnicas similares se aplican en conjunto. Cada técnica apunta a una etapa diferente de los motores OCR; superpuestas, la capa que un motor supera la detiene otra.
Modelos como GPT-4V, Claude Vision, Gemini miran una imagen de forma holística — no leen letra por letra, sino que intentan extraer el diseño de la página, los encabezados, las tablas. Por eso, la intervención de píxel a nivel de letra por sí sola no basta. ZeroLeak divide la imagen en pequeños bloques que rotan a una velocidad que el usuario no puede percibir y pixela cada bloque con un patrón independiente. El sistema visual humano fusiona los bloques rotatorios y forma una imagen estable y legible; el modelo de visión de IA no logra capturar un texto o diseño estable ni siquiera de un solo bloque.
La protección anti-OCR funciona dentro de la misma configuración que las demás protecciones de capa de pantalla de ZeroLeak. La página puede portar una identidad de usuario oculta que deje rastro incluso si se recorta o reescala (marca de agua forense); y el equivalente en el DOM del texto visible puede producir una salida sin sentido al copiarse (cifrado de texto). Cada capa se activa y desactiva de forma independiente por servicio protegido — se elige la combinación según el caso de uso.
Las ocho técnicas siguientes se aplican a cada página renderizada en el servidor antes de enviarse al usuario. Cada una apunta a un punto débil diferente de los motores OCR y los modelos de visión de IA. Superpuestas, la superficie total que un atacante debe vencer para extraer texto de la imagen que capture es mucho mayor que el efecto de las técnicas individuales.
Cada píxel sufre una variación de brillo aleatoria en un rango muy pequeño. El humano lo percibe como una textura leve que no afecta la lectura; pero los bordes de píxel limpios y consistentes que los motores OCR observan para distinguir los bordes del texto y las formas de las letras ya no están ahí.
Los motores OCR clásicos y modernos buscan los bordes de las letras y los grosores de línea de la imagen en una banda de frecuencia espacial determinada. Apuntando a esta banda se aplica una distorsión de frecuencia fina. La estructura general de la imagen se ve nítida para el lector humano, pero el módulo de detección de bordes del OCR no encuentra un borde fiable.
El procesamiento del texto se aplica de forma distinta con pequeñas diferencias entre los canales de color; el mismo carácter se renderiza diferente en los canales rojo, verde y azul. El ojo humano fusiona los tres canales y ve un único carácter legible. La mayoría de los motores OCR convierte primero la imagen a escala de grises — en ese proceso pierde la información de la letra entre canales que necesita.
Dónde termina una letra y dónde empieza la siguiente es una etapa crítica para el funcionamiento correcto del OCR. A la imagen de la página se le añaden líneas muy finas que coinciden con estos límites entre letras y que al usuario le parecen textura de fondo. El ojo humano confunde las líneas con el fondo y las omite; el OCR, en cambio, separa dos letras como una o una letra como dos, y fragmenta el texto de forma incorrecta.
Cada letra se desplaza una cantidad tan pequeña — por debajo de la escala del píxel — que el humano no puede percibirla. La experiencia de lectura no cambia. Como se altera la posición de la línea base y la alineación del cuerpo que los motores OCR usan para identificar las letras, la precisión de reconocimiento disminuye.
Se aplica un desplazamiento limitado de píxeles dentro del propio espacio de cada letra. A distancia de lectura, la letra se ve igual a la vista. Pero se alteran las estadísticas a nivel de píxel que los motores OCR usan para determinar si una letra es una 'A' o una 'R'.
En las regiones sin texto se colocan patrones especiales que el ojo humano apenas percibe. Estos patrones engañan la etapa en la que el OCR primero localiza las regiones de texto y luego las lee — el contraste entre el texto y el fondo disminuye en la percepción del OCR, y el motor no logra determinar dónde empieza el texto.
Se toma un modelo representativo de OCR o de visión de IA y se aplican modificaciones de píxel calculadas a partir de la propia estructura de funcionamiento interno (gradiente) de ese modelo. El resultado afecta también a otros modelos de la misma familia. Añadida sobre las siete técnicas anteriores, el efecto total es mayor que la suma de las técnicas individuales.
Los modelos de visión de IA (GPT-4V, Claude Vision, Gemini y similares) miran una imagen de forma diferente al OCR. En lugar de leer letra por letra, miran la página de forma holística e intentan reconstruir el diseño, la tabla, el formulario. Las ocho técnicas anteriores detienen de forma fiable el OCR clásico, pero no neutralizan por completo a estos lectores holísticos. La segmentación de bloques rotatorios es la capa diseñada para estos lectores.
Cada imagen renderizada en el servidor se divide en una cuadrícula invisible (normalmente 3×3). Cada bloque se aplica con un patrón de pixelado independiente y una fase de patrón independiente. No hay estructura común entre dos bloques vecinos.
El patrón de pixelado rota entre bloques a una velocidad mayor de la que el sistema visual humano puede percibir, pero a una velocidad en la que el ojo aún puede formar una imagen estable. El usuario lee la página con normalidad. El modelo de visión de IA que mira un único bloque o una secuencia corta de bloques no logra capturar una estructura de texto o diseño estable.
Los bloques no comparten patrón ni fase entre sí. Aunque un modelo de IA resuelva el patrón de pixelado de un bloque, no puede aplicar esa información a los bloques vecinos. Para resolver la imagen completa hay que resolver cada bloque por separado; eso supone una carga de trabajo directamente proporcional al número de bloques.
La segmentación de bloques rotatorios no es una defensa que funcione sola — se añade sobre la capa de píxel de las ocho técnicas anteriores. Aunque un modelo de IA supere parcialmente la capa superior, debajo todavía hay una capa de ocho técnicas que apunta al nivel de letra. El atacante tiene que vencer dos tipos de protección distintos en la misma imagen.
La densidad de la cuadrícula, la velocidad de rotación, la intensidad del patrón y la geometría de la cuadrícula se definen por separado para cada servicio web protegido. Para contenido de alta sensibilidad (expedientes legales, estados financieros) la protección se endurece; para contenido cotidiano basta con los ajustes básicos.
Las marcas de agua semitransparentes y los elementos del DOM no copiables pueden superarse recortando o filtrando — debajo todavía hay una imagen limpia. La segmentación de bloques rotatorios, en cambio, altera los píxeles reales del contenido; debajo no hay ninguna imagen 'limpia' oculta.
El personal clínico debe ver los datos de los pacientes en pantalla por exigencia de su labor, pero esos datos no deben salir de la organización. Con ZeroLeak los datos permanecen legibles durante la sesión, mientras que de una captura de pantalla tomada no se puede extraer información significativa. Para los roles con permiso solo de visualización, esto se alinea con el principio de divulgación mínima de HIPAA.
Contenido que debe leerse pero que no se quiere que termine en el teléfono de nadie — estados financieros, textos de contratos, expedientes de due diligence. Cuando el anti-OCR y la segmentación de bloques rotatorios se aplican juntos, el documento se lee con comodidad en pantalla, mientras que la imagen capturada queda inservible.
Contenido clasificado que los analistas necesitan ver pero que no debe salir. La modificación a nivel de píxel cierra la vía de filtración por captura de pantalla en el mismo límite que la política de acceso.
Usuarios externos que obtienen autorización temporal a un panel de cliente, una interfaz de auditoría o una consola de investigación. El usuario lee el contenido; aunque tome una captura de pantalla, no podrá llevar el contenido a otro entorno.
Los investigadores deben ver los datos del estudio, los registros de pacientes, los resultados de laboratorio. El límite de divulgación a menudo prohíbe llevarlos fuera. El anti-OCR convierte ese límite prohibido de una política en un control técnico.
Los programas de riesgo del empleado ya no pueden suponer que una captura de pantalla tomada es inofensiva. Para cualquier persona con IA en el bolsillo, cada contenido que aparece en pantalla es un vector potencial de exfiltración. El anti-OCR y la segmentación de bloques rotatorios devuelven ese riesgo al nivel de los entornos exclusivamente humanos de la era previa a la IA.
Vea la capa de píxel anti-OCR y la segmentación de bloques rotatorios de ZeroLeak en una demo en vivo. Entregamos la misma página a Tesseract, AWS Textract, GPT-4V y Claude Vision, y le mostramos lo que sale por el otro extremo.