Cosa dimostra un’attestazione, e cosa no
Il tuo browser verifica l’enclave di Tinfoil prima di inviare una sola parola. Cosa stabilisce quella verifica, dove si ferma e cosa non si può ancora verificare in un browser.
«Cifrato per l’enclave» è un’espressione breve per una catena di verifiche. Vale la pena conoscerne ogni anello, perché ciascuno poggia su qualcosa di diverso: le chiavi del produttore di un processore, una release pubblicata, un header o codice che serviamo noi. Questa nota percorre la catena nell’ordine e segna dove finisce.
La verifica, passo per passo
Prima che lo spazio di lavoro invii un messaggio, il tuo browser scarica il bundle di attestazione dell’enclave tramite il nostro relay e lo verifica con il verificatore di Tinfoil, nella scheda. Il bundle contiene un report hardware firmato con chiavi che risalgono al produttore del processore (AMD SEV-SNP per il router), una misurazione del codice con cui l’enclave si è avviata e la chiave pubblica con cui l’enclave decifrerà.
- La firma del report mostra che proviene da hardware enclave autentico.
- La misurazione viene confrontata con una release firmata e pubblicata del codice del router, così il browser sa quale codice è in esecuzione.
- La chiave nel report è quella per cui il tuo messaggio viene poi cifrato, con HPKE, prima di lasciare la scheda.
Il relay conserva in cache quel bundle pubblico per un minuto. Poiché è il browser a verificarlo, farlo passare dal nostro server non può indebolirlo: un bundle modificato non supera la verifica, e non viene inviato nulla.
Cosa mostra una verifica superata
Che un’enclave a quell’indirizzo è hardware reale che esegue quella release pubblicata, e che detiene la chiave per cui il tuo messaggio è stato sigillato. Il tuo messaggio può essere aperto solo all’interno di quel codice, finché reggono le protezioni dell’hardware. Il nostro relay, il nostro provider di hosting e la rete nel mezzo vedono testo cifrato.
Dove si ferma
L’enclave che il tuo browser verifica è il router dei modelli di Tinfoil. Il suo codice pubblicato decifra la tua richiesta e la passa all’enclave del modello, tramite una connessione TLS legata alla chiave attestata di quell’enclave. Il tuo browser non può confermare da sé quel passaggio; si basa sul codice pubblicato del router.
Lo spazio di lavoro prova comunque a verificare anche l’enclave del modello, e indica sulla ricevuta di ogni risposta cosa ha trovato. Oggi quella verifica spesso non riesce a completarsi in un browser. Il verificatore di Tinfoil per browser legge solo i report AMD SEV-SNP, e Kimi K3, GPT-OSS 120B, DeepSeek V4.1 Flash e la maggior parte delle enclave di Gemma 4 31B girano su Intel TDX, quindi le loro ricevute dicono che non possono ancora essere verificate in un browser. Alcune enclave SEV-SNP, tra cui quella di GLM-5.3, riportano una versione del processore che il verificatore non accetta ancora, e risultano non confermate. Nessuno dei due casi significa che l’enclave sia sbagliata; significa che il browser non è riuscito a dimostrare che è corretta. Questi risultati risalgono al 28 ottobre 2026.
Due cose che una verifica non può coprire
- Il codice di verifica viene da noi. Se servissimo un verificatore che mente, la verifica passerebbe. Per questo /verify confronta il codice caricato dal tuo browser con il manifest pubblicato della build, e per questo la build si può riprodurre byte per byte.
- L’attestazione si basa sulle chiavi di firma del produttore e sul fatto che l’hardware dell’enclave funzioni come progettato. Non può dirti nulla di un difetto in nessuno dei due.
Verificalo tu
Come funziona la verifica disegna l’intera catena. Sigillalo tu esegue il passaggio di sigillatura nel tuo browser senza inviare nulla. Verifica questa pagina calcola l’hash del codice che hai caricato, e Prova a decifrarlo pubblica una richiesta cifrata così come l’ha vista il nostro relay.
Altre note di campo
Cosa vede comunque un relay che non può leggere
Il nostro relay inoltra testo cifrato che non può aprire. Non è la stessa cosa che non vedere nulla. Un inventario di ciò che vede, e del perché.
Una chiave dopo il #: come i link condivisi tengono fuori il server
Una conversazione condivisa è archiviata sul nostro server, e noi non possiamo aprirla. Come funziona, dove entra in gioco la password e cosa un link non può proteggere.