Skip to content
Platform overview

The control plane between your providers and your teams.

Trifrost sits in the request path: every inference call from every app and every team flows through one governed, load-balanced, tamper-evident API — and every provider you use hides behind it.

Where Trifrost sits

Providers above. Teams below. Control in the middle.

Three composable layers run on every request — governance decides who may spend what, policy decides what may be captured, and audit records that it happened.

OpenAI · Anthropic Bedrock · Vertex · Azure OpenRouter · Groq Ollama · 27+ kinds TRIFROST — /v1/* OpenAI-compatible API GOVERNANCE — budgets · rate limits · model allowlists · load balancing POLICY — body capture · target filters · most-specific-scope-wins AUDIT — one HMAC-signed event per request, always on Your applications virtual key · sk-bf-* Departments & users budgets · allowlists Admins & auditors OIDC session · RBAC
One API, every provider

27+ provider kinds. One wire format.

Chat completions, completions, embeddings, and responses — streaming or not — over every provider you already use. Aliases decouple app config from model and provider, so swapping vendors is a console edit, not a deploy.

OpenAI Anthropic AWS Bedrock Google Vertex Azure OpenAI Cohere Mistral Groq Ollama OpenRouter Fireworks Together DigitalOcean

Reasoning passed through

reasoning_content / reasoning / thinking blocks flow upstream and back untouched — thinking models work exactly as the provider documented.

Usage you can trust

usage.cost injection, stream_options.include_usage translation, and a synthesized usage chunk on streams — never anything after data: [DONE].

Cost in the headers

Every response carries X-TF-Cost-USD, X-TF-Prompt-Tokens, X-TF-Completion-Tokens, X-TF-Total-Tokens, X-TF-Model, and X-TF-Provider.

Drop-in compatible

Change the base URL. Keep your code.

Trifrost speaks the OpenAI wire format, so any OpenAI or OpenRouter SDK works against it. Swap the base URL, issue a virtual key, and every call is budgeted, allowlisted, load-balanced, and audited from the first request.

  • No SDK changes — only configuration
  • Aliases, not model IDs — your app says kimi3, you decide what that means
  • Failover included — alias groups survive provider outages mid-stream
How the gateway works →
before → after
# before — direct to a provider
export OPENAI_BASE_URL=https://api.openai.com/v1
export OPENAI_API_KEY=sk-...

# after — governed by Trifrost
export OPENAI_BASE_URL=https://api.trifrost.tech/v1
export OPENAI_API_KEY=sk-bf-...  # your virtual key

# every call now: budgeted, allowlisted, audited,
# load-balanced, failover-protected, cost-attributed.
Three surfaces

One platform, three APIs.

Each surface has its own authentication model and its own audience. Inference never shares credentials with administration.

SurfacePathAuthAudience
Inference /v1/* Virtual key (sk-bf-*) Applications, agents, the playground
Admin /api/v1/* OIDC server-side session + RBAC Platform admins, FinOps, compliance
Auth /api/auth/* Your identity provider (OIDC) Browser sign-in flow

Everything is a plugin

The request path is a priority-ordered pipeline of PreLLMHook / PostLLMHook plugins — governance, billing, and policy are composable modules on that pipeline, not hardcoded middleware. A pre-hook can short-circuit a request, and when it does, exactly one blocked event row proves it happened.

Go deeper

Explore the platform.

Gateway & failover

Alias-group load balancing, zero-content stream failover, per-request provider directives. Your inference never goes down because one provider did.

Explore the gateway →

Governance & cost

Per-model budgets per department, user, and key. Regulatory model allowlists. Session-level cost attribution. Zero DB hits on the hot path.

Explore governance →

Observability & audit

Every request is one HMAC-signed, JOIN-free event. Live in-flight visibility, TTFT and tokens/sec, Syslog export for your SIEM.

Explore observability →

Security & identity

OIDC BFF sessions behind your IdP, claim-driven teams, resource×operation RBAC, hashed virtual keys, and regional data residency.

Explore security →

See the control plane on your own traffic.