O que uma atestação prova, e o que não prova
Seu navegador verifica o enclave da Tinfoil antes de enviar uma palavra sequer. O que essa verificação estabelece, onde ela para e o que ainda não pode ser verificado em um navegador.
“Criptografado até o enclave” é uma expressão curta para uma cadeia de verificações. Vale a pena conhecer cada elo dela, porque cada um se apoia em algo diferente: as chaves de um fabricante de processadores, uma versão publicada, um cabeçalho ou um código que nós servimos. Esta nota percorre a cadeia na ordem e marca onde ela termina.
A verificação, passo a passo
Antes de o espaço de trabalho enviar uma mensagem, seu navegador busca o pacote de atestação do enclave pelo nosso retransmissor e o verifica com o verificador da Tinfoil, na própria aba. O pacote contém um relatório de hardware assinado com chaves cuja raiz está no fabricante do processador (AMD SEV-SNP, no caso do roteador), uma medição do código que o enclave inicializou e a chave pública com a qual o enclave vai descriptografar.
- A assinatura do relatório mostra que ele veio de um hardware de enclave genuíno.
- A medição é comparada com uma versão assinada e publicada do código do roteador, para que o navegador saiba qual código está rodando.
- A chave que está no relatório é aquela para a qual sua mensagem é então criptografada, com HPKE, antes de sair da aba.
O retransmissor guarda esse pacote público em cache por um minuto. Como o navegador o verifica, passar pelo nosso servidor não tem como enfraquecê-lo: um pacote alterado falha na verificação, e nada é enviado.
O que uma verificação aprovada mostra
Que um enclave naquele endereço é hardware real rodando aquela versão publicada, e que ele tem a chave para a qual sua mensagem foi selada. Sua mensagem só pode ser aberta dentro desse código, enquanto as proteções do hardware se mantiverem. Nosso retransmissor, nosso provedor de hospedagem e a rede entre eles veem texto cifrado.
Onde ela para
O enclave que seu navegador verifica é o roteador de modelos da Tinfoil. O código publicado dele descriptografa sua solicitação e a repassa ao próprio enclave do modelo, por uma conexão TLS vinculada à chave atestada desse enclave. Seu navegador não consegue confirmar esse salto por conta própria; ele depende do código publicado do roteador.
O espaço de trabalho também tenta verificar o enclave do modelo e informa, no comprovante de cada resposta, o que encontrou. Hoje essa verificação muitas vezes não consegue ser concluída em um navegador. O verificador da Tinfoil para navegadores só lê relatórios AMD SEV-SNP, e os enclaves do Kimi K3, do GPT-OSS 120B, do DeepSeek V4.1 Flash e a maioria dos do Gemma 4 31B rodam em Intel TDX, então os comprovantes deles dizem que ainda não podem ser verificados em um navegador. Alguns enclaves SEV-SNP, entre eles o do GLM-5.3, informam uma versão de processador que o verificador ainda não aceita, e aparecem como não confirmados. Nenhum dos dois casos significa que o enclave esteja errado; significa que o navegador não conseguiu mostrar que ele está certo. Essas constatações são de 28 de outubro de 2026.
Duas coisas que uma verificação não cobre
- O código que faz a verificação vem de nós. Se servíssemos um verificador que mentisse, a verificação passaria. É por isso que /verify compara o código que seu navegador carregou com o manifesto publicado da build, e é por isso que a build pode ser reproduzida byte a byte.
- A atestação depende das chaves de assinatura do fabricante e de o hardware do enclave funcionar como foi projetado. Ela não tem como revelar uma falha em nenhum dos dois.
Verifique você mesmo
Como funciona a verificação desenha a cadeia inteira. Sele você mesmo executa a etapa de selagem no seu navegador, sem enviar nada. Verificar esta página calcula o hash do código que você carregou, e Tente decifrar publica uma solicitação criptografada como o nosso retransmissor a viu.
Mais notas de campo
O que um retransmissor que não consegue ler ainda vê
Nosso retransmissor repassa texto cifrado que não consegue abrir. Isso não é o mesmo que não ver nada. Um inventário do que ele vê, e por quê.
Uma chave depois do #: como os links compartilhados deixam o servidor de fora
Uma conversa compartilhada fica armazenada no nosso servidor, e nós não conseguimos abri-la. Como isso funciona, onde entra a senha e o que um link não consegue proteger.