Como registar temporalmente documentos sem os carregar

Se um serviço de registo temporal lhe pedir para carregar o seu documento, está a pedir mais do que necessita. Toda a técnica baseia-se num hash, e um hash pode ser calculado na sua própria máquina em menos de um segundo.
Isto é especialmente relevante para os documentos que valem a pena registar temporalmente: patentes ainda não depositadas, contratos em rascunho, manuscritos, trabalhos para clientes sob acordo de confidencialidade (NDA). Carregar esses ficheiros para uma terceira parte constitui uma divulgação, e muitas vezes uma que não tem permissão para fazer.
Por que razão o ficheiro nunca precisa de sair
O registo temporal publica uma impressão digital, não o documento. O SHA-256 transforma qualquer ficheiro em 64 caracteres hexadecimais, e é essa string que fica registada.
A impressão digital é suficiente porque é:
- Única para o ficheiro. Nenhum dois ficheiros significativamente diferentes partilha o mesmo hash.
- Unidirecional. O hash não pode ser revertido para obter o documento original.
- Reprodutível. Qualquer pessoa que tenha o ficheiro pode recalcular o hash e comparar.
Assim, o processo de verificação funciona perfeitamente sem que o ficheiro se mova: o utilizador faz o hash localmente, o hash é publicado e, mais tarde, apresenta o ficheiro e qualquer pessoa pode voltar a fazer o hash para confirmar a correspondência.
Como funciona a geração local de hash
Os navegadores modernos incluem uma API Web Crypto que calcula o SHA-256 nativamente. A sequência é a seguinte:
- Seleciona um ficheiro. O navegador lê-o do disco para a memória — uma operação local, sem envolvimento de rede.
crypto.subtle.digest('SHA-256', bytes)devolve o digest.- A string hexadecimal de 64 caracteres é exibida.
- Apenas essa string é transmitida.
Pode observar isto a acontecer. O nosso gerador de hash faz exatamente isso, e a página continua a funcionar com a sua rede desligada — uma boa demonstração de que nada está a ser enviado.
Verificar a afirmação por si próprio
Não confie nas palavras de nenhum serviço, incluindo as nossas. Três verificações, em ordem crescente de rigor:
1. Observe o separador de rede. Abra as ferramentas de desenvolvedor, mude para Rede e faça o hash de um ficheiro. Se o documento estivesse a ser carregado, veria um pedido a transportar megabytes. Não deve ver nada.
2. Desligue a ligação. Carregue a página, desligue-se da internet e depois faça o hash de um ficheiro. Se ainda produzir um hash, o cálculo é local. Este é o teste mais convincente e demora dez segundos.
3. Compare com as suas próprias ferramentas. Faça o hash do ficheiro com uma ferramenta de linha de comandos e verifique se os valores coincidem:
# macOS / Linux
shasum -a 256 contrato.pdf
# Windows PowerShell
Get-FileHash contrato.pdf -Algorithm SHA256
Uma saída idêntica significa que o serviço calculou o SHA-256 padrão do seu ficheiro e que não está a acontecer nada exótico.
Sinais de alerta
Considere estes motivos para procurar outra solução:
- O carregamento é obrigatório sem opção de processamento local. O ficheiro não é necessário; pedir é uma escolha.
- O serviço oferece guardar o seu documento. É conveniente e trata-se de um produto diferente com riscos diferentes. Guardar ficheiros não é registo temporal.
- É-lhe pedido o ficheiro para verificar. A verificação também só precisa do hash.
- Sem explicação do que é publicado. Um serviço deve dizer claramente que apenas o hash vai para a blockchain.
- Limites de tamanho medidos em megabytes. Uma indicação de que o ficheiro está a atravessar a rede.
Quando quer efetivamente carregar algo
Uma exceção honesta: alguns fluxos de trabalho incorporam um registo temporal dentro do ficheiro — assinaturas PAdES num PDF, por exemplo. Nesses casos, o ficheiro deve ser modificado, pelo que a ferramenta o necessita. Esse é um propósito legítimo diferente, abordado em como registar temporalmente um PDF.
Se tudo o que precisa é de prova de que o documento existia e permanece inalterado, nenhum carregamento é necessário em momento algum.
O que acaba por ter
Um registo público contendo o seu hash, uma transação que qualquer pessoa pode inspecionar e um documento que nunca saiu do seu portátil. Para provar o ponto mais tarde, apresenta o ficheiro e deixa a outra parte voltar a fazer o hash.
Seja preciso quanto ao limite: isto prova existência e integridade num dado momento, não autoria — veja prova de existência vs prova de autoria.