Procedência e custódia · escrito para advogados
O que o hash prova, e o que não prova.
Esta página é para quem tem de apresentar uma prova em um tribunal. Declara os campos que registramos, o procedimento que a parte receptora executa sem nós e os limites do que um hash pode estabelecer.
O que é um hash
Um parágrafo, em linguagem simples
Um hash é um valor curto e de comprimento fixo calculado a partir de um arquivo. Mude um pixel da imagem de um boletim de urna e o valor muda por completo; deixe o arquivo intacto e o valor se recalcula idêntico em qualquer máquina, em qualquer ano, sem contato conosco. Um hash estabelece, portanto, que um arquivo é o mesmo arquivo que foi hasheado. Não estabelece quem criou o arquivo, quando o criou, nem que aquilo que o arquivo mostra é verdadeiro: isso vem do livro de custódia, da certificação e do registro subjacente.
Hasheado na captura
O que é hasheado no momento da captura
- Os bytes da imagem do boletim de urna, exatamente como capturados, antes de qualquer processamento.
- O registro de metadados de captura: chave de unidade agregada, papel que capturou, classe de dispositivo e marca temporal de captura em UTC.
- Os dois hashes em conjunto, para que a imagem e as suas circunstâncias não possam ser separadas depois.
- Nenhuma identidade individual é hasheada, porque nenhuma é coletada. O registro nomeia um papel, não uma pessoa.
Cadeia até uma raiz
Como os registros se encadeiam a uma raiz
Cada registro de verificação carrega dois hashes: o do artefato que verifica e o do registro imediatamente anterior. Os registros formam assim uma cadeia ordenada, e um único valor — a raiz de cadeia — é calculado sobre os hashes ordenados das partes e escrito no manifesto.
- Altere um registro e o seu próprio hash muda, de modo que o registro seguinte já não corresponde.
- Remova ou reordene um registro e a raiz de cadeia muda.
- A raiz é, portanto, um único valor que o advogado pode lançar no processo, e qualquer alteração posterior o contradiz.
O manifesto
O que o manifesto lista
- Norma
- A norma e versão do pacote, erm_evidence/1, para que o índice seja fixo e testável.
- Partes
- Todas as partes do pacote, em ordem, cada uma com o seu SHA-256. Uma parte que não pôde ser produzida é listada com o motivo da ausência.
- Raiz de cadeia
- O único valor calculado sobre os hashes ordenados das partes.
- Certificador
- Uma referência hasheada do gerador. A integridade é verificada pelo hash de entrega — um SHA-256 sobre items, chain_root e bundle_id — registrado no registro de custódia.
- Gerado em
- A marca temporal de geração, em UTC, com o fuso declarado e não implícito.
Livro de custódia
As colunas que uma certificação exige
Estes são os campos em que assenta uma certificação ao abrigo da FRE 902(13) ou 902(14), e os campos que a SWGDE recomenda para o tratamento de prova digital. O livro é entregue como parte 08 do pacote. A linha abaixo é uma amostra identificada de um fixture de CI.
Amostra · fixture de CI · não ao vivo
| Id do item | Cedente | Receptor | Data / hora UTC | Finalidade | Hash de aquisição | Hash de verificação | Certificador |
|---|---|---|---|---|---|---|---|
ITEM-0412-A | Papel de captura de campo 04 | Papel de verificação 02 | 24 jun 2026 08:12 UTC | Confirmação humana | sha256:7b31… | sha256:2d90… | Papel certificador 01 |
Linha de amostra de um fixture de CI. Não corresponde a qualquer eleição, seção ou pessoa.
Verificação offline · 5 passos
Como a parte receptora verifica, sem nós
- Recalcular o hash de entrega (SHA-256 sobre items, chain_root, bundle_id) e compará-lo com o registro de custódia.
- Recalcular o SHA-256 de cada parte e comparar cada um com o manifesto.
- Recalcular a raiz de cadeia a partir dos hashes das partes e compará-la com a raiz do manifesto.
- Voltar a obter a URL do instantâneo do registro oficial e comparar o seu hash de conteúdo.
- Reproduzir o relatório de reconciliação contra o conjunto de captura e o registro de N/A.
Cada passo usa ferramentas padrão sobre os arquivos entregues. Em nenhum momento é necessário um serviço da Veridian, uma conta ou uma chamada de rede para nós.
Passo 02, executado aqui Amostra · fixture de CI · não ao vivo
Comparar um valor com a entrada de manifesto da parte 01
Este painel compara o texto que você colar com uma entrada de manifesto de um fixture sintético de CI. Não hasheia nada, não lê qualquer arquivo e não corresponde a qualquer engajamento. Existe para que o procedimento desta página possa ser visto uma vez antes de importar.
Valor de manifesto, parte 01 (amostra · fixture de CI · não ao vivo)
sha256:9f2c04ae7b312d90e417aa0631f86c2b5d418ac37e90b214cf05d6a1938be47c
Como se vê a manipulação
Três casos, e o passo que detecta cada um
Caso 01 · passo 02
Uma página foi alterada
A imagem de um boletim de urna é editada após a captura. O seu SHA-256 recalculado já não corresponde à entrada do manifesto, e a parte é identificada pelo nome.
Caso 02 · passo 03
Uma entrada foi removida ou reordenada
Uma entrada de captura é apagada ou movida. Cada hash de parte continua a corresponder, mas a raiz de cadeia recalculada não corresponde à raiz do manifesto.
Caso 03 · passo 04
O instantâneo oficial foi substituído
O instantâneo do registro oficial é trocado por outro documento. O hash de conteúdo reobtido não corresponde ao hash registrado no momento da obtenção.
Estes três casos são construídos e detectados em cada execução de CI contra um pacote sintético. Não se afirma detecção além destes três casos.
Diligência devida
Como isto se sustentaria?
- A prova é o mesmo arquivo que foi entregue? O que o manifesto lista →
- Podemos verificá-lo sem depender da Veridian? Verificação offline, cinco passos →
- Quem tratou o artefato, e quando? As colunas do livro de custódia →
- O que acontece se uma página foi trocada? Como se vê a manipulação →
- O que o hash não prova? O que é um hash →
- Por que falta um número no relatório? Regras de recusa e códigos de motivo →
Solicitar um engajamento
Indique-nos a eleição, a data e o artefato de que precisa. Respondemos com âmbito, condições de recusa e um preço contra o piso publicado.