TeeRouter
Confidential AI inference that stays up. A gateway on your side verifies each TEE provider, seals your prompt to its enclave, and load-balances across independent operators serving the same model. TeeRouter never sees your prompts and never carries your traffic.
- Stays up when a provider doesn't
- Failover across independent operators, only to routes that pass the same checks, including when a route stops verifying.
- Readable only in the enclave
- No plaintext at TeeRouter with the local gateway. The optional hosted endpoint is a labeled lower tier.
- Your policy, your verifier
- Whether data may leave is decided on your side, in open-source code you can audit.
- readable prompt
- sealed to an attested key
- attested enclave
- control data, never prompts
Technically plausible, not yet proven
Every primitive is documented or visible in source, and both lead providers serve GLM-5.3 (August 2026, 1M-token context) with tools and streaming. No live request has been sent yet, so a two-provider slice comes first.
A subscription, not a spread
Today's whole TEE market is roughly $50–150M a year, too small for a 5.5% fee to fund a company. Customers pay for route health, endorsed releases and parity results.
Main dependency
Written terms from each provider. Tinfoil requires a written agreement for regulated data and for any resale. One invoice also needs per-key rate limits, so it comes later.
Why
Enterprises have no good option yet, and one TEE provider isn't enough
An enterprise that wants AI on sensitive data picks between a lab API such as OpenAI, a router such as OpenRouter, and buying its own GPUs. None of them is satisfactory. The first two can read the data, and the protection is a contract. Owned GPUs are a capital risk, with fixed capacity that doesn't grow with demand.
TEE providers are the way out. They run open-weight models inside hardware enclaves (CPU TEEs plus confidential GPUs) and let clients check what runs before sending data. Most buyers don't know them yet. Those who try one, as we did for our own product, find that a single provider is sometimes unstable, unavailable or too slow. Each provider also ships its own SDK and its own idea of "verified", so failing over usually means another integration and, often, a quietly weaker route.
At that point the buyer needs a load balancer that still verifies every route. That is build or buy, and TeeRouter is the buy.
Stays up
A load balancer that understands verification
A TEE route fails like any API: errors, timeouts, slow tokens, rate limits. A gateway that refuses unverified routes adds a second kind of failure: expired evidence, a release not yet endorsed, or an attestation endpoint that moved. Generic gateways such as LiteLLM or OpenRouter can't see the second kind, and today it is common.
- 1 of 91
- TEE routes fully verified by the public attestation monitor; 25 failed and 15 were unreachable.
- 8 of 8
- Tinfoil routes unreachable to the monitor's checker, most likely after an interface change. A pinned strict gateway would have failed closed on all of them at once.
- 5 of 58
- models with two or more independent operators, including the ones that matter: GLM-5.3, GLM-5.3-Flash and Kimi K3.
confidentialinference.net monitor run of 10 October 2026, reproduced by research/tee_supply_snapshot.py. The status counts are attestation checks, not uptime.
| Failure or decision | Generic gateway | TeeRouter gateway |
|---|---|---|
| 5xx, timeout, slow tokens, rate limit | sees it | sees it circuit breaker, failover |
| Evidence expired, release not endorsed | can't see it | routes around it until the route verifies again |
| Backup runs another build of the model | doesn't care | only approved classes with tested parity |
| Backup decrypts outside the enclave | doesn't care | refuses |
| Provider ships a new release | doesn't care | tracks it re-pins after endorsement or local approval |
How it routes
- Ranks healthy, eligible routes by your preference: price or latency.
- Keeps a backup route verified in advance, so failover adds no verification time.
- Fails over automatically before sending and before the first byte; never mid-stream or after a tool call.
- Optional hedging sends to two routes and takes the first answer: lower tail latency at double cost, and two enclaves see the prompt.
- Your own confidential GPUs can be a route too: base load on your hardware, overflow to providers.
What you can't build alone
- Fleet route health. Opt-in metadata from every gateway (route, outcome, latency, never content) spots a failing provider from anyone's first error, not only yours.
- Parity results. GLM-5.3 runs as two different 4-bit builds at Tinfoil and Privatemode. Quality and tool-call parity are tested and published per pair and per release.
- Endorsed releases. Reviewed and signed, so a new provider release doesn't brick your strict policy.
The health feed can only demote or exclude a route, never approve one.
The difference
Count the places your prompt is readable
Several products already route to TEE providers: TrustedRouter, RedPill, AnonRouter, NanoGPT and PPQ. What separates them is where your prompt becomes readable on the way to the model.
The open gap: nobody combines verification on your side, encryption all the way into the provider enclave and health-aware failover across at least two independent operators, with tools and streaming.
TeeRouter's optional hosted endpoint is the exception, and it is labeled as one. It decrypts inside TeeRouter's attested gateway, which makes it a two-place route like the middle row. The strict preset forbids it.
How a request flows
Verify first, then seal, then send
Provider readiness
Who supports what, from public docs and source
| Provider | E2EE with tools + streaming | Key API for machines | Spend caps | Usage per key | Per-key rate limits |
|---|---|---|---|---|---|
| Tinfoilplan: alpha | yes | documented | lifetime, USD | within seconds | not documented |
| Privatemodeplan: alpha | yes | exists, needs credentialportal endpoints use login sessions | monthly, EUR | per key, by month | yes |
| NEAR AIplan: alpha, third operator | SDK encryption | in source, auth to confirm | lifetime, USD | usage history | org-level |
| Veniceplan: later | no tools, stream only | documented | lifetime option | trailing 7 days | unknown |
| Chutesplan: via relay | ciphertext relay | CLI only | none | no | unknown |
The key and cap columns matter only for the later one-invoice option. In the alpha you use your own keys. Watch the details: "zero" means no cap at Tinfoil but disabled at Venice, and Privatemode budgets reset every calendar month. Each provider needs its own adapter.
Which model to lead with
| Model | Intelligence index | Confidential operators | Same weights at both? | Role |
|---|---|---|---|---|
| GLM-5.3Aug 2026 · 1M context | 45 | Tinfoil, Privatemode | no: two NVFP4 buildsInferact at Tinfoil, LibertAI at Privatemode | Canonical model |
| GLM-5.3-FlashAug 2026 · 1M context | 42 | Privatemode, NEAR AImonitor also lists Tinfoil via PPQ, to confirm | likely: official FP8 | Budget class |
| Kimi K3 | 45 | Tinfoil, NEAR AIChutes too | to check: MXFP4 vs FP4 | Premium class, three operators |
| DeepSeek V4.1 FlashSep 2026 | 39 | Tinfoil only, experimental | no second operator | Single-operator option |
| gpt-oss-120bAug 2025 | 12 | Tinfoil, Privatemode | yes: same commit | Test baseline, cheap fallback |
GLM-5.3 is the strongest model both alpha providers serve, but they run different 4-bit quantizations of it. A strict policy approves both builds explicitly as one class, and the alpha measures quality and tool-call parity before failing over between them. Names alone prove nothing: NEAR AI's catalog maps a request for DeepSeek-V4-Flash to GLM-5.3-Flash.
Using it
Five minutes for a developer, hours for production
# planned CLI, as described in the concept brew install teerouter teerouter login # browser sign-in, token kept in the OS keychain teerouter keys add tinfoil # your own provider key, kept in the OS keychain teerouter keys add privatemode teerouter up --preset strict # gateway on 127.0.0.1:8787, verifies routes at startup export OPENAI_BASE_URL=http://127.0.0.1:8787/v1
| Preset | Verification | Redundancy | Typical use |
|---|---|---|---|
| standard | Provider-level verification, provider's current release, hosted mode allowed | Best effort | Trials, low-sensitivity data |
| strict | Verification to the chip vendor's roots, independently endorsed releases, weights pinned by digest, no intermediate plaintext | Two or more independent operators per approved model | Proprietary code, confidential business data |
| strict-eu | As strict, plus EU infrastructure (operator-asserted) | One today (Privatemode), labeled "single operator" | GDPR-sensitive work |
Verification, jurisdiction and redundancy are separate settings, so the product never promises failover where none exists. In production the gateway runs as a Kubernetes service or sidecar, or as a confidential lane inside an existing AI gateway such as LiteLLM.
A hosted, attested endpoint lets people start by changing one URL. It decrypts inside TeeRouter's attested gateway, so it is a second place your prompt is readable. Every hosted response is labeled as a lower tier, and strict forbids it. Move to the local gateway when your security review asks for it.
Market
The real alternatives, and the closest precedent
| Option | Who can read prompts | Models | When one host fails | Price |
|---|---|---|---|---|
| OpenAI, lab APIs | The vendor; zero data retention is a contract | Frontier | That vendor's uptime | List |
| OpenAI Private Inference | Not yet known: no verification details published | Frontier | One vendor | Unknown |
| OpenRouter | Router and provider | Everything | Routes across hosts | List + 5.5% |
| Own GPUs | Your team | Open weights you can run | Your own capacity | Capex + ops |
| One TEE provider | Only the enclave | That provider's list | Down with it | List |
| Confident Security | Only its enclave; requests unlinkable | Short 2025-era list | Its own fleet | 2× market, with indemnity |
| TrustedRouter, RedPill | Their attested gateway and the enclave | Many | Across providers | List + fee |
| TeeRouter | Only the enclave (local gateway) | Open weights across operators; later your own GPUs and verifiable lab endpoints | Fails over to equally verified routes | Subscription |
Closest precedent: Confident Security. It runs OpenPCC, an open-source version of Apple's Private Cloud Compute, on its own fleet. The client verifies each node against a public build log, and requests go through a third-party relay so the operator can't link them to you. It charges twice the market rate and backs that with a money-back warranty, unlimited indemnification and unlimited liability. That premium is risk transfer, which only works when you own the enclaves. TeeRouter can't underwrite other companies' enclaves, so it competes where owning a fleet falls behind: Confident Security's public model list dates from July 2025, and its open-source repo hasn't changed since January 2026.
Market size. Winning all of today's TEE inference at OpenRouter-like fees would be roughly $2.5–7.5M a year, so the fee can't fund the company; subscriptions have to. The bet is that the market grows as buyers move off lab APIs and owned GPUs.
Watch: OpenAI announced a Private Inference preview for this fall without verification details. Google open-sourced an attested-TLS Prompt Encryption SDK in June. Many buyers may reach "TEE" through OpenAI first. TeeRouter adds such endpoints as routes, with an open-weight model as a policy-approved fallback, and labels "trust us" versions honestly.
Business
A subscription for what you can't build alone
Open source
Gateway, local verification, policy, failover with your own provider keys, local evidence ledger.
Team
Fleet route health, endorsed releases, published parity results, policy as code, evidence export, alerts.
Enterprise
SSO, DPA, SLA, custom policy review, routes to your own GPUs, dedicated EU relay, evidence packs for auditors.
One invoice, later
Resale per provider, once it signs a written agreement and enforces per-key rate limits. Nets 2–5% after payment costs.
| Break-even scenario | Needs | Share of today's TEE spend |
|---|---|---|
| Router only | ≈ €1.6M per month routed spend | ~15–45% |
| Mixed | €500k per month spend, 80 Team, 8 Enterprise: €649k, short of break-even | ~5–14% |
| Enterprise-led | €250k per month spend, 40 Team, 15 Enterprise: €600k, short of break-even | ~2–7% |
| Subscription-led | 100 Team, 15 Enterprise, your own keys: €674k | None: ~115 paying organizations |
Assumes about €670k per year fixed cost: five people in Austria plus infrastructure, certification and legal. Enterprise is counted at its €25k floor; the v5 table assumed €30k. Market shares are against today's estimated $50–150M a year of TEE inference spend. All figures are hypotheses to validate.
The moat is what a self-builder can't replicate: route health across all customers, endorsed releases, parity results and adapter upkeep. The gateway stays open source, because you must be able to audit the code that decides whether data may leave.
Later, optional: one invoice without touching traffic
Credit leases: capped keys that never add up to more than your balance
This comes after the alpha. At first you bring your own provider keys. One invoice opens per provider once it has signed a written resale agreement and enforces per-key rate limits.
TeeRouter creates one provider key per project and provider through the provider's admin API. Each key has a spend cap, and each cap works like a card pre-authorization hold on your TeeRouter balance. Caps are only raised out of money that is still available, so the open caps can never exceed what you have. Prepaid mobile data has worked this way for decades.
Mint. TeeRouter creates one capped key per project and provider. Each cap is a hold on your balance: €6.00 held, €13.00 still available.
What it needs from a provider
- A written agreement that permits resale and covers your data classes.
- An admin API to create, update and revoke keys, usable by a machine.
- Spend caps in currency, ideally lifetime caps that never reset.
- Usage per key, fresh within about a minute.
- Per-key rate limits and model allow-lists, which turn soft caps into tight bounds (see below).
Direct or relayed
Two data paths, one ledger
| Direct | Relayed | |
|---|---|---|
| Added latency | None | One hop, target under 10 ms |
| TeeRouter outage | Your own keys keep working; vended keys until their caps or expiry | Requests stop |
| Credit control | Provider-enforced caps, refilled every minute | Per-request holds and stream cutoff |
| Your firewall allowlist | One domain per provider | One domain |
| Provider key on your machine | Yes: your own, or (with resale) capped and short-lived | No |
The catch
Provider caps are soft: a reserve for honest overshoot, rate limits against abuse
Providers check a key's cap against usage that has already been recorded when a request starts. Tinfoil documents this, and NEAR AI's source code does the same. Requests that are still running when the cap is crossed finish and are billed.
What the simulation says
- Leases can be small. About 1% of the balance sits locked in key caps at any time.
- Polling every 60 seconds or less, plus refill on rejection, keeps lease friction under 0.5% of requests.
- Overshoot only appears when a balance runs out. With a €5 balance and no reserve it averaged €0.50 (max €1.02). A €1 reserve brought it to zero in every run.
Risk tiers
- New accounts: caps funded only from cleared money, a daily ceiling and a €1–2 reserve. Cards can be charged back for months and SEPA Direct Debit reversed for 8 weeks.
- Established accounts: a bounded overdraft, settled on the next top-up.
- Enterprise: caps funded from a credit limit, invoiced monthly.
Model, not measurement. The simulation changes caps instantly, doesn't retry rejected requests, doesn't model bursts, and uses request sizes from before GLM-5.3. Live conformance tests per provider come before resale opens.
Rollout
Our own product first, then design partners
- Gate 0Two providers are usable for our data classes under written terms, our own failure data confirms that one provider isn't enough, and three design partners will run the gateway in staging.
- Gate 1Our product runs on TeeRouter in production, two partners run staging workloads, 99.5% of requests are served under their preset, availability beats the best single provider, and one partner pays for Team.
- Gate 230 paying workspaces and under 2% monthly churn. Resale opens only for providers that signed and enforce per-key rate limits.
- Gate 3Five enterprise contracts and a visible subscription-led path to break-even.
Risks and limits
What has to be true, what we don't prove, and when we stop
Asks to providers, in priority order
- Written terms covering your data classes. Tinfoil requires one for regulated data and for any resale.
- Enterprise rate limits and notice of breaking protocol changes.
- For one invoice, later: key management through an API that machines can call, spend caps in currency that never reset, per-key rate limits and model allow-lists, and usage per key within a minute.
- Eventually: hard caps that reserve budget per request, which remove overshoot entirely.
Top risks
- Verification failures act as outages. Answer: operators that share a model, backups verified in advance, release tracking.
- Few models have two operators (5 of 58 today). Answer: lead with those, add your own GPUs as routes, and allow cross-model fallback by explicit policy.
- Buyers reach TEEs through OpenAI first. Answer: add it as a route, not a rival.
- Someone else federates first: Confident Security, Tinfoil, Enclava, TrustedRouter or RedPill. Answer: speed, parity and health data, open-source trust.
- Protocol drift. Tinfoil's newest verifier is still beta. Answer: pinned SDKs and nightly tests against live endpoints.
What attestation doesn't prove
- That the code is bug-free or the output is safe.
- That there are no side channels: prompt-cache timing and cross-user batching leaks are known classes.
- That attested TLS is sound in general: some designs allow replay or diversion, so the gateway binds keys to fresh nonces in the evidence.
- GPU state beyond what the attested workload reports: GPU evidence isn't inside the CPU quote.
- Where the hardware physically is, or that no one tampered with it. Attacks such as TEE.fail make a platform-provenance policy necessary.
When we stop
- No buyer pays for reliability or evidence separately from token price.
- Fewer than two providers are usable for the target data under written terms.
- Confident Security, Tinfoil, Enclava or confidentialinference.net ships multi-provider routing verified on your side before our first design partner signs.
- Frontier labs ship verifiable confidential endpoints with an open verifier, making open-weight TEE inference a niche.
If we stop, the gateway keeps serving our own product, and we contribute it and the conformance suite to the ecosystem.