Cada ícone das figuras que circularam na última semana foi interpretado publicamente, e poucos foram interpretados corretamente — não por má-fé, mas porque ler um ícone exige saber qual programa o desenhou e o que ele leu do banco de dados para desenhá-lo. Este texto faz esse trabalho com o código-fonte da ferramenta aberto ao lado.
Todo mundo leu o relatório. Ou leu a matéria sobre o relatório, que reproduzia as figuras do relatório. Bolhas verdes, fundo de rabiscos, “Mensagem apagada pelo remetente” cinco vezes seguidas, um ícone redondo com o número 1, dois tracinhos ao lado da hora.
O que segue não discute quem tem razão no caso. Discute o que o documento demonstra, o que ele não distingue, e o que a cópia que circula não permite verificar.
O que o documento é — e o que não é
A peça divulgada em 1º de setembro, com sigilo levantado, é a Informação de Polícia Judiciária de Análise nº 3298613/2026, do NADIP/DFIN da Polícia Federal, 218 páginas, produzida no âmbito da Operação Compliance Zero. Analisa a extração do iPhone de Daniel Vorcaro, apreendido em 18 de novembro de 2025.
Dois detalhes do cabeçalho importam mais do que parecem.
Primeiro: não é laudo pericial. A extração e o hash estão em documento separado, o Laudo nº 4281/2025 do SETEC. A IPJ-A é análise investigativa, assinada por quatro agentes e quatro delegados — nenhum perito. É a distinção entre documento investigativo e laudo de exame que tratei em Ninguém abriu o arquivo, agora em caso público: interpretações sobre padrão de comportamento e correlação de eventos são conclusões de investigador, com o peso que isso tem.
Segundo: o relatório declara ter usado duas ferramentas — IPED 4.2.2 e Cellebrite Reader 10.7.1.5013. Isso vai importar adiante, porque as figuras misturam as duas sem dizer qual gerou o quê.
O que o relatório faz bem
Uma auditoria honesta começa pelo crédito, e há crédito real.
A metodologia correlaciona quatro fontes independentes para cada envio: abertura do aplicativo Notas, evento de captura de tela, criação de um PDF residual em pasta temporária, e o registro de envio no WhatsApp — tudo com horário. Apresenta os horários em UTC e UTC−3 lado a lado, e avisa expressamente, na p. 40, que os registros do WhatsApp estão em UTC−3 e os logs em UTC. É o erro clássico de fuso tratado de frente.
O documento também se autolimita: 72 horas de prazo, análise expressamente não exaustiva, apenas menções nominais diretas. Isso é rigor, não fraqueza.
E a premissa técnica mais questionada publicamente — a de que tirar um print no Notas gera um PDF — está correta. O relatório a apresenta com um “entende-se que”, como inferência. Mas há fonte primária: a Apple documenta, desde o iOS 13, a classe UIScreenshotService do UIKit, descrita como “um objeto que coordena a criação de capturas de tela em PDF do conteúdo de um aplicativo”. Quando o usuário tira um screenshot, o sistema pede ao aplicativo uma representação em PDF do conteúdo completo — é o que alimenta a opção “Página Inteira”, e Notas e Safari a implementam. O PDF nasce no instante da captura e é depositado em área temporária; a Apple documenta que arquivos em tmp não têm garantia de permanência, mas tampouco de exclusão imediata. Isso explica o PDF no mesmo segundo do print, e explica o resíduo semanas depois.
A crítica aqui é de documentação, não de método: uma linha citando a API converteria inferência em fato e fecharia de antemão o quesito que a defesa pode formular. O que segue sem explicação é o nome da pasta, com.apple.coherence — nem o relatório nem a documentação pública dizem o que esse serviço é.
O que as figuras não podem dizer — pelo código
As telas de conversa reproduzidas nas pp. 37 a 41 não são capturas do WhatsApp nem do Cellebrite. São o visualizador HTML de WhatsApp do IPED — bolha verde, papel de parede de rabiscos, cabeçalho “WhatsApp Chat –”. O IPED é software livre, mantido pela própria Polícia Federal, e a versão declarada está fixada em uma tag pública. Baixei a tag 4.2.2 e li o que o parser faz. Três achados.
Os dois tracinhos são verdes — e verde significa entregue, não lido
No visualizador, os estados sent e delivered desenham o mesmo ícone em verde-sálvia #92A58C; o estado viewed usa azul #4FC3F7. Quem quiser conferir precisa saber onde olhar: os hexadecimais não aparecem como texto na folha de estilo — os quatro ícones são SVG embutidos em base64 dentro de background-image, e a cor está no atributo de preenchimento de cada um, depois de decodificado.
O estado vem do campo ZMESSAGESTATUS do banco do iOS: valor 6 é entregue, valor 8 é visualizada. As mensagens exibidas nas figuras trazem o duplo tracinho verde — status 6. Não há azul em nenhuma delas.
Quem olhou as figuras e viu “verde” viu certo — mas verde, no IPED, é o que o WhatsApp mostra em cinza. Confirmação de entrega, não de leitura. Se as mensagens foram lidas continua indeterminado, inclusive porque a confirmação de leitura pode estar desativada no aparelho do destinatário. O que não se sustenta é a leitura oposta: o ícone não mostra que viram. Mostra que chegou.
O ícone de visualização única nunca muda de estado
O visualizador imprime um único elemento estático — uma constante <img class="vo">, escrita uma vez no código — para toda mensagem de visualização única, sem variante para “aberta” ou “não aberta”. E o extrator do iOS classifica visualização única exclusivamente pelo tipo da mensagem, os valores 38, 39 e 53 de ZMESSAGETYPE, sem ler qualquer campo de estado de abertura: as três únicas menções a visualização única no extrator são essas atribuições por tipo.
Portanto, se o destinatário abriu as mensagens de visualização única é indeterminável a partir do render do IPED — não porque o dado não exista no aparelho, mas porque a ferramenta não o extrai. Isso é fato de código, não opinião.
O relatório, aliás, é preciso nesse ponto: afirma que houve envio de cinco mensagens de visualização única e que os logs registram cinco envios. Não afirma que foram abertas. A narrativa pública é que extrapolou.
“Mensagem apagada pelo remetente” é revogação ativa — e o horário exibido não é o da revogação
Na p. 37, cinco mensagens do contato salvo no aparelho como “Alexandre de Moraes BRASILIA” — que o relatório identifica como o ministro Alexandre de Moraes, do STF — aparecem em 1º de outubro com esse texto. Logo acima, o aviso, de 17 de setembro, de que a conversa passou a ter mensagens temporárias de 24 horas. O relatório encadeia as duas coisas sem distingui-las, e o leitor conclui que sumiram pelo temporizador.
Não é o que o dado diz. Mensagem que expira por temporizador é removida do banco sem deixar marca visível. “Mensagem apagada pelo remetente” é o texto que o WhatsApp grava quando quem enviou usa “apagar para todos” — ato deliberado, com tipo de mensagem próprio.
Daí duas perguntas que o relatório exibe e não responde.
A primeira: se o temporizador de 24 horas estava ativo, cinco marcas de revogação sobreviveram 47 dias no banco de dados vivo — e estavam vivas, não recuperadas, porque o IPED imprime um rótulo visível e um ícone próprio abaixo de toda mensagem que veio de registro apagado, e nenhuma das cinco o tem. Ou a marca de revogação não herda a expiração, ou o temporizador não incidiu sobre aquelas mensagens. O documento não diz qual.
A segunda é mais relevante: o horário na bolha — 22:18:21 — é o campo ZMESSAGEDATE, o instante do envio original. O IPED 4.2.2 não lê horário de revogação. Então não se sabe quando as cinco foram apagadas para todos. A janela vai de 1º de outubro até algum momento antes de 18 de novembro, porque a revogação precisa alcançar o aparelho do destinatário ainda conectado. Apagar segundos depois de enviar e apagar semanas depois são fatos com pesos completamente diferentes — e nem o relatório nem a ferramenta distinguem um do outro.
O que a cópia pública não permite conferir
Há um último problema, e ele não é da Polícia Federal.
Os metadados do PDF que circula mostram que ele foi gerado pelo Adobe Illustrator e processado pelo iLovePDF em 1º de setembro. Não é o arquivo original: é uma reexportação feita por terceiro, com tarjas aplicadas. Na Figura 41 — a peça central da corroboração, em que os logs são correlacionados aos cinco envios — as colunas de log estão inteiramente cobertas. Só as setas apontam para linhas ocultas. A correlação é afirmada, não exibida.
E as imagens dos chats, na cópia pública, têm cerca de 333 por 280 pixels. Um ícone de confirmação mede seis pixels. A cor, nessa resolução e depois de recompressões sucessivas, não é determinável por inspeção visual — precisou do código da ferramenta para ser resolvida. Quem quiser verificar por conta própria o que o relatório afirma não consegue fazê-lo com o que foi publicado. Precisa da extração.
É o mesmo ponto que discuti a respeito de hash e integridade: afirmar não é exibir. Só que aqui a opacidade é de quem redigiu e republicou a cópia, não de quem produziu o documento.
O que isso significa — para os dois lados
Nada do que está acima diz que as conclusões da IPJ-A são erradas. Diz o que o documento sustenta e o que ele não sustenta, e a lista é curta e simétrica.
Sustenta: que as mensagens foram enviadas, que foram entregues, que cinco mensagens do contato foram revogadas ativamente, e que a sequência Notas → captura → PDF → WhatsApp é tecnicamente consistente e tem mecanismo documentado pela Apple.
Não sustenta, e não poderia sustentar com a ferramenta e o texto que apresenta: que as mensagens foram lidas, que as de visualização única foram abertas, quando as revogações ocorreram, e por que marcas de revogação sobreviveram a um temporizador de 24 horas.
Para a acusação, isso significa que o relatório sustenta menos do que a repercussão sugere — e que uma conclusão sobre leitura ou abertura, se vier a ser formulada, precisará de fonte além do render do IPED. Para a defesa, significa que a revogação ativa é fato registrado, não hipótese, e que atacar o documento como se ele afirmasse leitura é atacar algo que ele não disse.
Para quem trabalha com prova digital, significa o de sempre: cada ícone é a saída de um analisador; cada analisador lê campos específicos; e o que a ferramenta não lê, o relatório não pode afirmar. É a mesma disciplina que separa o perfil que editou o arquivo da pessoa que o editou — o campo diz uma coisa, e a conclusão sobre gente exige outra camada.
O Superior Tribunal de Justiça consolidou na Edição 281 das Jurisprudências em Teses que dúvida razoável sobre a integridade da prova digital impõe exame com possibilidade de auditoria do método. Este texto é um exemplo de como essa auditoria começa — pelo código, pela documentação, pela pergunta “quem desenhou este ícone e o que ele leu para desenhá-lo”.
O dado sustenta exatamente o que sustenta. Nem uma palavra a mais.
Referências
- BRASIL. Polícia Federal. Informação de Polícia Judiciária de Análise n. 3298613/2026 — NADIP/DFIN. Cópia pública, com sigilo levantado em 1º de setembro de 2026.
- BRASIL. Código de Processo Penal, arts. 158-A a 158-F, na redação da Lei n. 13.964/2019.
- BRASIL. Superior Tribunal de Justiça. Jurisprudência em Teses n. 281 — Direito Penal e Processual Penal em Ambiente Digital III, Teses 3 e 4. Edição disponibilizada em 29 de maio de 2026.
- IPED — Indexador e Processador de Evidências Digitais, versão 4.2.2, commit 26b55296. ExtractorIOS.java: mapeamento de
ZMESSAGESTATUS6 para entregue e 8 para visualizada, linhas 683 a 686; classificação de visualização única porZMESSAGETYPE38, 39 e 53, linhas 1705 a 1717; marcação de registro apagado, linha 1291; horário da mensagem lido deZMESSAGEDATE, linha 1232, sem qualquer leitura de horário de revogação. - IPED, versão 4.2.2. ReportGenerator.java: ícone estático de visualização única, linha 49; classes de status impressas, linhas 1108 a 1125; rótulo de mensagem recuperada de registro apagado, linhas 1135 a 1139.
- IPED, versão 4.2.2. whatsapp.css: regras
div.sent,div.deliveredediv.viewed, com os ícones em SVG codificado em base64 — preenchimento#92A58Cnos dois primeiros e#4FC3F7no terceiro. - APPLE INC. UIScreenshotService — “An object that coordinates the creation of PDF screenshots of an app's content”. UIKit, disponível a partir do iOS 13.0.

Após 20 anos de serviço público (TRF4, TJSC e Polícia Civil, como delegado), atua em assistência técnica à defesa, prova digital, cadeia de custódia e análise forense de dispositivos móveis.
Material técnico-educativo. O caso entra como documento público, com sigilo levantado, e as pessoas aparecem apenas como constam dele: este texto audita o método do relatório, não adere a nenhuma tese sobre o mérito da investigação nem sobre a conduta de qualquer pessoa nele mencionada, o autor não tem relação com as partes, e nada aqui é parecer jurídico nem técnico sobre caso concreto. A Cyberlex produz documentos técnicos de assistência ao advogado e ao cliente — parecer de assistência técnica, nota técnica e análise —, com linguagem de indício técnico e limitações explícitas, e não emite laudo pericial oficial nem exerce advocacia. A judicialização, quando necessária, cabe ao advogado constituído pelo cliente, com autonomia técnica e independência. Anomalias de custódia são sinalizadas com linguagem de incerteza, jamais asseridas como manipulação provada.