TeeRouter Concept

Concept v6 · 10 October 2026

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.
YOUR SIDE CONFIDENTIAL PROVIDERS TeeRouter control plane policy · releases · health Your app OpenAI API TeeRouter Gateway verify · policy · seal Tinfoil enclave GLM-5.3 · Inferact build · decrypts here Privatemode enclave GLM-5.3 · LibertAI build · independent prompt sealed request + your key failover: same model, same checks attestation, verified first policy · route health later, with resale: keys · caps · usage No prompt traffic passes through TeeRouter
  • readable prompt
  • sealed to an attested key
  • attested enclave
  • control data, never prompts
Direct mode with your own provider keys, the default. The gateway runs where you already trust plaintext. It checks the provider's attestation, then seals the request to the verified enclave's key and calls the provider itself. If the Tinfoil route fails or stops verifying, traffic moves to Privatemode's build of the same model, which passes the same checks. TeeRouter supplies policy, endorsed releases and route health, 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.

Today Your app Tinfoilown SDK · verifier · uptime Privatemodeown SDK · verifier · uptime NEAR AIown SDK · verifier · uptime Chutesown SDK · verifier · uptime 4 integrations · each one a single point of failure With TeeRouter Your app Gateway 1 policy · health Tinfoil Privatemode NEAR AI Chutes failover across operators, same checks
What OpenRouter does for open-weight models, applied to confidential providers. One gateway replaces the separate SDKs and verifiers, and moves traffic between operators when one fails, without changing the integration.

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 decisionGeneric gatewayTeeRouter gateway
5xx, timeout, slow tokens, rate limitsees itsees it circuit breaker, failover
Evidence expired, release not endorsedcan't see itroutes around it until the route verifies again
Backup runs another build of the modeldoesn't careonly approved classes with tested parity
Backup decrypts outside the enclavedoesn't carerefuses
Provider ships a new releasedoesn't caretracks 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.

Standard router e.g. OpenRouter Your app Router Provider API Model server 3 places Attested-gateway router e.g. TrustedRouter, RedPill Your app Router gatewayin its TEE Provider enclave 2 places TeeRouter direct mode Your app Your gatewayseals here Provider enclave 1 place your side
Orange fill marks every place your prompt exists in readable form outside your own machines. Grey arrows are ordinary TLS, which ends at each hop. Blue arrows are sealed to an attested enclave key. A green border means the component is an attested TEE.

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

Your app TeeRouter gateway Control plane Provider enclave 1 policy, releases, route health 2 chat request 3 pick a healthy route by policy 4 attestation request + nonce 5 evidence + attested key (cached) 6 verify against endorsed release 7 sealed request + your key 8 sealed response stream 9 answer + route + evidence id 10 health metadata (opt-in)
The gateway decides, locally, whether data may leave. Attestation evidence is cached until its authenticated expiry (seven days by default at Tinfoil), so steps 4 to 6 usually cost nothing per request. If verification or the request fails before the first byte, the gateway moves to the next eligible route. Every answer carries the route, any failover, and an evidence record your auditors can export.

Provider readiness

Who supports what, from public docs and source

ProviderE2EE with tools + streamingKey API for machinesSpend capsUsage per keyPer-key rate limits
Tinfoilplan: alphayesdocumentedlifetime, USDwithin secondsnot documented
Privatemodeplan: alphayesexists, needs credentialportal endpoints use login sessionsmonthly, EURper key, by monthyes
NEAR AIplan: alpha, third operatorSDK encryptionin source, auth to confirmlifetime, USDusage historyorg-level
Veniceplan: laterno tools, stream onlydocumentedlifetime optiontrailing 7 daysunknown
Chutesplan: via relayciphertext relayCLI onlynonenounknown

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

ModelIntelligence indexConfidential operatorsSame weights at both?Role
GLM-5.3Aug 2026 · 1M context45Tinfoil, Privatemodeno: two NVFP4 buildsInferact at Tinfoil, LibertAI at PrivatemodeCanonical model
GLM-5.3-FlashAug 2026 · 1M context42Privatemode, NEAR AImonitor also lists Tinfoil via PPQ, to confirmlikely: official FP8Budget class
Kimi K345Tinfoil, NEAR AIChutes tooto check: MXFP4 vs FP4Premium class, three operators
DeepSeek V4.1 FlashSep 202639Tinfoil only, experimentalno second operatorSingle-operator option
gpt-oss-120bAug 202512Tinfoil, Privatemodeyes: same commitTest 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
PresetVerificationRedundancyTypical use
standardProvider-level verification, provider's current release, hosted mode allowedBest effortTrials, low-sensitivity data
strictVerification to the chip vendor's roots, independently endorsed releases, weights pinned by digest, no intermediate plaintextTwo or more independent operators per approved modelProprietary code, confidential business data
strict-euAs 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

OptionWho can read promptsModelsWhen one host failsPrice
OpenAI, lab APIsThe vendor; zero data retention is a contractFrontierThat vendor's uptimeList
OpenAI Private InferenceNot yet known: no verification details publishedFrontierOne vendorUnknown
OpenRouterRouter and providerEverythingRoutes across hostsList + 5.5%
Own GPUsYour teamOpen weights you can runYour own capacityCapex + ops
One TEE providerOnly the enclaveThat provider's listDown with itList
Confident SecurityOnly its enclave; requests unlinkableShort 2025-era listIts own fleet2× market, with indemnity
TrustedRouter, RedPillTheir attested gateway and the enclaveManyAcross providersList + fee
TeeRouterOnly the enclave (local gateway)Open weights across operators; later your own GPUs and verifiable lab endpointsFails over to equally verified routesSubscription

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

free

Gateway, local verification, policy, failover with your own provider keys, local evidence ledger.

Team

€249 / month

Fleet route health, endorsed releases, published parity results, policy as code, evidence export, alerts.

Enterprise

from €25k / year

SSO, DPA, SLA, custom policy review, routes to your own GPUs, dedicated EU relay, evidence packs for auditors.

One invoice, later

list + 5.5%

Resale per provider, once it signs a written agreement and enforces per-key rate limits. Nets 2–5% after payment costs.

Break-even scenarioNeedsShare 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-led100 Team, 15 Enterprise, your own keys: €674kNone: ~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.

€0 €5 €10 €15 €20 Your balance €20.00 deposited spent €0.00 held in keys €6.00 reserve €1.00 available €13.00 Key A · Tinfoil project api used €0.00 · cap €2.00 Key B · Privatemode project api used €0.00 · cap €2.00 Key C · Tinfoil project batch used €0.00 · cap €2.00

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.

Invariant: spent + held + reserve + available always equals your deposit, and caps only grow out of available. Grey is spent, blue outline is held (unused cap, plus money released by a lowered cap that is still in its settlement window), orange is the reserve. Keys are short-lived (about 24 hours), and their unused headroom returns to your balance after expiry and settlement.

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 (default) Gateway sealed + your key Provider sees: your IP, your key control plane no extra hop, TeeRouter off the path Relayed (opt-in) Gateway TeeRouter relay sees: who, when, size Provider sees: TeeRouter only provider can't tell customers apart
Direct minimizes what TeeRouter learns. Relayed minimizes what the provider learns. The relay also gives you a single egress domain and works for providers without key APIs. It hides who you are from the provider, but not the timing of your requests. With resale, both paths bill into the same ledger.
DirectRelayed
Added latencyNoneOne hop, target under 10 ms
TeeRouter outageYour own keys keep working; vended keys until their caps or expiryRequests stop
Credit controlProvider-enforced caps, refilled every minutePer-request holds and stream cutoff
Your firewall allowlistOne domain per providerOne domain
Provider key on your machineYes: your own, or (with resale) capped and short-livedNo

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.

Request 1 · €0.60 admitted · recorded €0.00 records €0.60 Request 2 · €0.50 admitted · recorded €0.00 records €0.50 Request 3 · €0.30 admitted · recorded €0.60 records €0.30 Request 4 rejected · recorded €1.10 ≥ €1.00 cap · not charged 0 s 2 s 4 s 6 s 8 s 10 s Billed €1.40 on a €1.00 cap: €0.40 overshoot, absorbed by the reserve
Overshoot equals what was in flight when the cap was crossed. Per-key rate limits bound it tightly: at Privatemode's default token rates, one key can't spend more than about €0.50 per minute even on its most expensive model. Without such limits, a hostile account can fire many long requests at once, and no reserve absorbs that. Tinfoil documents no per-key limits today, so prepaid resale on Tinfoil waits until it does.
0% 1% 2% 3% 4% 5% 0.11% 0.08% 0.79% 0.32% 4.04% 0.61% poll every 10 s poll every 60 s poll every 5 min no hint gateway asks for a refill when a request is rejected
Requests that hit a cap while money remained. Simulation with a €200 balance, three keys and six hours of bursty coding-agent traffic. A cap rejection happens before the model runs and isn't charged, so the gateway refills and retries: the cost is a short delay, not an error.

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

Validatephase 0 written provider terms, our own failure data, 15 interviews Private alphaphase 1 our product + 3–5 partners, own keys, 3 providers, failover Public betaphase 2 hosted endpoint, Team plan, relay; resale if gated Enterprisephase 3 Trust Feed, SSO, routes to own GPUs, SOC 2 Ecosystemphase 4 embedded SDKs month 0 3 6 9 12 15
Each phase ends at a go/no-go gate (diamonds), listed below. In the alpha, customers use their own provider keys, so there's no billing engine, payments or relay to build until the beta.
  1. 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.
  2. 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.
  3. Gate 230 paying workspaces and under 2% monthly churn. Resale opens only for providers that signed and enforce per-key rate limits.
  4. 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

  1. Written terms covering your data classes. Tinfoil requires one for regulated data and for any resale.
  2. Enterprise rate limits and notice of breaking protocol changes.
  3. 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.
  4. 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.