Skip to main content
Proof and audit

Check our work

Every live hardware, transparency, and registry claim below links to an exact external record you can verify yourself. Accountability fault actions record real evidence hashes on Circle Arc Testnet.

Independent verification

Claims you can verify yourself

Loading live attestation records...

Enclave source and exact release tags (GitHub)

v0.0.167 / v0.0.15

Router release tinfoilsh/confidential-model-router@v0.0.167 and Kimi K3 enclave release tinfoilsh/confidential-kimi-k3@v0.0.15 that produce the attested boot measurements.

Exact build provenance digests (Sigstore Rekor)

sha256:5233a27f...7f201e

Router measurement digest 5233a27f1468...a87f201e and Kimi K3 dm-verity root 41068e0738e1...88b8ee7b in the public Sigstore Rekor transparency log.

Silicon VCEK certificate for live router chip (AMD KDS)

Genoa VCEK chain

AMD Key Distribution Service VCEK certificate chain for Genoa verifying router-0.tinfoil.sh.

Live enclave routing table and pinned model weights

kimi-k3-inf14.tinfoil.containers.tinfoil.dev

Live proxy manifest mapping router-0.tinfoil.sh to kimi-k3-inf14.tinfoil.containers.tinfoil.dev (Intel TDX + NVIDIA CC GPUs, 262,144 max tokens) and pinned weights moonshotai/Kimi-K3@a590ce09.

On-chain attestation registry (Circle Arc Testnet)

chain 5042002 (4 nodes)

Contract 0xbc8085c2b6fe6e0db05f169925c0b841828f4481 on Circle Arc Testnet (chain 5042002) storing node stakes, verification records, and receipt anchors.

Disclosure on upstream Tinfoil router sidecars:

The live Tinfoil router (router-0.tinfoil.sh) attests with AMD SEV-SNP and runs an acceptable-use safeguards classifier sidecar reporting policy violations to https://api.tinfoil.sh, plus an attested usage reporter. The Kimi K3 model enclave runs on Intel TDX plus NVIDIA confidential-computing GPUs with a 262,144-token maximum context length.

Model integrity audit

Latest mystery-shopper SPRT audit result

Awaiting first run

Loading mystery-shopper audit history from /api/auditor...

Protocol: mystery-shopper-sprt-v1 (p0=0.9, p1=0.45, alpha=0.001, beta=0.01).

Live endpoints & Arc Testnet

Accountability actions and on-chain evidence

Nodes: tinfoil-router, sim-1, sim-2, sim-3

Each fault action below evaluates cryptographic proofs against the node's staked balance on DRouterRegistry and submits a real recordVerification or anchorReceipt transaction to Circle Arc Testnet.

1. Canary honeytoken leak (sim-1)

On-chain evidence

Reveals the pre-committed canary honeytoken and salt for sim-1, verifies the SHA-256 commitment against its 0.01 USDC stake, and records the evidence hash on Circle Arc Testnet.

2. Key-compromise proof (sim-2)

On-chain evidence

Submits a P-384 signature over the forbidden prefix F on sim-2 and records the compromise evidence hash on Circle Arc Testnet.

3. Unannounced restart or cloned key (sim-3)

On-chain evidence

Places sim-3 into canary-only probation (0 bps routing weight) after an unannounced reboot, or suspends it on duplicate key heartbeats, and anchors the evidence hash on-chain.

4. Anchor Merkle root & settle credits

RFC 6962 + RSA-2048

Anchors the current transparency log Merkle root via /api/anchor on Circle Arc Testnet, or flushes unredeemed blind-credit nullifiers via /api/credits/redeem.

RFC 6962 Merkle transparency log

Signed tree head and Merkle inclusion proofs

Checking STH...

Loading transparency log root and inclusion proofs...

Show node ramp state, recent on-chain claims, quorum tickets, credit counters, and frozen blobs
Node heartbeat ramp state
Monitor exit policy table (JavaScript state enumeration)

Checked 1,344 combinations in browser memory: 60 allowed, 1,284 denied.

Release log entries and inclusion proofs
5-of-7 quorum tickets
Blind-signed credit counters

Loading credit stats...

Client-encrypted frozen session blobs (AES-256-GCM)
No frozen ciphertext blobs currently stored.
Threat matrix

What if someone cheats?

Inspect seven real-world compromise scenarios and the repository tests that verify each defense.

Threat scenarios

Seven ways an operator or attacker could try to cheat

Select any scenario below to see what the attacker gets and which technical check blocks the leak.

1 of 7 selected
01. Network and proxyBrowser local scrubbing + HPKE tunnel

The web host or relay tries to read your prompt

Your browser scrubs identifiers locally and encrypts the padded request directly to the enclave key.

Attacker goal

Read your plaintext prompt, inspect streamed tokens, or guess prompt length from packet sizes at the gateway.

What the attacker gets

Fixed-bucket padded ciphertext blobs (4,096 B multiples) encrypted to the enclave public key.

How it is stopped

Your browser strips sensitive tokens and encrypts every prompt before it leaves your device. Even if our Vercel host is compromised, it only forwards padded ciphertext.

Defending checks and tests in repository
Show technical controls and boundary notes
Controls: RFC 9180 HPKE encryption | Local PII and secret scrubbing | 4,096-byte bucket padding
Relay payload framing: Padded to 4,096-byte power-of-two buckets before encryption (aad=drouter/v1/chat | min_bucket=4096B | cipher=AES-256-GCM)
Boundary note: The relay sees connection timing and bucket size tier only, never prompt text.
02. Physical hardware busCPU memory encryption + GPU HBM custody

A technician clips a hardware probe onto server RAM

Active model weights and KV caches stay in GPU HBM, and host transfer buffers use fresh random AES-GCM nonces.

03. Host OS and container imageHardware quote check + Sigstore Rekor log

An operator enables debug mode or runs a modified container

We verify the hardware signature, confirm the debug bit is off, and match the build digest against Sigstore Rekor.

04. Model integrityMeasured container digest + SPRT canary audit

A provider swaps a large model for a cheaper smaller model

The model serving container and weight package are pinned in the attestation measurement, and canary prompts test response quality.

05. Post-session storageClient-held keys + session memory wipe

Database breach or compulsion after your session ends

Popping a bubble wipes ephemeral session keys in RAM, and frozen session blobs store only client-encrypted ciphertext.

06. Verifier quorum5-of-7 quorum (Simulated) + quote check

A minority of verifiers collude to approve a bad node

Routing tickets require at least 5 of 7 verifier signatures (Simulated), and the client independently verifies the hardware quote.

07. Physical key extractionForbidden-prefix key proof + Arc registry

An attacker extracts a node signing key in a lab

Honest enclaves never sign the forbidden prefix F, so any signature over F proves key extraction and flags the node on Circle Arc Testnet.