Uma extensão para Chrome que transforma conversas do WhatsApp em provas digitais forenses — com hash criptográfico por mensagem, registro imutável em blockchain e sete arquivos prontos para juntada processual.
Em três decisões recentes, o Superior Tribunal de Justiça firmou entendimento de que provas digitais sem protocolo técnico de integridade são inadmissíveis — independente de quem as produziu.
A 5ª Turma entendeu que capturas de tela — mesmo realizadas por autoridade policial — não observam a cadeia de custódia dos arts. 158 e seguintes do CPP e constituem prova ilícita.
O descumprimento dos arts. 158-A a 158-F do CPP — que exigem hash antes do manuseio, documentação de cada etapa e possibilidade de auditoria — compromete irremediavelmente a validade da prova digital.
O STJ anulou condenação porque as provas eram apenas imagens de conversas sem hash calculado, sem documentação de coleta e sem possibilidade de auditoria. O acórdão é taxativo: "não se pode presumir que um print é autêntico."
Uma conversa que aconteceu hoje pode ser a prova decisiva de um processo que começa em meses — mas se não for capturada agora com cadeia de custódia, pode ser inadmitida quando você precisar. O momento de instalar é antes de precisar, não depois.
Qualquer pessoa com um celular e 5 minutos consegue editar uma conversa do WhatsApp. Isso torna o print sozinho uma prova frágil — facilmente impugnável em juízo.
Todo o processo é automático. Você abre a conversa, clica em "Registrar" e o sistema executa seis camadas de proteção simultaneamente.
Assim que você clica em "Registrar", a extensão começa a tirar screenshots automáticos da aba do Chrome a cada 2 segundos — incluindo a barra de endereço mostrando web.whatsapp.com. Isso cria um filme do processo de captura que prova que nenhuma edição aconteceu durante a operação.
Analogia: é como ter uma câmera de segurança gravando enquanto você coleta a evidência — qualquer tentativa de adulteração seria filmada.
Log fotográfico de sessão · captureVisibleTabAntes de qualquer captura, o sistema consulta servidores de tempo internacionais (NTP) para registrar o horário exato de forma independente do relógio do seu computador. Dois fusos horários diferentes são consultados e comparados — a diferença exata de 3 horas entre eles confirma que as respostas são autênticas.
Analogia: é como ligar para dois relógios oficiais diferentes antes de fazer o registro — se ambos mostram a mesma hora, ela é verdadeira.
NTP · timeapi.io · Validação cruzada UTC/BRTO WhatsApp Web tem duas camadas: o que você vê (texto, fotos, emojis) e o código-fonte HTML da página — o DOM. Nesse código existem dados que o usuário não vê: o ID único de cada mensagem gerado pelo servidor do WhatsApp, o número de telefone real do remetente e o horário registrado no servidor. O WF captura esse código bruto completo.
Analogia: é a diferença entre fotografar a fachada de um edifício e ter a planta arquitetônica original com todos os detalhes estruturais.
DOM capture · document.documentElement.outerHTMLPara cada mensagem capturada, o sistema calcula um código único de 64 caracteres chamado hash SHA-256. Funciona como uma impressão digital: qualquer alteração — mudar uma letra ou adicionar um espaço — gera um código completamente diferente. É matematicamente impossível fabricar um texto que produza o mesmo hash de outro texto diferente.
Analogia: é como selar cada página de um documento com cera lacrada personalizada — qualquer abertura deixa uma marca irreversível.
SHA-256 · crypto.subtle · Service Worker isoladoO hash geral do conjunto de provas é enviado para a rede Bitcoin através do protocolo OpenTimestamps. Uma vez incluído num bloco minerado, esse registro existe em milhares de computadores ao redor do mundo simultaneamente. Não pode ser apagado, alterado ou removido por ninguém. Qualquer pessoa pode verificar gratuitamente em opentimestamps.org.
Analogia: é como publicar uma notícia em milhares de jornais impressos do mundo inteiro no mesmo dia — impossível recolher todos e alterar a história.
OpenTimestamps · Bitcoin Mainnet · Merkle TreeTudo que foi capturado é empacotado automaticamente: o relatório HTML com todas as provas, o arquivo blockchain (.ots), o JSON com metadados de cada mensagem, o DOM bruto, os prints progressivos com hash embutido, o manifesto da cadeia e o log de operações. Sete arquivos. Zero etapas manuais. Prontos para juntada processual.
JSON · OTS · HTML · DOM · JPG · Manifesto · LogFuncionalidades completas, arquivos gerados e guia pericial — tudo reunido para você entender o produto ou apresentar a magistrados e peritos.
Cada funcionalidade foi projetada para responder a um vetor específico de questionamento judicial. Juntas, formam uma cadeia de custódia matematicamente irrefutável.
Cada mensagem recebe uma "impressão digital" criptográfica única. Qualquer alteração — mesmo um único caractere — produz hash completamente diferente, tornando adulteração imediatamente detectável.
Web Crypto APIO hash do pacote é ancorado na rede Bitcoin via OpenTimestamps. Cria prova matemática de que o documento existia com aquele conteúdo naquela data — imutável e verificável por qualquer pessoa sem depender do emissor.
OpenTimestamps v1Consulta dois fusos horários simultâneos (UTC e UTC-3). Validação cruzada automática: diferença de exatamente 3 horas prova que ambos os servidores retornaram dados reais e independentes.
timeapi.ioPrints progressivos do topo ao fim da conversa, cada um com hash SHA-256 e referência ao hash anterior. A sequência é impossível de fabricar, reordenar ou substituir parcialmente.
Cadeia criptográficaExtrai o HTML bruto da área de conversa antes e depois da captura. Compara hash t=0 com hash final — prova que nenhuma edição via DevTools ocorreu durante a operação.
Hash duplo t=0/finalCaptura a tela inteira do Chrome a cada 2 segundos, incluindo a barra de endereço (web.whatsapp.com). Prova que a operação ocorreu no WhatsApp real — headless browsers não exibem a barra de endereço.
2s/frame · encadeadoExtrai o telefone do atributo data-id das mensagens no DOM — gerado pelo servidor WhatsApp, independente do nome de contato salvo na agenda do usuário.
Gera um identificador único que aparece em todos os artefatos produzidos. Vinculação idêntica em contextos de execução separados é computacionalmente impossível de coordenar artificialmente.
UUID v4Verifica antes de cada screenshot se a conversa visível no DOM corresponde à selecionada. Descarta automaticamente capturas de outras conversas e registra o evento no log.
Anti-contaminaçãoO pacote de evidências é completo e autocontido. Todos os arquivos devem ser preservados juntos — cada um referencia os demais criptograficamente.
Contém todas as mensagens com hashes individuais, metadados NTP, integridade DOM, session log, UUID de sessão e cadeia de custódia completa. É este arquivo que é registrado na blockchain.
🔗 Registrado na blockchainArquivo OpenTimestamps com o hash SHA-256 do JSON ancorado na rede Bitcoin. Necessário para verificação em opentimestamps.org — confirma data e hora de existência do documento.
⛓️ Âncora temporal irrefutávelRelatório completo com mensagens renderizadas, prints progressivos inline, dados NTP, DOM capturado, UUID de sessão e instruções de verificação. Pode ser juntado diretamente no e-Proc.
📋 Compatível com e-ProcHTML bruto da área de conversa extraído diretamente do navegador. Prova o estado real da interface do WhatsApp Web no momento da captura — independente das mensagens processadas.
🌐 Estado bruto do DOMImagens individuais com overlay de metadados: número de sequência, hash SHA-256, hash anterior e timestamp. Necessários para verificar o encadeamento registrado no JSON.
🔗 Cadeia verificávelLista todos os prints com hashes individuais, encadeamento criptográfico (previousHash) e as mensagens do lote que disparou cada captura. Permite auditoria independente da sequência.
📋 Auditoria independenteRegistro completo de toda a operação em sequência temporal — incluindo erros, avisos e eventos de segurança. O próprio log tem SHA-256 calculado para verificação de integridade.
📊 Auditoria da operação.html é o que vai ao processo. Os arquivos .json e .ots devem ficar à disposição do Juízo por 30 dias para verificação de autenticidade — cite isso expressamente na petição.Cada questionamento técnico que a parte contrária pode levantar tem uma resposta matemática e documentável.
Destinado a advogados, peritos e magistrados. Cada card apresenta uma alegação que a parte contrária pode fazer e a refutação técnica correspondente, com referência aos campos específicos do pacote de evidências verificáveis independentemente.
O hash SHA-256 do arquivo JSON é calculado após o strip de imagens e antes de qualquer download. O arquivo .ots contém exatamente o hash do JSON que está nos downloads — qualquer diferença indicaria adulteração detectável em opentimestamps.org. A sequência é atômica: hash → OTS → download. Não há janela de edição.
O campo domIntegrity.hashBefore registra o hash SHA-256 do código-fonte em t=0 — no primeiro milissegundo da operação. O campo unchanged compara com o hash final. Qualquer edição via DevTools alteraria o hash. Para que a alegação fosse verdadeira, a edição teria ocorrido em menos de 1 milissegundo do clique — fisicamente impossível.
O sistema não utiliza o relógio do dispositivo como âncora primária. Consulta o servidor externo timeapi.io em dois fusos simultâneos (UTC e UTC-3). O campo ntpData.crossValidation.consistent confirma que a diferença é exatamente 3 horas — provando autenticidade. O registro Bitcoin fornece segunda âncora completamente independente.
Cada screenshot possui hash SHA-256 individual registrado no manifesto. Qualquer edição na imagem — mesmo um único pixel — altera o hash completamente. O encadeamento via previousScreenshotHash significa que adulteração de um print invalida todos os prints subsequentes. Para falsificar um print do meio da cadeia seria necessário recalcular todos os hashes encadeados e sincronizá-los com o JSON — que está registrado na blockchain Bitcoin.
As imagens foram capturadas pela API nativa chrome.tabs.captureVisibleTab — que fotografa a aba completa incluindo a barra de endereço mostrando web.whatsapp.com. Ferramentas como puppeteer, selenium e playwright — headless browsers — não exibem a barra de endereço. A barra de endereço visível nas imagens é prova técnica irrefutável de captura no Chrome real.
.json e pelo verificador público em opentimestamps.org — sem necessidade de instalar qualquer software adicional.Cada camada ataca um vetor diferente de contestação. Para invalidar esta prova, um perito adversário teria que comprometer todas as sete simultaneamente.
O código-fonte da página é fotografado antes de qualquer processamento. Impossível editar o DOM antes do hash — o sistema calcula em menos de 1 milissegundo.
Destrói: "editou antes do hash"
Dois servidores de hora independentes são consultados antes da captura. A diferença exata de 3h entre UTC e Brasília confirma autenticidade cruzada.
Destrói: "o timestamp foi fabricado"
Um identificador único é gerado no início e aparece em todos os artefatos: log fotográfico, NTP, DOM e relatório. Vinculação impossível de coordenar artificialmente.
Destrói: "os arquivos não são da mesma sessão"
Capturas a cada 2 segundos com a barra de endereço visível. Imagens geradas por script não têm a barra do Chrome — este é o diferencial visual irrefutável.
Destrói: "os prints foram gerados artificialmente"
Cada mensagem tem sua impressão digital individual. Alterar uma vírgula gera um hash completamente diferente — detectável por qualquer ferramenta gratuita.
Destrói: "o texto das mensagens foi alterado"
Registro em rede distribuída por milhares de computadores. Verificável por qualquer pessoa, sem depender do emissor. Imutável desde a mineração do bloco.
Destrói: "a data do registro foi fabricada"
O número real do interlocutor é extraído do atributo interno data-id das mensagens — gerado pelo servidor do WhatsApp, independente do nome salvo na agenda.
Destrói: "o nome do contato foi alterado"
Em computação forense, "cadeia de custódia" significa: documentar cada passo que a prova percorreu, de quem a coletou, como, quando e com quê — de forma que nenhum passo foi contaminado.
Duas visões do mesmo mercado: o panorama completo com todas as ferramentas, e a análise técnica detalhada das três mais usadas pelos advogados.
| Critério técnico | ⚡ WhatsApp Forense |
🏛️ Ata Notarial |
📋 MTO Provas |
🛡️ Veri fact |
📱 Print simples |
|---|---|---|---|---|---|
| Hash SHA-256 por mensagemImpressão digital individual de cada texto capturado | ✅ | ✗ | ✅ | ✅ | ✗ |
| Carimbo de tempo RFC 3161TSA certificada e independente do operador | ✅ | ✗ | ✗ | ✗ | ✗ |
| Registro blockchain BitcoinRede pública imutável — verificável por qualquer pessoa | ✅ | ✗ | ✗ | ✗ | ✗ |
| Captura de DOM / metadados internosIDs e timestamps do servidor WhatsApp — invisíveis na tela | ✅ | ✗ | ✗ | ✗ | ✗ |
| Screenshots encadeados + manifesto | ✅ | ✗ | ⚬ parcial | ⚬ parcial | ✗ |
| Compatível com e-Proc / PJe | ✅ | ✅ | ⚬ parcial | ⚬ parcial | ✅ |
| Custo | R$ 77/ano ilimitado | R$ 200–500 por ato | Por crédito | Por relatório | Grátis |
| 🏛️ Ata Notarial | 📋 e-Not Provas | ⚡ WhatsApp Forense | |
|---|---|---|---|
| Hash criptográfico por mensagem | ✗ Não | ✗ Não | ✓ SHA-256 |
| Captura do código-fonte (DOM) | ✗ Não | ✗ Não | ✓ Completo |
| Blockchain público imutável | ✗ Não | ~ Notarchain¹ | ✓ Bitcoin |
| Log visual do processo de captura | ~ Tabelião presente | ~ Servidor deles | ✓ Fotográfico (2s) |
| Âncora temporal independente | ~ Declarativo | ~ Servidor deles | ✓ NTP externo |
| Verificação por perito independente | ~ Fé pública | ~ Via Notarchain | ✓ Ferramentas abertas |
| Custo por captura | R$ 300–800+ | R$ 4–7 / tela | Ilimitado |
¹ Notarchain é rede permissionada dos tabeliães — acesso de validação restrito. Bitcoin é rede pública — verificação irrestrita por qualquer pessoa.
A ata notarial transfere o ônus da credibilidade para a autoridade do cargo. O WhatsApp Forense transfere para a matemática e para uma rede distribuída de milhares de mineradores Bitcoin. Quando a parte contrária impugna um registro blockchain verificado com hash SHA-256 por mensagem, afirma que a rede Bitcoin foi comprometida retroativamente — computacionalmente inviável com qualquer tecnologia existente.
O sistema foi desenvolvido em conformidade com a legislação vigente e as melhores práticas internacionais de computação forense.
O Código de Processo Civil disciplina a prova documental eletrônica, estabelecendo que a autenticidade pode ser demonstrada por qualquer meio capaz de assegurar integridade — exatamente o que o hash SHA-256 e o blockchain fornecem.
Prevê a proteção das comunicações e a possibilidade de disponibilização de registros para produção de provas em procedimentos judiciais. O LID/JID capturado permite identificação do interlocutor via ordem judicial ao WhatsApp.
Documentos eletrônicos que assegurem integridade e autoria são válidos mesmo sem certificação ICP-Brasil, desde que aceitos por quem lhes é oposto ou admitidos pelo juízo.
Reconhece expressamente a validade de provas digitais produzidas com mecanismos capazes de atestar autoria e integridade, incluindo tecnologias de registro distribuído — categoria em que o OpenTimestamps/Bitcoin se enquadra.
E entrega sete camadas de proteção técnica que nenhum tabelião consegue oferecer — com capturas ilimitadas pelo período de 12 meses.
Pagamento seguro via Asaas · PIX, cartão ou boleto · Chave enviada por e-mail