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.
Claims you can verify yourself
Enclave source and exact release tags (GitHub)
v0.0.167 / v0.0.15Router 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...7f201eRouter 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 chainAMD 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.devLive 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.
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.
Latest mystery-shopper SPRT audit result
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).
Accountability actions and on-chain evidence
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 evidenceReveals 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 evidenceSubmits 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 evidencePlaces 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-2048Anchors the current transparency log Merkle root via /api/anchor on Circle Arc Testnet, or flushes unredeemed blind-credit nullifiers via /api/credits/redeem.
Signed tree head and Merkle inclusion proofs
Loading transparency log root and inclusion proofs...
Show node ramp state, recent on-chain claims, quorum tickets, credit counters, and frozen blobs
Checked 1,344 combinations in browser memory: 60 allowed, 1,284 denied.
Loading credit stats...
What if someone cheats?
Inspect seven real-world compromise scenarios and the repository tests that verify each defense.
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.
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.
Read your plaintext prompt, inspect streamed tokens, or guess prompt length from packet sizes at the gateway.
Fixed-bucket padded ciphertext blobs (4,096 B multiples) encrypted to the enclave public key.
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.
- it("pads and unpads payloads across exact bucket boundaries (0B, 1B, 4091B, 4092B, 4093B, 1MB) without leaking length inside the bucket")tests/privacy/privacy.test.ts -> src/lib/privacy/padding.ts
- it("padJsonPayloadToBucket pads a 180-byte JSON payload to 4,096 B and a 5,000-byte payload to 8,192 B while preserving JSON.parse equivalence")tests/tinfoil/tinfoil.test.ts -> src/lib/relay.ts
Show technical controls and boundary notes
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.
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.
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.
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.
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.
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.