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.
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.
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.
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.
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.