Flujo de trabajo
· 9 min de lectura

Códigos de ocultación coherentes: hasta dónde llegan

Por Amine Gaaliche · borrador redactado con Claude, revisado y editado a mano

Llegan hasta el límite de la carpeta. Dentro de una misma carpeta, promptShield da a cada valor el mismo código en todos los archivos y cada vez que se procesen. Entre carpetas distintas, el código cambia a propósito.

Por qué un código no debe cambiar

Imagine la documentación de un desahucio. Incluye el contrato de arrendamiento, el burofax con el requerimiento de pago y el justificante de la fianza. La anonimiza, corrige al día siguiente una errata y repite la pasada.

El lunes, el arrendatario era PERSONA_1. El martes es PERSONA_3, y PERSONA_1 designa ahora al avalista. Ningún dato ha salido, pero el documento ya no se puede leer.

El trabajo profesional se hace en varias pasadas. Llega un anexo, el socio pide una segunda opinión y la consulta al modelo se repite. Si el arrendatario tiene un código en el contrato y otro en el burofax, el modelo ve dos personas.

Al final el profesional vuelve al original, el único que se entiende, y lo pega tal cual. Una anonimización inestable lleva así a la filtración que quería evitar.

La carpeta marca el límite

Dentro de una carpeta de la Biblioteca, el arrendatario lleva el mismo [P…] en el contrato y en el burofax. Lo sigue llevando cuando el justificante llega tres semanas después y se guarda junto a los demás. Basta con guardar juntos los documentos de un asunto, sin configurar nada.

Entre carpetas, los códigos no se comparten. Un mismo valor recibe a propósito un código distinto en cada carpeta, y ninguna ve las demás. El motivo es deontológico. Si un administrador llevara el mismo código en dos concursos sin relación aparente, quien viera ambos documentos sabría que es la misma persona.

Un código fijado a mano en Configuración vale en todas las carpetas, por ejemplo el nombre en clave de una operación. Es la única vía por la que un código cruza de una carpeta a otra, y siempre la decide una persona.

Puede comprobarlo en unos minutos. Ponga dos archivos que mencionen a la misma persona en una carpeta y otros dos en otra. Páselos por Detectar y Codificar. Cada par comparte un código, y entre los pares no hay relación visible.

Por qué lo decimos al principio

Lo ponemos en el resumen inicial porque nos equivocamos. Nuestra web afirmó en siete idiomas que un mismo valor recibía idéntico código en toda la biblioteca. Era falso y está corregido. Quien descubre el límite a mitad de un asunto tiene motivos para sentirse engañado.

Un código del tamaño del original

Un código se compone de un corchete, la letra del tipo de dato, un relleno y otro corchete. P indica una persona, O una organización, A una dirección, B un IBAN, T un teléfono y D una fecha. Así el modelo sabe que [P…] es alguien y [O…] una sociedad, sin saber quiénes son.

La longitud depende del texto sustituido. Nunca baja de seis caracteres y, si el original pasa de diez, se queda tres por debajo. Elena Prats Ribas, con diecisiete caracteres, recibe un código de catorce.

Cada carácter del relleno tiene además la anchura visual del que reemplaza. Por eso las tablas y el bloque de firmas no se mueven. Algo como [P0ABCD] ilustra la forma, no una longitud fija.

Hasta dónde llega la coherencia

La coherencia solo alcanza a lo detectado. Los Patrones reconocen valores con forma fija, como un DNI o un IBAN. El Reconocimiento de entidades busca nombres, sociedades y domicilios. Ninguna detección local acierta con todos los identificadores, así que de forma predeterminada el archivo pasa por Revisar antes de descargarse.

Al descargar un PDF, el texto que el archivo guarda fuera de la página visible recibe el mismo trato. Lleva su código si se codificó y una marca neutra si se tachó. Tachar elimina el texto de forma permanente y no deja nada que decodificar.

Dónde se guarda la tabla

La tabla es el Registro de códigos, un archivo SQLite. Se queda en el equipo que generó los códigos y no llega a nuestros servidores. Decodificar lo consulta allí mismo, con el programa instalado y sin servicio externo.

La aplicación del navegador genera los códigos con el mismo procedimiento, pero con su propia clave. En ella, el documento tampoco sale de su equipo.

El registro no está cifrado, a propósito: quien puede leer ese disco ya tiene los originales, que tampoco lo están. Lo delicado es la exportación, que saca la tabla completa en un JSON de texto plano. Un documento anonimizado que viaja con ella queda desanonimizado, y por eso la aplicación la señala como sensible.

Lo que cambia ante la AEPD

Si la tabla estuviera en los servidores de un proveedor, este sería encargado del tratamiento. Haría falta el contrato del artículo 28 del RGPD, que la LOPDGDD completa, y la AEPD pediría verlo. Con la tabla en el despacho no hay encargado ni contrato. El secreto profesional del artículo 542.3 de la Ley Orgánica del Poder Judicial cubre esa tabla igual que el expediente.

Lo que se envía codificado tampoco es inocuo, porque un cargo o un importe siguen revelando información. El mecanismo está en cómo funciona la ocultación reversible.

Preguntas frecuentes

¿Por qué el mismo nombre necesita el mismo código?

Porque el lector y el modelo identifican a cada persona por su etiqueta. Si el arrendatario cambia de código entre el contrato y el burofax, ambos ven dos personas distintas.

¿Se mantiene el código entre archivos distintos?

Sí, si están en la misma carpeta de la Biblioteca. Entre carpetas, un mismo valor recibe códigos distintos, salvo que lo fije a mano en Configuración.

¿Dónde se guarda la tabla de códigos?

En el Registro de códigos, un archivo local sin cifrar en el equipo que generó los códigos. Su exportación es texto plano: no la envíe nunca con el documento anonimizado.

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

Compartir