Logs Imutáveis — Cadeia de auditoria criptográfica
SecureAI registra cada interação de IA e cada ação administrativa em uma cadeia imutável de três camadas. Essa arquitetura garante que qualquer modificação, exclusão ou manipulação de registros seja detectável — mesmo que alguém tenha acesso direto ao banco de dados.Por que isso importa?
Um log que existe apenas no MongoDB não é verdadeiramente imutável: qualquer pessoa que tenha acesso ao servidor pode excluí-lo sem deixar rastros. SecureAI resolve isso fixando cada log em Sigstore Rekor, um log de transparência pública operado pela Open Source Security Foundation (OpenSSF) — o mesmo sistema que a indústria de software usa para verificar a cadeia de custódia de pacotes críticos.Garantia técnica: Depois que um hash de bloco Merkle estiver em Rekor, ninguém — incluindo o operador SecureAI — poderá alterar retroativamente esse registro. Qualquer auditor terceirizado pode verificá-lo de forma independente com uma única chamada curl.
##As três camadas de prova Cada pacote de interação possui três níveis de evidência criptográfica:
Camada 1 — Registro MongoDB (L1)
O registro primário da interação é armazenado no MongoDB com:
A string
prev_hash → current_hash → next_current_hash faz com que a exclusão de qualquer linha quebre a string — a discrepância é detectável ao percorrer a sequência.
Camada 2 — Árvore Merkle (L2)
Cada 10 entradas de log são agrupadas em um bloco Merkle:merkle_root é o hash raiz que representa as 10 entradas. Se alguma entrada for alterada, o merkle_root muda — invalidando o teste de inclusão.
Camada 3 — Rekor Âncora (L3)
Omerkle_root de cada bloco selado é enviado para Sigstore Rekor, um log público somente para acréscimos. Rekor retorna:
Uma vez que
log_index existe em Rekor, ninguém pode excluí-lo — o log Rekor é público, distribuído e imutável por design.
Portal da Transparência (admin)
Acesso
Administrador → AI Gateway → Portal de TransparênciaVerifique um pacote
- Digite ou cole
bundle_idno campo de pesquisa. - Clique em “Verificar Prova”.
- Você verá as três camadas com emblemas de status:
- ✅ Verde = verificado com sucesso
- ⚠️ Amarelo = selagem/âncora pendente (normal para interações há menos de 2 minutos)
- ❌ Vermelho = falha na verificação (sinal de alerta)
Copiar link de verificação pública
Quando o resultado estiver visível, uma barra aparecerá com o botão “Copiar URL de verificação pública”. Esse link é público – você pode enviá-lo a um auditor externo sem precisar de login.##Página de verificação pública Qualquer pessoa com um
bundle_id pode verificar o teste sem acesso ao SecureAI:
- O conteúdo da mensagem nem a resposta da IA
- Dados do usuário (nome, email, IP)
- Qualquer informação pessoalmente identificável
Verificação independente com curl
Um auditor externo pode verificar qualquer pacote sem confiar na interface web:Etapa 1 — Faça o teste
Passo 2 — Confirme o hash na camada Merkle
Etapa 3 — Confirme a âncora em Rekor
signedEntryTimestamp não vazio confirma que Rekor aceitou e assinou a entrada. Esse carimbo de data/hora não pode ser alterado retroativamente.
Pacote de exportação assinado (auditores e usuários)
Além do verificador público dobundle_id, o SecureAI permite exportar evidências criptográficas em um ZIP portátil para auditorias offline.
O que o ZIP inclui?
Quando um administrador usa Exportar pacote assinado em Logs ou SMLTP, um arquivo é baixado com:data.csv: dados exportados.manifest.json: metadados criptográficos (rowCount,merkleRootOfExport,signingKeyFingerprint, carimbo de data/hora, etc.).manifest.sig: assinatura Ed25519 demanifest.json.verify.js: verificador offline sem dependências.README.txt: instruções rápidas.
Como verificar (off-line)
- Descompacte o ZIP.
- Abra um terminal nessa pasta.
- Execute:
O que esse verificador detecta?
- Editando qualquer campo em
data.csv. - Excluindo ou adicionando linhas em
data.csv. - Modificação de
manifest.json. - Uso de chave de assinatura incorreta.
FAIL, essa exportação não deve ser considerada confiável.
Teste rápido para auditoria
Para demonstrar a detecção de violação:- Execute
node verify.jsno ZIP recém-exportado (deve fornecer todosPASS). - Edite qualquer caractere em
data.csve salve. - Execute
node verify.jsnovamente. - Deve falhar pelo menos
Merkle root of export.
Interpretação de estados
Fluxo completo de uma mensagem
Conformidade do fornecedor
O selo “Provider Compliance” indica se o provedor de IA (OpenAI, Anthropic, etc.) confirmou o recebimento dos cabeçalhos de privacidade SMLTP:Perguntas frequentes
Posso verificar um pacote sem internet? Sim, baixe o JSON de teste no botão “Baixar JSON” enquanto estiver online. Omerkle_root e os hashes podem ser verificados offline, recalculando a árvore.
O que acontece se L3 estiver pendente?
Isso é normal para interações recentes (menos de 1 minuto). O sidecar do Rekor processa blocos a cada aproximadamente 30 segundos. Se após 5 minutos ainda estiver pendente, verifique se o sidecar rekor-anchor está rodando.
Por quanto tempo os registros são mantidos?
Por padrão, os logs são mantidos com base no retentionPeriod configurado. Registros marcados como conformidade (phi, pii, security, authorization) nunca são excluídos automaticamente.
Posso compartilhar o link de verificação com um cliente?
Sim. A URL /verify/<bundle_id> não requer login e não expõe dados confidenciais. É seguro compartilhar com auditores, reguladores ou clientes.
