Verifique por si.

Largue um Evidence Pack abaixo. Cada soma de verificação é recalculada e a cadeia (sha256) é ligada de novo, inteiramente no seu browser. Nada é carregado.

Selecione os ficheiros. Ficam na sua máquina.

A página precisa do manifest.json para saber o que verificar; audit.jsonl e chain-head.json são o que verifica.

Arraste a pasta do pacote para aqui

Experimente com um exemplo.

Um pacote sintético: uma sessão guionizada passada pelo motor real quando esta página foi construída, e exportada tal como o evidren evidence exporta. Não é o registo real de ninguém.

A impressão digital do remetente para este pacote, tal como um remetente a daria à parte: 57bebee63d5094084ee2039f45a98300204a71b6b398ed46edbf6e1320e1996a

A cópia editada muda um deny registado para allow na linha 3. A cópia reescrita faz a mesma alteração e depois recalcula cada hash posterior. Passa em todas as verificações desta página. Só a impressão digital difere da do remetente.

Descarregue o exemplo para o verificar com uma shell, em alternativa: VERIFY.md, audit.jsonl, chain-head.json, manifest.json, policy.json, shadow-report.json, summary.json.

Com o que pode contar, e com o que não pode.

  1. Os ficheiros. audit.jsonl é o registo, uma linha por decisão. chain-head.json nomeia a última linha. manifest.json lista uma impressão digital para cada ficheiro. VERIFY.md explica como verificar tudo só com uma shell.
  2. O resultado. Coerente, ou o ficheiro e a linha onde se quebra.
  3. O que passar não mostra. Que o pacote não foi reescrito por inteiro: para isso, compare a impressão digital com uma que o remetente lhe deu à parte. Que os eventos registados aconteceram de facto. Que não falta nada: só as ações que passaram pelo Evidren são registadas, e uma linha ausente não se vê. A conformidade com qualquer lei ou norma.
O que esta página verifica
1. o sha256 de cada ficheiro contra a soma registada em manifest.json
2. o prevHash de cada linha contra o sha256 da linha anterior
3. chain-head.headHash contra o sha256 da última linha

NÃO VERIFICADO: o selo (HMAC) na cauda da cadeia. É cifrado com a chave
de mascaramento da instalação, que nunca sai da máquina de origem. Nenhum
terceiro o pode verificar, esta página incluída. O próprio manifesto do
pacote diz isso: "d18HmacTailSeal": false.

A verificação 3 apanha uma cauda cortada enquanto o chain-head.json ficou como estava. Passar significa que os ficheiros batem certo entre si. E por causa do bloco NÃO VERIFICADO, passar não pode mostrar que nada foi destruído antes da exportação.