FatoCadeia de Custódia

Ferramenta · Verificação · Público

Verificar Evidência

Envie o pacote de evidência (.zip) e informe o hash SHA-256 do vídeo. A Fato confere, contra seus próprios registros, se o pacote é autêntico e se o vídeo não foi alterado — e apresenta a cadeia de custódia da gravação. Não é necessário ter conta.

Algoritmos
SHA-256 · Ed25519
Acesso
Público
Limite on-line
100 MB
Conformidade
FIPS 180-4 · RFC 8032
§ 1 · Enviar pacote

Pacote e hash do vídeo

Selecione o arquivo fato-evidencia-…zip e cole o hash SHA-256 do vídeo — o mesmo valor que serve de senha do pacote. A verificação não exige abrir nem descompactar o arquivo.

SHA-256 · Ed25519
§ 2 · Como funciona

O que é conferido

O pacote é aberto com o hash informado (a senha) e o vídeo contido nele é recalculado e comparado ao registro da gravação na Fato. Se qualquer byte do vídeo tiver sido alterado, o hash deixa de corresponder e a verificação falha. Em seguida, a assinatura ed25519 do servidor sobre o manifesto é reconferida a partir dos nossos registros.

Por que o hash é a senha

O SHA-256 do vídeo é, ao mesmo tempo, o valor de integridade e a chave que abre o ZIP. Vincular os dois garante que o pacote só se abre com o hash correto e que o conteúdo confere com o que foi gravado.

§ 3 · Verificação offline

Sem depender da Fato

Peritos podem verificar o pacote de forma independente, sem a infraestrutura Fato. Extraia o ZIP usando o hash do vídeo como senha e execute o verificador autônomo sobre os artefatos extraídos: o vídeo, o manifest.json assinado e o log de eventos selado. Ele depende apenas da biblioteca cryptography e o código-fonte é auditável na íntegra — um único arquivo.

Baixar verify.py — arquivo único, sem instalador. Requer Python 3.9 ou superior. Salve-o em qualquer diretório e execute:

pip install 'cryptography>=42,<47'

python verify.py --manifest manifest.json \
                 --file <gravacao>.webm \
                 --events <id>.events.jsonl \
                 --server-pubkey <chave-publica-fato>

SHA-256 do arquivo acima: bf853e2ac29dff87ed40dd4523aa561e976a032f4077de2a7099a45299c2b38f. Publicado pela Fato, na mesma página que serve o arquivo: confirma que a cópia baixada chegou íntegra, e que duas cópias obtidas separadamente são a mesma. Não é atestado de terceiro sobre a Fato — a independência do verificador vem de o código-fonte ser legível na íntegra e de a chave pública contra a qual ele confere as assinaturas ser fornecida de fora, em --server-pubkey.

A opção --server-pubkey é obrigatória: o verificador recusa-se, por construção, a confiar na chave que o próprio pacote anuncia. Obtenha a chave pública da Fato por canal independente do pacote. O quadro de metadados assinado pelo cliente não faz parte do pacote; quem o tiver separadamente pode acrescentar --client-metadata <arquivo> para verificar também esse elo. Código de saída 0 significa verificação completa aprovada, 1 reprovada e 3 incompleta — um elo não pôde ser verificado, o que não equivale a aprovação.

A extração de pacotes protegidos por AES requer uma ferramenta compatível (por exemplo, Keka ou 7-Zip). A verificação on-line acima dispensa qualquer extração.

Fato · Verificação de Evidência · Versão 1.1SHA-256 · Ed25519