Arquivos e hash
Onde ficam e como se chamam
Seção intitulada “Onde ficam e como se chamam”Comprovantes e documentos ficam no armazenamento de arquivos do Iunto, em três lugares:
| Caminho | O que é |
|---|---|
plans/{plano}/notas/{nota}/… |
Anexos e comprovante de uma nota. |
plans/{plano}/acordo/… |
Documentos do acordo do plano (só o criador anexa). |
settlements/{de}_{para}_{instante}/… |
Comprovante de um acerto. |
O nome de cada arquivo segue o padrão {milissegundos}_{sha256}.{extensão}:
o instante do envio, um sublinhado, o SHA-256 do conteúdo (64 caracteres
hexadecimais) e a extensão (jpg, png ou pdf). O SHA-256 é a impressão
digital do arquivo: um número calculado a partir dos bytes, que muda por
completo se um único byte mudar.
A regra do armazenamento só aceita o envio se o nome tem esse formato, o tipo é imagem JPEG, PNG ou PDF e o tamanho não passa de 20 MB. O hash do nome é declarado por quem envia: a regra confere o formato, não o conteúdo. A conferência do conteúdo contra o nome é feita depois, na geração do relatório (G-09).
Imutável
Seção intitulada “Imutável”O envio é somente de criação: a regra recusa sobrescrever um caminho que já existe, alterar ou apagar (G-08). No app, remover um anexo e incluir outro grava um arquivo novo; o anterior continua guardado. Como o arquivo não muda, um hash no nome que não bate com o conteúdo é sinal de que o nome foi declarado errado no envio; a troca do arquivo por um usuário a regra não permite.
Por que o app guarda o caminho, e não um link
Seção intitulada “Por que o app guarda o caminho, e não um link”O armazenamento sabe gerar um link de download que carrega um código de acesso público, válido sem login. Quem tivesse o link continuaria abrindo o arquivo mesmo depois de sair do plano. O Iunto nunca guarda esse link (G-03): guarda só o caminho, e cada abertura passa de novo pela verificação de acesso. Quem sai do plano perde o acesso.
Quem lê
Seção intitulada “Quem lê”Lê quem é membro do plano; no comprovante de acerto, as duas partes do acerto (G-03). Arquivos enviados antes de 2026-09-28 não têm o hash no nome: a leitura continua permitida, mas a integridade não é conferível (G-09).
Como recalcular o hash de um arquivo
Seção intitulada “Como recalcular o hash de um arquivo”Com o arquivo original e um relatório de prestação de contas em mãos:
- Confirme que o relatório é autêntico em iunto.app/verificar.
- Na seção “Comprovantes e documentos” do relatório, ache o arquivo e copie
os 64 caracteres entre o
_e o ponto final do nome impresso no relatório. - Calcule o SHA-256 do arquivo recebido:
- Windows (PowerShell):
Get-FileHash -Algorithm SHA256 arquivo.pdf - Linux:
sha256sum arquivo.pdf - macOS:
shasum -a 256 arquivo.pdf
- Windows (PowerShell):
- Compare os dois valores, ignorando maiúsculas e minúsculas. São iguais somente se o arquivo tem exatamente os mesmos bytes do que foi enviado ao Iunto.
Compare com o nome impresso no relatório autenticado, não com o nome do arquivo recebido. Quem entrega pode renomear um arquivo alterado com o hash dele próprio; o relatório autenticado fixa o hash que o Iunto guardou. Assim a conferência não depende de quem entregou o arquivo nem do caminho que ele fez.
Renomear o arquivo não muda o hash; abrir e salvar de novo, reexportar ou tirar uma captura de tela muda. Por isso a conferência vale para o arquivo original, e não para uma cópia convertida.
De onde vem o arquivo original
Seção intitulada “De onde vem o arquivo original”Um membro do plano, qualquer das partes, abre o anexo no app e usa
“Compartilhar original”. O arquivo sai com os mesmos bytes e o nome
guardados ({millis}_{sha256}.{ext}). O perito confere contra o nome impresso
no relatório autenticado, pelo passo a passo da seção anterior.
Uma captura de tela do anexo não serve, nem o envio como foto por aplicativos que comprimem imagens: ambos mudam o hash. O arquivo deve ser enviado como arquivo/documento. Quando nenhum membro entrega o arquivo, o operador continua sendo o caminho, mediante requisição judicial (o procedimento está em preparação). Hoje o servidor também recalcula o hash ao gerar o relatório, e o resultado aparece como “Íntegro” ou “Divergente”.
As quatro situações do relatório
Seção intitulada “As quatro situações do relatório”| Situação | O que o relatório fez | O que se pode concluir |
|---|---|---|
| Íntegro | Baixou o arquivo, calculou o SHA-256 e achou o mesmo do nome | O arquivo tem os mesmos bytes do que foi enviado. Nada diz sobre ser verdadeiro o que ele mostra. |
| Divergente | O hash calculado difere do hash do nome | O nome declarou, no envio, um hash que não corresponde ao conteúdo. O arquivo não serve como prova sem perícia sobre o arquivo e o registro do envio. |
| Sem hash registrado | O nome não tem hash | Arquivo anterior a 2026-09-28. A integridade não é conferível pelo relatório. |
| Não encontrado | Não localizou o arquivo no armazenamento | Nada se conclui sobre o conteúdo. Pedir ao operador a verificação do caminho indicado. |