Volver a la herramienta

Documentación técnica

Ocultar no es lo mismo que destruir

Por qué una foto de tu documento vale más de lo que parece, por qué el desenfoque y el pixelado no la protegen, y qué hace Copia Segura en su lugar.

Sección 01El riesgo concreto

Mandar una foto del documento se volvió un trámite cotidiano: una inmobiliaria, un banco, una plataforma de compraventa, un empleador. La mayoría de las veces no pasa nada. El problema es lo que ocurre cuando esa imagen termina en las manos equivocadas.

La Unidad Fiscal Especializada en Ciberdelincuencia del Ministerio Público Fiscal documentó una modalidad concreta: los estafadores piden fotos del documento y dos selfies con el pretexto de liberar una encomienda. Con ese material superan los procesos de validación de identidad que usan las empresas fintech para abrir cuentas.[1]

Una sola modalidad, un solo relevamiento

160denuncias registradas
22cuentas digitales abiertas a nombre de las víctimas
21bloqueadas tras la intervención fiscal

Fuente: UFECI, Ministerio Público Fiscal de la Nación.[1] Las cuentas abiertas de esta forma se usan para recibir dinero de otros delitos, tomar créditos y dejar la deuda a nombre de la persona suplantada.

Por qué el número de trámite es el dato crítico

El número de documento no es secreto: figura en facturas, contratos y formularios. Lo que convierte una foto en una llave es la combinación de ese número con el número de trámite, que es lo que los organismos y las empresas usan para confirmar que quien dice ser alguien tiene el documento en la mano.

Tener el número de DNI y el número de trámite equivale a tener una tarjeta de crédito junto con su código de seguridad.[2]

Esa es la asimetría que hay que entender: el destinatario legítimo necesita ver tu foto, tu nombre y tu número de documento para verificar que sos vos. No necesita el número de trámite. Todo lo que se comparte de más no agrega utilidad al trámite y sí agrega riesgo.

Foto del DNI frente, dorso y una selfie lo que compartís sin número de trámite, la cadena se corta acá Validación de identidad número de DNI más número de trámite lo que superan Cuenta abierta a tu nombre en minutos, sin que lo sepas lo que no ves Deuda y causa judicial a tu nombre lo que te queda
Figura 1. La cadena completa. El punto de corte más eficaz está al principio: si la copia que enviás no contiene los datos que permiten superar la validación, el resto de la cadena no se puede armar.

Sección 02Lo que realmente contiene un DNI

Casi todo el mundo que intenta protegerse tapa el número de trámite impreso y se queda tranquilo. No alcanza, y el motivo es que el documento lleva los mismos datos escritos dos veces: una en tinta, para que los leas vos, y otra en un código de barras, para que los lea una máquina.

El código PDF417 del DNI argentino contiene nueve campos en texto plano, separados por el carácter @. El primero es, justamente, el número de trámite.[3]

Código PDF417 impreso en el dorso Lo que devuelve cualquier lector, en texto plano 9 campos Número de trámite 40123456 crítico Apellidos PEREZ Nombres JUAN CARLOS Sexo M Número de DNI 30123456 crítico Ejemplar A Fecha de nacimiento 01/05/1990 Fecha de emisión 12/03/2019 Dígitos del CUIL 20-4
Figura 2. Los nueve campos del código PDF417. Tapar el número de trámite impreso y dejar el código a la vista no protege nada: el dato sigue ahí, en texto plano, al alcance de cualquier lector de códigos.

Lo mismo vale para la zona de lectura mecánica del dorso (las líneas con <<<<<), que por diseño es una transcripción de tus datos legible por máquina, y para el código QR que reemplazó al PDF417 en los documentos emitidos desde 2023.[4]

Consecuencia práctica

El primer objetivo al proteger una copia no es el número impreso: es el código de barras o QR. El número impreso es secundario, porque su contenido ya viaja dentro del código.

Sección 03Por qué desenfocar no alcanza

La intuición dice que si un dato se ve borroso, está protegido. Es falsa, y el motivo es matemático: el desenfoque y el pixelado no eliminan información, la redistribuyen. Todo lo que hacen es una transformación, y una transformación se puede intentar deshacer.

El desenfoque

Un desenfoque gaussiano es una convolución: cada píxel de salida es el promedio ponderado de sus vecinos. Los datos originales siguen presentes, mezclados según una fórmula conocida. Si se estima esa fórmula (y los desenfoques habituales son pocos y conocidos), el proceso se invierte total o parcialmente.

El pixelado

El pixelado es peor de lo que parece, porque cada bloque del mosaico es literalmente el promedio de los píxeles que tapa. Es decir: el bloque es una medición directa del contenido oculto. No hay que invertir nada complicado; alcanza con probar candidatos.

Cuánta información del original sobrevive Transforman el contenido: sigue estando ahí Desenfoque alta Pixelado muy alta Rotación o remolino total Lo reemplazan: no queda nada del original Relleno sólido cero Ruido aleatorio cero
Figura 3. La diferencia no es de grado sino de naturaleza. Las tres primeras técnicas transforman el contenido y por lo tanto conservan información sobre él. Las dos últimas lo reemplazan por algo que no depende del original: no hay nada que recuperar porque no queda nada.

Esto no es una conjetura. En 2016, investigadores de la Universidad de California en San Diego publicaron un trabajo revisado por pares que reconstruye texto pixelado y desenfocado usando modelos ocultos de Markov. Su conclusión es explícita: el mosaico y el desenfoque «no son enfoques viables para tachar texto en documentos».[5]

Existen además herramientas públicas y de uso libre que implementan estos ataques. Depix reconstruye texto pixelado buscando qué combinaciones de píxeles pudieron producir cada bloque.[6] Unredacter, publicada por la consultora de seguridad Bishop Fox en 2022, mejora ese resultado y viene acompañada de una recomendación de una sola línea: nunca usar pixelado para tapar texto.[7]

Antecedente

En 2007, Interpol identificó a un prófugo revirtiendo el efecto de remolino con el que había distorsionado su rostro en una serie de fotografías. El remolino reordenaba los píxeles sin destruirlos, y por lo tanto era invertible. Toda técnica que transforma en lugar de reemplazar es una promesa de reversibilidad futura: lo que hoy resiste, mañana puede no resistir.

Sección 04Demostración: recuperar texto pixelado

Lo anterior se puede comprobar sin instalar nada. La demostración que sigue ejecuta un ataque de diccionario real en tu navegador, sobre un número que se pixela en el momento.

El procedimiento es el que usaría un atacante:

  1. Toma la zona pixelada del documento.
  2. Genera un candidato (por ejemplo, el dígito 0) con la misma tipografía y tamaño que usa el documento.
  3. Le aplica el mismo pixelado.
  4. Compara el resultado con la zona original. Si coinciden, encontró el dígito.
  5. Repite para cada posición.

No hace falta invertir ninguna operación. Alcanza con probar: los dígitos posibles son diez, y un documento estandarizado como el DNI usa una tipografía conocida.

Original

Pixelado

Reconstruido por el ataque

Presioná «Ejecutar el ataque» para reconstruir el número a partir de la imagen pixelada.

Figura 4. El ataque se ejecuta íntegramente en tu navegador y no envía nada a ningún lado. Es el caso favorable para el atacante: conoce la tipografía y el tamaño. Con un documento estandarizado, esa es exactamente su situación.

Para contrastar: aplicado sobre una zona con relleno sólido, el mismo ataque no tiene nada con qué comparar. Todos los candidatos producen el mismo resultado, un rectángulo opaco, y por lo tanto ninguno se distingue de los demás. No es que sea difícil de romper: es que no hay información que recuperar.

Sección 05Qué significa destruir la información

De lo anterior se desprende un criterio que se puede enunciar con precisión y, sobre todo, verificar leyendo el código:

El valor de cada píxel de salida dentro de una zona tapada debe ser independiente del valor original de todos los píxeles de esa zona.

Si se cumple, la salida no contiene información sobre el contenido oculto, y no hay ataque posible: no porque sea costoso, sino porque no queda nada que atacar. Copia Segura ofrece únicamente dos técnicas, y las dos lo cumplen.

TécnicaQué haceInformación conservada
Relleno sólido Sobrescribe la zona con un color constante. Ninguna. El resultado es idéntico cualquiera sea el contenido tapado.
Ruido criptográfico Sobrescribe la zona con valores de crypto.getRandomValues(). Ninguna. El ruido proviene del generador del sistema operativo, no de la imagen.

La segunda técnica exige una advertencia. El ruido solo es seguro si es independiente del contenido. Un ruido derivado de los píxeles originales (perturbarlos, mezclarlos, reordenarlos) sería una fuga con apariencia de seguridad, del mismo tipo que el remolino de 2007. Por eso el generador es el criptográfico del sistema y no una función de la imagen.

El desenfoque y el pixelado no están disponibles en la herramienta. La decisión fue eliminarlos del código, no ofrecerlos con una advertencia: una opción insegura con un cartel al lado es una trampa para el usuario apurado, que es precisamente el usuario al que hay que proteger.

Destructivo sobre el original, no sobre la vista previa

Hay un error clásico en las herramientas de edición: dibujar el rectángulo sobre la vista previa reducida y exportar después la imagen original a resolución completa, con el dato intacto. Copia Segura aplica todas las operaciones sobre el mapa de bits a resolución nativa; lo que ves en pantalla es un espejo de solo lectura de ese mapa de bits, nunca al revés.

Sección 06Las fugas que no están en los píxeles

Tapar bien los datos visibles es la mitad del problema. Los casos reales de ocultamiento fallido casi siempre ocurren por caminos que no tienen nada que ver con lo que se ve en pantalla.

La miniatura incrustada

Los archivos JPEG de cámara incluyen metadatos EXIF: fecha, modelo del equipo, coordenadas GPS y, esto es lo importante, una miniatura de la imagen. Muchos editores modifican la imagen grande y dejan la miniatura intacta. El resultado es un archivo que se ve tapado al abrirlo y muestra el original sin tapar al extraerle los metadatos.

Los bytes que sobran

En 2023 se descubrió aCropalypse, una vulnerabilidad en la herramienta de edición de capturas de los teléfonos Google Pixel, registrada como CVE-2023-21036. Al recortar una captura, la aplicación escribía el archivo nuevo encima del anterior sin borrarlo primero. Como el archivo nuevo era más chico, los bytes sobrantes del original quedaban al final. Se podía recuperar alrededor del 80 % de la imagen original a partir de esos restos, y afectó a toda captura editada en cinco años.[8]

El error de aCropalypse 1. El archivo original acá termina la versión editada imagen completa, sin tapar 2. Se sobrescribe con la versión editada imagen editada restos del original 3. Lo que se recupera de esos restos hasta el 80 % de la imagen original
Figura 5. El archivo no era lo que aparentaba. Este tipo de falla no se detecta mirando la imagen: hay que mirar los bytes.

Cómo se cierran estas fugas

Copia Segura no edita el archivo que subiste. Genera uno nuevo desde cero a partir del mapa de bits, con canvas.toBlob(). Ningún byte del archivo original se copia al resultado, y de ahí se desprenden tres consecuencias:

El historial de deshacer, por su parte, vive únicamente en memoria. Guardarlo en el disco sería dejar una copia sin tapar del documento en el dispositivo, que es exactamente lo que la herramienta intenta evitar.

Sección 07Qué hace la herramienta, paso a paso

El recorrido completo de la imagen, desde que se abre hasta que se descarga, ocurre dentro del navegador. No hay servidor que reciba nada porque no hay servidor: el sitio son archivos estáticos.

Tu navegador. Nada de lo que sigue sale de acá. Se abre el archivo JPG o PNG, desde tu equipo Mapa de bits en memoria a resolución nativa acá muere el EXIF Se tapan las zonas elegidas destructivo Marca de agua opcional Archivo nuevo se genera desde el mapa de bits, no desde tu archivo se descarga Lo que nunca ocurre: ninguna conexión de salida ningún dato guardado en disco ninguna analítica
Figura 6. El recorrido completo. El archivo final se genera a partir del mapa de bits, no del archivo que subiste: esa decisión es la que elimina de raíz toda la familia de fugas de la sección anterior.

Sin conexiones de salida, y que lo imponga el navegador

La aplicación no contiene ninguna de las funciones que permitirían enviar datos: fetch, XMLHttpRequest, sendBeacon, WebSocket ni formularios. Pero no hace falta creer en eso. El servidor envía una directiva Content-Security-Policy con default-src 'self' y connect-src 'none'. La primera impide que la página contacte cualquier dominio externo, incluso para cargar una imagen. La segunda hace que el navegador bloquee fetch, XMLHttpRequest, sendBeacon y WebSocket. Aunque alguien lograra inyectar código malicioso, no tendría por dónde sacar los datos.

Tampoco se cargan recursos de terceros: ni tipografías remotas, ni bibliotecas desde una red de distribución, ni herramientas de medición. La cantidad de dominios externos que la página contacta es cero.

Sección 08La marca de agua y el código de copia

Tapar datos reduce el daño si la copia se filtra, pero no dice nada sobre quién la filtró. Para eso sirve la marca de agua, que cumple dos funciones distintas.

La primera es disuasiva y explícita: un texto repetido en diagonal sobre todo el documento con el destinatario, el propósito y la fecha. Una copia que dice «para Inmobiliaria San Martín, garantía de alquiler» pierde utilidad en cualquier otro contexto, y quien la reciba sabe que su nombre quedó impreso en ella.

La segunda es el código de copia: un resumen criptográfico SHA-256 del destinatario, el propósito y la fecha, truncado y repetido dentro del patrón. Si la imagen aparece donde no debía y alguien recortó el texto grande, el código sigue identificando de qué copia se trata.

Destinatario Propósito Fecha SHA-256 en tu navegador código de copia A7F3C21B90 No se guarda: se recalcula con los mismos tres datos.
Figura 7. El código es reproducible, no almacenado. Para saber qué copia se filtró alcanza con recalcular los códigos de las copias que emitiste y buscar la coincidencia. La herramienta no necesita llevar registro de nada.

Por qué no usamos marcas invisibles

Existe la esteganografía: ocultar el identificador en los bits menos significativos de la imagen, de modo que no se vea. No la usamos, y la investigación respalda esa decisión. Zhao y otros demostraron en 2024, con pruebas formales y evaluación sobre cuatro esquemas distintos, que las marcas invisibles a nivel de píxel son removibles: alcanza con agregarle ruido a la imagen y reconstruirla con un modelo generativo. Los autores concluyen que conviene abandonarlas en favor de marcas que preserven la semántica de la imagen.[9]

A eso se suma lo evidente: una marca invisible tampoco sobrevive a una recompresión de mensajería ni a una captura de pantalla. Prometer un rastreo invisible sería vender una seguridad que no existe.

Qué tan removible es

Conviene separar dos cosas que suelen confundirse: la marca de agua no protege los datos, eso lo hace el ocultamiento. La marca aporta disuasión y atribución. Y a diferencia del relleno destructivo, que es irreversible, una marca visible sí se puede atacar.

Hay un campo de investigación dedicado a removerlas, así que el riesgo se puede ubicar con datos en lugar de suposiciones. Leng y otros evaluaron en 2025 específicamente las marcas de gran área, que es la categoría de esta, y reportan que los modelos existentes todavía tienen dificultades con ellas: el mejor método alcanza una reconstrucción de 26,8 dB de PSNR.[10] Para dimensionarlo, una copia prácticamente indistinguible del original estaría por encima de 40 dB, de modo que a 27 dB quedan diferencias perceptibles.

Un dato más útil todavía: el relleno generativo de propósito general, el que usan las aplicaciones de consumo para borrar objetos, rinde bastante peor en esta tarea concreta (17,97 dB en el mismo conjunto de prueba). Remover esta marca no es apretar un botón en una app: requiere un modelo especializado.

Lo que la ubica en la categoría difícil:

Y el límite, sin adornos: difícil no es imposible. Alguien con un modelo especializado y motivación suficiente puede remover buena parte de la marca, y ahí la atribución se debilita. Lo que no se debilita es el ocultamiento, que es donde vive la protección real.

Sección 09Cómo verificar que nada se sube

Cualquier sitio puede afirmar que procesa los datos localmente. Es exactamente lo que diría también un sitio malicioso. Por eso la afirmación importante no es la promesa sino el método para comprobarla.

La prueba de la desconexión

Es la más simple y la más difícil de refutar. Abrí la herramienta, esperá a que cargue, cortá la conexión a internet (modo avión, apagar el wifi, desenchufar el cable) y usala igual. Si podés cargar la foto, tapar los datos y descargar el resultado sin conexión, no hubo transmisión posible. No es una cuestión de confianza: no hay forma de que un archivo viaje por una conexión que no existe.

Mirar el tráfico

Con las herramientas de desarrollo del navegador abiertas en la pestaña de red, y la casilla de conservar el registro activada, se puede hacer el recorrido completo y filtrar por método POST. No debería aparecer ninguno. Subir un archivo requiere una conexión de salida, y las conexiones de salida quedan registradas ahí sin excepción.

Leer el código

El sitio no usa empaquetadores ni minificación. Los archivos que sirve el servidor son los mismos que están publicados en el repositorio, legibles tal cual. Esa decisión tiene un costo en comodidad de desarrollo y una única razón de ser: si el código que se ejecuta no se puede leer, la verificabilidad es un eslogan.

La guía completa, con los cuatro niveles de verificación y qué esperar en cada uno, está en el documento de verificación.

Sección 10Lo que esta herramienta no puede hacer

Una explicación honesta tiene que incluir los límites. Copia Segura no protege contra:

Tampoco reemplaza al criterio: antes de tapar, conviene preguntarle al destinatario qué necesita ver. Una copia sobre-ofuscada suele ser rechazada, y ahí la persona termina mandando el documento entero sin ninguna protección, que es el peor resultado posible.

Sección 11Fuentes

  1. Unidad Fiscal Especializada en Ciberdelincuencia (UFECI), Ministerio Público Fiscal de la Nación. «Pedidos de selfies y de fotos del DNI: aumentan los fraudes vinculados con los servicios puerta a puerta del Correo Argentino». fiscales.gob.ar
  2. La Nación. «La estafa de la transferencia por error y la venta apurada: por qué nunca hay que compartir el número de trámite del DNI», julio de 2022. lanacion.com.ar
  3. «Parseo del código PDF417 del DNI argentino». Documentación de la estructura de los nueve campos del código de barras. estandaresparadummies.blogspot.com
  4. Registro Nacional de las Personas. Disposición 1255/2023, características del Documento Nacional de Identidad electrónico. argentina.gob.ar
  5. Hill, S.; Zhou, Z.; Saul, L.; Shacham, H. «On the (In)effectiveness of Mosaicing and Blurring as Tools for Document Redaction». Proceedings on Privacy Enhancing Technologies, vol. 2016, n.º 4, pp. 403-417. petsymposium.org
  6. Depix. Herramienta de reconstrucción de texto pixelado. Cobertura en The Hacker News
  7. Petro, D. «Never Use Text Pixelation To Redact Sensitive Information». Bishop Fox, 2022. Presentación de la herramienta Unredacter. bishopfox.com
  8. aCropalypse (CVE-2023-21036). Vulnerabilidad en la herramienta Markup de Google Pixel, descubierta por Simon Aarons y David Buchanan. Resumen técnico y cronología
  9. Zhao, X.; Zhang, K.; Su, Z.; Vasan, S.; Grishchenko, I.; Kruegel, C.; Vigna, G.; Wang, Y.-X.; Li, L. «Invisible Image Watermarks Are Provably Removable Using Generative AI». Advances in Neural Information Processing Systems (NeurIPS), 2024. proceedings.neurips.cc
  10. Leng, Y.; Fang, C.; Chen, J.; Fang, Y.; Li, S.; Li, G. «Bridging Knowledge Gap Between Image Inpainting and Large-Area Visible Watermark Removal». Proceedings of the AAAI Conference on Artificial Intelligence, 2025. arxiv.org/abs/2504.04687