TRUNCATE en el nivel de base de datos bloquea la eliminación masiva. El hash SHA-256 de cada registro incluye el hash del registro anterior, de modo que eliminar o recalificar la fecha de un registro rompe la cadena en todo lo que sigue después. Si necesitas eliminar un registro por razones legales (como el derecho al olvido de GDPR sobre PII), la respuesta es la minimización de datos desde el principio, no la edición retroactiva.
Tracer mantiene un completo e inmutable de todas las decisiones de validación. Esta guía explica cómo funciona el sistema de auditoría y cómo consultar el historial de validaciones para la generación de informes de cumplimiento.
Descripción general de cumplimiento
Tracer está diseñado para cumplir con los requisitos de auditoría de regulaciones financieras, entre ellas:
Arquitectura del registro de auditoría
Tracer registra cada decisión de validación con contexto completo para cumplimiento e investigación.
Qué se registra
Cada validación crea un registro de auditoría inmutable que contiene:Los eventos de auditoría se deduplican para las validaciones de transacciones. Si reintentas una solicitud de validación con el mismo
requestId, Tracer almacena solo el primer evento de auditoría. Esto garantiza que el registro de auditoría refleje eventos de negocio únicos, no patrones de reintento de la API.Inmutabilidad y cadena de hash
Los registros de auditoría son de escritura única y están encadenados criptográficamente:- No puedes modificar un registro después de crearlo.
- Un disparador
TRUNCATEprotege la tabla de auditoría en el nivel de base de datos y bloquea la eliminación masiva. - Cada registro almacena un hash SHA-256 calculado sobre la identidad del registro, la marca de tiempo, el actor y el hash del registro anterior, lo que forma una cadena de solo anexado. Eliminar, reordenar o recalificar la fecha de un registro hace que todos los registros posteriores fallen la verificación.
- Un
pg_advisory_xact_lockserializa las escrituras de la cadena de hash para mantener el orden estable ante inserciones concurrentes.
GET /v1/audit-events/{id}/verify, que devuelve:
isValid es true y message lo confirma. Cuando un registro ya no coincide con su hash almacenado, isValid es false. El campo message informa la alteración. Esta es la base criptográfica de las garantías de evidencia de alteración de SOX/GLBA.
Cuando la verificación falla, firstInvalidId lleva un número de secuencia interno del registro divergente. No es un id de evento de auditoría, así que no es un valor que puedas pasar a GET /v1/audit-events/{id}.
El registro de auditoría está diseñado para auditorías de cumplimiento. Puedes reconstruir exactamente lo que ocurrió en cualquier validación, incluso años después. También puedes demostrar que los registros nunca cambiaron después de creados.
Retención de datos
Tracer retiene los datos según los requisitos regulatorios y las necesidades operativas.
Períodos de retención
Consideraciones de cumplimiento
- Requisito de SOX: mantener los registros durante 7 años a partir de la fecha del informe de auditoría
- Requisito de GLBA: retener registros que demuestren el cumplimiento de las normas de privacidad
- Exportación de datos: puedes exportar registros para sistemas de auditoría externos
Consultar el historial de validaciones
Usa el endpoint
GET /v1/validations para consultar validaciones históricas.
Consulta básica
Consulta filtrada
Filtros disponibles
Requisito de formato de fecha
Válido:Paginación
Los resultados usan paginación por cursor. La respuesta incluye los camposnextCursor y hasMore para navegar entre los resultados.
La paginación por cursor conserva
sort_by y sort_order de la consulta original.Ordenamiento
Obtener detalles de una validación
Recupera los detalles completos de una validación específica con
GET /v1/validations/{id}.
La respuesta contiene todo lo necesario para entender una decisión de validación:
- Instantánea de la solicitud: el payload de entrada completo tal como se recibió
- Instantánea de la respuesta: respuesta completa, incluidos la decisión y el motivo
- Reglas evaluadas: todas las reglas que Tracer verificó
- Reglas coincidentes: reglas que se activaron (si las hay)
- Detalles del límite: información de uso de los límites verificados
- Marcas de tiempo: cuándo ocurrió la validación y el tiempo de procesamiento
Consultar eventos de auditoría
Más allá de los registros de validación, Tracer también expone un registro genérico de eventos de auditoría mediante
GET /v1/audit-events. Esta es la única forma de ver los cambios de ciclo de vida de reglas y límites: quién los creó, actualizó, activó, desactivó, puso en borrador o eliminó.
Tipos de evento
Los eventos de reserva aparecen en el registro, pero ningún filtro los selecciona. Los parámetros
event_type, action y resource_type solo aceptan los valores listados en la tabla siguiente. Cada uno rechaza un valor de reserva con el error 0009. Para leer eventos de reserva, consulta por rango de fechas y recorre los resultados página por página.Filtros
GET /v1/audit-events acepta los mismos filtros de rango de fechas y alcance que GET /v1/validations, además de filtros específicos para eventos de ciclo de vida:
Casos de uso
- ¿Quién activó esta regla?
GET /v1/audit-events?resource_type=rule&resource_id={ruleId}&action=ACTIVATE - Todos los cambios de reglas de la semana pasada:
GET /v1/audit-events?resource_type=rule&start_date=...&end_date=... - Todas las eliminaciones de límites en 2026:
GET /v1/audit-events?resource_type=limit&action=DELETE&start_date=2026-01-01T00:00:00Z
Detalle de un evento
UsaGET /v1/audit-events/{id} para recuperar un registro de auditoría específico, incluida la instantánea del estado en el momento del evento.
Escenarios de generación de informes de cumplimiento
Consultas comunes para la generación de informes de auditoría y cumplimiento.
Escenario 1: investigación de auditoría
“¿Por qué se denegó esta transacción el 15 de enero?”Escenario 2: informe mensual de cumplimiento
“Muestra todas las transacciones denegadas de cuentas corporativas en enero”Escenario 3: análisis de efectividad de reglas
“¿Qué transacciones fueron denegadas por una regla de fraude específica?”Escenario 4: revisión de uso de límites
“¿Qué transacciones excedieron los límites de gasto este mes?”Mejores prácticas para el cumplimiento
Recomendaciones para mantener la preparación para auditorías.
Mantenimiento de registros
- Almacena los ID de validación en tus registros de transacciones para facilitar la referencia cruzada
- Registra el requestId que envías a Tracer para la correlación
- Exporta con regularidad si necesitas registros en sistemas de auditoría externos
Preparación para auditorías
- Prueba las consultas antes de la temporada de auditoría para asegurarte de poder recuperar los datos necesarios
- Verifica que los rangos de fechas funcionen correctamente con tus requisitos de zona horaria
- Documenta la alineación de tu política de retención con la retención de 7 años de Tracer
Flujo de investigación
Al investigar una transacción específica:- Encuentra el ID de validación en tus registros de transacciones o en el historial de Tracer
- Recupera los detalles completos con GET /v1/validations/
- Revisa la instantánea de la solicitud para ver los datos de la solicitud
- Revisa las reglas coincidentes para entender el motivo de la decisión
- Verifica el estado del límite si corresponden límites
Comportamiento sin coincidencias y auditoría
Cuando se ejecuta una validación y ninguna regla coincide, Tracer devuelve una decisión predeterminada configurada en lugar de tratar la ausencia de coincidencias como un error. Esto es un valor de respaldo por solicitud, no una estrategia de resiliencia de infraestructura. La variable de entorno
DEFAULT_DECISION_WHEN_NO_MATCH rige la decisión (predeterminado: ALLOW).
Establece
DEFAULT_DECISION_WHEN_NO_MATCH=DENY para una semántica de fail-closed en despliegues de alta seguridad. El servicio registra una advertencia al iniciar si esto permanece en el valor predeterminado ALLOW.tracer_audit_persist_failures_total y el endpoint /readyz para detectar estos casos.
Referencia rápida
Endpoints clave e información de retención.

