API y empresas

Auditar consultas de multas sin guardar payloads para siempre

Una secuencia mínima de eventos y hashes encadenados puede revelar alteraciones sin convertir cada respuesta sensible en un archivo permanente.

Por Marco Ferreiro ·

Indicadores técnicos conectados en secuencia junto a un gabinete seguro

Una API de infracciones necesita explicar qué consultó, qué fuentes terminaron y qué respuesta entregó. Guardar para siempre cada cuerpo crudo parece una solución fácil, pero acumula dominios, actas y otros datos que quizá la auditoría no necesita.

La alternativa es separar evidencia operacional de contenido sensible. El log durable conserva una secuencia mínima y verificable. Las actas crudas, cuando hacen falta, siguen una retención corta, cifrada y restringida.

Auditar no es archivar todo

Una auditoría suele responder preguntas concretas: ¿la solicitud existió?, ¿qué versión la procesó?, ¿qué jurisdicciones completaron?, ¿hubo respuesta parcial?, ¿el evento fue modificado? Ninguna exige necesariamente reproducir todos los campos de cada acta.

El evento mínimo puede incluir identificador opaco de operación, tenant, hora, versión de contrato, estado por jurisdicción, cantidad de actas y código de resultado. Los identificadores personales se tokenizan o quedan fuera cuando no son necesarios.

La respuesta cruda del portal vive en otra capa con acceso y expiración propios. Esa separación reduce el impacto de una exposición del log.

Qué aporta una cadena de hashes

Cada evento se serializa de forma canónica y calcula un hash según un algoritmo estandarizado. También incluye el hash del evento anterior. Si alguien modifica un evento intermedio, los hashes posteriores dejan de coincidir.

FIPS 180-4 define funciones de hash seguras usadas para producir resúmenes. Un hash no cifra el contenido ni lo oculta automáticamente. Es una huella para verificar integridad.

La cadena necesita secuencia y contexto. Sin número de lote o tenant, dos flujos podrían mezclarse. Sin serialización canónica, el mismo objeto produce bytes distintos por orden o formato.

Anclajes que evitan reescribir toda la historia

Una persona con control completo de la base podría recalcular una cadena desde el punto alterado. Para detectar eso se crea un anclaje periódico fuera del almacenamiento primario: raíz de lote, última secuencia y firma con una clave protegida.

RFC 5848 describe mecanismos para autenticación de origen, integridad, secuencia y detección de mensajes faltantes en syslog firmado. No copiamos su protocolo como solución universal; tomamos sus propiedades como criterios de prueba.

El verificador compara la cadena local con el anclaje. Si falta un evento o cambia un byte, el resultado queda inválido. La rotación de claves y el resguardo de certificados se documentan.

Un esquema mínimo

Nuestro evento sintético contiene:

No incluye patente, DNI, imagen, texto del acta ni payload del proveedor. Cuando hace falta correlacionar un reclamo, un índice protegido vincula temporalmente la operación con el caso autorizado.

El tenant se conserva porque el aislamiento entre flotas es parte de la auditoría. Nunca se usa un índice global sin ámbito.

Prueba de modificación

Generamos cien eventos ficticios de consulta de patentes. Cambiamos el estado de uno de “partial” a “complete” sin recalcular. La verificación falla en ese evento. Luego recalculamos la cadena desde allí; el anclaje final ya no coincide.

En otra prueba eliminamos el evento 40. La secuencia salta y el hash previo del 41 apunta a un valor ausente. El verificador informa faltante, no sólo “firma inválida”.

También permutamos dos eventos. Aunque el contenido individual no cambia, la relación anterior y el número de secuencia revelan el reordenamiento.

Lo que un hash no prueba

Si el sistema registró “sin multas” cuando la jurisdicción no había respondido, una cadena válida conserva esa falsedad. La integridad no equivale a exactitud. Se necesitan controles de fuente, validación de contratos y observabilidad.

Tampoco prueba quién operaba una cuenta si las credenciales fueron comprometidas. La autenticación, autorización y trazas de acceso son capas separadas.

Un hash de una patente sin secreto es susceptible a enumeración porque el universo es acotado. Por eso no se publica ni se presenta como anonimización. Se usa un identificador aleatorio o un MAC con clave cuando la correlación es necesaria.

Retención por capas

Definimos ventanas diferentes:

Al vencer, el contenido se elimina de forma verificable y el log conserva un evento de expiración, no el acta. Las copias de seguridad respetan el mismo ciclo o documentan su demora.

La Ley 25.326 alcanza la conservación y el tratamiento, y una infracción con su titular es dato personal. La política debe explicar finalidad, acceso, rectificación y supresión aplicables; esta arquitectura no sustituye asesoramiento jurídico.

Acceso y exportación

El equipo de soporte ve el resumen necesario para un caso autorizado. Seguridad puede verificar la cadena sin acceder a las actas. Una exportación para un cliente sólo incluye sus operaciones y campos contractuales.

Cada lectura sensible genera otro evento. Los roles se prueban con intentos negativos: un tenant no puede consultar los hashes ni las consultas de patentes de otro.

Los logs nunca se envían a herramientas externas por defecto si contienen identificadores. La observabilidad usa códigos y conteos.

Recuperación y verificación continua

Un verificador programado recorre lotes recientes y una muestra histórica, compara anclajes y alerta ante huecos. La alerta identifica lote y secuencia, no copia el evento sensible.

Restaurar una base desde backup incluye verificar la cadena antes de reabrir el servicio. Si el último anclaje no coincide, el sistema conserva la evidencia y evita certificar integridad.

Las pruebas de borrado y modificación se ejecutan con datos sintéticos en cada cambio de esquema.

Evidencia suficiente y proporcional

Guardar menos no significa auditar peor. Un evento bien definido, una secuencia verificable y un anclaje independiente responden muchas preguntas con menos exposición.

Los payloads completos quedan disponibles sólo cuando una finalidad concreta lo exige y durante un plazo acotado. La cadena demuestra que el historial mínimo no fue alterado desde el anclaje, con límites expresos.

Esa combinación ofrece trazabilidad útil sin transformar una API de infracciones en un archivo indefinido de datos personales.

Metodología

Alcance
Diseño y prueba de un registro sintético encadenado que detecte modificación y eliminación de eventos sin retener cuerpos de respuesta.
Unidad de análisis
Un evento canónico mínimo con secuencia, hash previo, hash propio y anclaje firmado por lote.
Cobertura
RFC 5848, FIPS 180-4 y Ley 25.326 consultados el 14 de agosto de 2026.

Limitaciones

Fuentes

Preguntas frecuentes

¿Un hash vuelve anónimo un payload?

No. Un hash puede seguir siendo vinculable o atacable si el espacio de valores es pequeño. La minimización y el control de acceso siguen siendo necesarios.

¿La cadena de hashes impide borrar eventos?

Permite detectar una alteración si existe un anclaje confiable posterior. Por sí sola no impide que alguien con control total reescriba toda la cadena.

¿Hay que guardar la respuesta completa para resolver reclamos?

Depende del caso y la política de retención. Puede conservarse temporalmente en almacenamiento separado y restringido, mientras el log durable retiene sólo evidencia mínima.

Notas relacionadas