TRUNCATE no nível do banco de dados bloqueia a exclusão em massa. O hash SHA-256 de cada registro inclui o hash do registro anterior, então remover ou reatribuir a data de um registro quebra a cadeia em tudo o que vem depois. Se você precisar remover um registro por motivos legais (como o direito ao esquecimento da GDPR sobre PII), a resposta é a minimização de dados desde o início, não a edição retroativa.
O Tracer mantém uma completa e imutável de todas as decisões de validação. Este guia explica como o sistema de auditoria funciona e como consultar o histórico de validações para relatórios de conformidade.
Visão geral de conformidade
O Tracer é projetado para atender aos requisitos de auditoria de regulamentações financeiras, incluindo:
Arquitetura da trilha de auditoria
O Tracer registra cada decisão de validação com contexto completo para conformidade e investigação.
O que é registrado
Cada validação cria um registro de auditoria imutável contendo:Eventos de auditoria são deduplicados para validações de transação. Se você repetir uma requisição de validação com o mesmo
requestId, o Tracer armazena apenas o primeiro evento de auditoria. Isso garante que a trilha de auditoria reflita eventos de negócio únicos, não padrões de nova tentativa da API.Imutabilidade e cadeia de hash
Registros de auditoria são gravados uma única vez e encadeados por criptografia:- Você não pode modificar um registro após a criação.
- Um trigger
TRUNCATEprotege a tabela de auditoria no nível do banco de dados e bloqueia a exclusão em massa. - Cada registro armazena um hash SHA-256 calculado sobre a identidade do registro, o timestamp, o ator e o hash do registro anterior, formando uma cadeia apenas de inserção. Remover, reordenar ou reatribuir a data de um registro faz com que todos os registros posteriores falhem na verificação.
- Um
pg_advisory_xact_lockserializa as gravações da cadeia de hash para manter a ordem estável sob inserções concorrentes.
GET /v1/audit-events/{id}/verify, que retorna:
isValid é true e message confirma isso. Quando um registro não corresponde mais ao seu hash armazenado, isValid é false. O campo message informa a adulteração. Essa é a base criptográfica para as garantias de evidência de adulteração exigidas por SOX/GLBA.
Em uma verificação com falha, firstInvalidId carrega um número de sequência interno do registro divergente. Não é um id de evento de auditoria, então não é um valor que você pode passar para GET /v1/audit-events/{id}.
A trilha de auditoria é projetada para auditorias de conformidade. Você pode reconstruir exatamente o que aconteceu para qualquer validação, mesmo anos depois. Você também pode provar que os registros nunca mudaram depois do fato.
Retenção de dados
O Tracer retém dados de acordo com requisitos regulatórios e necessidades operacionais.
Períodos de retenção
Considerações de conformidade
- Requisito da SOX: manter registros por 7 anos a partir da data do relatório de auditoria
- Requisito da GLBA: reter registros que demonstrem conformidade com as regras de privacidade
- Exportação de dados: você pode exportar registros para sistemas de auditoria externos
Consultando o histórico de validações
Use o endpoint
GET /v1/validations para consultar validações históricas.
Consulta básica
Consulta filtrada
Filtros disponíveis
Requisito de formato de data
Válido:Paginação
Os resultados usam paginação baseada em cursor. A resposta inclui os camposnextCursor e hasMore para navegar pelos resultados.
A paginação por cursor mantém
sort_by e sort_order da consulta original.Ordenação
Obtendo detalhes da validação
Recupere os detalhes completos de uma validação específica usando
GET /v1/validations/{id}.
A resposta contém tudo o que é necessário para entender uma decisão de validação:
- Snapshot da requisição: o payload de entrada completo, conforme recebido
- Snapshot da resposta: a resposta completa, incluindo decisão e motivo
- Regras avaliadas: todas as regras que o Tracer verificou
- Regras correspondentes: regras que dispararam (se houver)
- Detalhes do limite: informações de uso dos limites verificados
- Timestamps: quando a validação ocorreu e o tempo de processamento
Consultando eventos de auditoria
Além dos registros de validação, o Tracer também expõe um log genérico de eventos de auditoria via
GET /v1/audit-events. Essa é a única forma de ver as mudanças de ciclo de vida de regras e limites: quem os criou, atualizou, ativou, desativou, colocou em rascunho ou excluiu.
Tipos de evento
Eventos de reserva aparecem no log, mas nenhum filtro os seleciona. Os parâmetros
event_type, action e resource_type aceitam apenas os valores listados na tabela abaixo. Cada um rejeita um valor de reserva com o erro 0009. Para ler eventos de reserva, consulte por período e navegue pelos resultados.Filtros
GET /v1/audit-events aceita os mesmos filtros de período e escopo que GET /v1/validations, além de filtros específicos para eventos de ciclo de vida:
Casos de uso
- Quem ativou esta regra?
GET /v1/audit-events?resource_type=rule&resource_id={ruleId}&action=ACTIVATE - Todas as mudanças de regra na última semana:
GET /v1/audit-events?resource_type=rule&start_date=...&end_date=... - Todas as exclusões de limite em 2026:
GET /v1/audit-events?resource_type=limit&action=DELETE&start_date=2026-01-01T00:00:00Z
Detalhe de um evento
UseGET /v1/audit-events/{id} para recuperar um registro de auditoria específico, incluindo o snapshot do estado no momento do evento.
Cenários de relatórios de conformidade
Consultas comuns para relatórios de auditoria e conformidade.
Cenário 1: investigação de auditoria
“Por que essa transação foi negada em 15 de janeiro?”Cenário 2: relatório mensal de conformidade
“Mostrar todas as transações negadas de contas corporativas em janeiro”Cenário 3: análise de eficácia de regras
“Quais transações foram negadas por uma regra de fraude específica?”Cenário 4: revisão de uso de limite
“Quais transações excederam limites de gastos neste mês?”Boas práticas para conformidade
Recomendações para manter a prontidão para auditoria.
Manutenção de registros
- Armazene os IDs de validação nos seus registros de transação para facilitar a referência cruzada
- Registre o requestId que você envia ao Tracer para correlação
- Exporte regularmente se precisar dos registros em sistemas de auditoria externos
Preparação para auditoria
- Teste consultas antes da temporada de auditoria para garantir que você consegue recuperar os dados necessários
- Verifique se os períodos funcionam corretamente com os requisitos de fuso horário
- Documente o alinhamento da sua política de retenção com a retenção de 7 anos do Tracer
Fluxo de investigação
Ao investigar uma transação específica:- Encontre o ID de validação nos logs da sua transação ou no histórico do Tracer
- Recupere os detalhes completos usando GET /v1/validations/
- Revise o snapshot da requisição para ver os dados da requisição
- Verifique as regras correspondentes para entender o motivo da decisão
- Verifique o status do limite, se houver limites aplicáveis
Comportamento sem correspondência e auditoria
Quando uma validação é executada e nenhuma regra corresponde, o Tracer retorna uma decisão padrão configurada em vez de tratar a ausência de correspondência como um erro. Esse é um fallback por requisição, não uma estratégia de resiliência de infraestrutura. A variável de ambiente
DEFAULT_DECISION_WHEN_NO_MATCH determina a decisão (padrão: ALLOW).
Defina
DEFAULT_DECISION_WHEN_NO_MATCH=DENY para semântica fail-closed em deploys de alta segurança. O serviço registra um aviso na inicialização se isso permanecer no padrão ALLOW.tracer_audit_persist_failures_total e o endpoint /readyz para detectar esses casos.
Referência rápida
Endpoints principais e informações de retenção.

