Try Bifrost Enterprise free for 14 days.
Request access
[ AI GATEWAY FOR CHIEF AI OFFICERS ]

The AI control plane for
enterprise AI governance

One centralized AI gateway to enforce budgets and model policy per business unit, with a cost record on every request.

Enterprise ready: VPC | On-prem | Air-gapped

Business units and apps → Bifrost AI gateway → providers and finance warehouse

Gemini
Claude
Cursor
ChatGPT
Perplexity
VS Code
OpenClaw
DeepSeek
Bifrost

Edge + Gateway

Route
Govern
Secure
Anthropic
OpenAI
Google
Azure
AWS
Mistral
GitHub
Notion

[ AT A GLANCE ]

Portfolio controls in numbers

How the gateway meters and enforces AI spend.

402
HTTP on exhausted budget
Every applicable budget is checked
1Q
Quarterly budgets
Aligned to your fiscal year
25+
Providers
10,000+ models, one API
11µs
Added overhead
At 5,000 RPS on a t3.xlarge

[ WHY CHIEF AI OFFICERS NEED AN AI GATEWAY ]

Where an AI portfolio loses visibility

Adoption, billing, and policy each happen in a different system, so no single system shows the whole portfolio.

Each business unit buys its own AI

Business units adopt AI through separate provider contracts, keys, and tools, so the same use case can be built more than once on different models, and spend is visible only per contract.

Usage-based spend surfaces at invoice time

Coding agents and API calls are metered by usage, so costs grow with adoption and show up on provider invoices after the requests that caused them, without a business-unit breakdown.

Policy has no enforcement point

An AI governance policy names approved models, data, and budgets. Requests leave from many applications that hold their own provider credentials, so compliance is checked after the fact.

Pilots stall without a known run cost

A pilot proves that a model can do the task. The cost of running it at production traffic, including tokens and retrieval, stays unknown until the funding decision is due.

[ HOW IT WORKS ]

How an AI control plane governs every business unit

An AI control plane is the layer every AI request passes through, where access, budgets, and routing are enforced and each request's cost is recorded.

Virtual keys name the owner of every request

A virtual key identifies the user or team, business units map from identity-provider attributes, and an optional project header names the initiative.

Budgets and model routing apply before the request runs

The request proceeds only if every applicable budget passes. Routing rules, configured once, pick its provider and model.

Cost allocation and token usage land in every log

Request logs, Prometheus metrics, and warehouse exports record the cost and token counts of each request, tagged with its key, team, customer, and project.

[ GATEWAY CAPABILITIES FOR CHIEF AI OFFICERS ]

AI budget and model policy controls for every business unit

These controls turn portfolio policy into limits the gateway enforces on every request.

OpenAI logoAnthropic logoAWS Bedrock logoGoogle Vertex AI logoAzure OpenAI logoGoogle Gemini logoGroq logoMistral logoCohere logoCerebras logoDeepSeek logoOllama logoHugging Face logoOpenRouter logoPerplexity logoElevenLabs logoxAI logoOpenAI logoAnthropic logoAWS Bedrock logoGoogle Vertex AI logoAzure OpenAI logoGoogle Gemini logoGroq logoMistral logoCohere logoCerebras logoDeepSeek logoOllama logoHugging Face logoOpenRouter logoPerplexity logoElevenLabs logoxAI logoOpenAI logoAnthropic logoAWS Bedrock logoGoogle Vertex AI logoAzure OpenAI logoGoogle Gemini logoGroq logoMistral logoCohere logoCerebras logoDeepSeek logoOllama logoHugging Face logoOpenRouter logoPerplexity logoElevenLabs logoxAI logo

Attribute AI spend to projects and initiatives

  • Tag requests to an initiative with the x-bf-project-id header, per call
  • Rank projects by cost, tokens, and latency in the Project Rankings tab
  • Report untagged traffic as Unassigned, so attributed and total spend reconcile
Projects docs →

AI budget limits at every governance level

  • Set budgets on virtual keys, teams, customers, and provider configurations
  • Block a request with HTTP 402 when any applicable budget runs out
  • Reset budgets daily, weekly, monthly, quarterly, or yearly, aligned to fiscal quarters
Budgets and limits docs →

Cost allocation exports to your data warehouse

  • Export per-request cost with business unit, team, customer, and user columns
  • Query total cost by team or business unit with standard SQL
  • Publish cost metrics with team and customer labels to Prometheus
BigQuery export docs →

Model routing through one OpenAI-compatible API

  • Reach 25+ providers and 10,000+ models through one OpenAI-compatible API
  • Scope routing rules to a virtual key, team, customer, or globally
  • Cap any single provider's spend with global provider budgets
Routing rules docs →

Alerts before a budget runs out

  • Evaluate CEL alert rules against live budget and rate-limit usage
  • Send alerts to Slack, Microsoft Teams, PagerDuty, or any webhook
  • Scope each rule to a specific virtual key, team, or customer
Alerting docs →

User provisioning by role with access profiles

  • Define providers, models, budgets, and MCP tools once as a reusable profile
  • Issue each user a governed virtual key when they gain a role
  • Propagate profile edits to every holder without reissuing any keys
Access profiles docs →

Extend the same policy to desktop and browser AI

  • Route Claude Desktop, ChatGPT, Cursor, and Claude Code through your gateway
  • Apply existing virtual keys, budgets, guardrails, and audit logs on each machine
  • Roll out to macOS, Windows, and Linux through Jamf, Intune, or Kandji
AI Gateway + Bifrost Edge docs →

[ FITS YOUR EXISTING STACK ]

Bifrost sits alongside your IdP, warehouse, and AI registry

Bifrost works with the systems that already hold your org chart, finance data, and approved use cases.

Business units map from your identity provider

Okta, Microsoft Entra, and Google Workspace sync users and groups into Bifrost, and IdP attributes map each user to a business unit.

Chargeback and showback from per-request cost rows

The BigQuery export gives finance per-request cost rows to join with cost centers and existing chargeback reports.

Your AI registry stays the record of what is approved

Each initiative approved in your AI governance registry receives a project and virtual keys. With virtual keys made mandatory, the gateway rejects unkeyed requests.

[ DEPLOYMENT ]

One policy layer, run where your data lives

Every business unit's prompts, responses, and cost records stay inside infrastructure you operate with Bifrost Enterprise.

Keep keys and data in your environment

  • Store every provider credential inside the gateway, never in client code
  • Keep all request data within your own infrastructure
  • Rotate provider keys without touching a single application
Provider configuration →

Deploy anywhere, including air-gapped

  • Run fully in your VPC or air-gapped private network
  • Deploy with no external dependencies or outbound calls
  • Self-host under Apache 2.0, or run fully managed
Deployment guides →

Meet enterprise compliance standards

  • Comply with SOC 2 Type II, HIPAA, GDPR, and ISO 27001
  • Maintain audit-ready records across every request
  • Enforce one consistent policy across teams and providers
Audit logs docs →

[ COMPLIANCE ]

Records your compliance team can use

The gateway can sign audit events with an HMAC key, archive them to S3 or GCS, and stream request payloads to the same object storage, ready for compliance teams to use as evidence.

AICPA SOC
GDPR
ISO 27001
HIPAA

[ QUICK SETUP ]

Drop-in replacement for any AI SDK

Change one base URL. Bifrost works with the OpenAI, Anthropic, Google GenAI, LiteLLM, and LangChain SDKs, and more.

shell
npx -y @maximhq/bifrost
python
client = openai.OpenAI(
    base_url="http://localhost:8080/openai",  # only change needed
    api_key="<YOUR-BIFROST-VIRTUAL-KEY>",
)

The source code is on GitHub under Apache 2.0, built by Maxim AI.

[ FAQ ]

Frequently asked questions

An AI control plane is the infrastructure layer every AI request passes through, where access, budgets, routing, and policy are enforced and each request's cost is recorded. Bifrost is an AI control plane for LLM and MCP traffic, applying virtual keys, budgets, and routing rules on each call to 25+ providers and 10,000+ models. A request that exceeds any applicable budget is refused with HTTP 402.

An agentic AI control plane governs the tools AI agents can call as well as the models they use. Bifrost filters MCP tools per virtual key with a deny-by-default allow-list, so an agent reaches only approved tools. See the MCP gateway.

The two do different jobs. A governance platform is where you record approved use cases, risk assessments, and framework evidence. An AI control plane enforces access, budgets, and routing on live requests. The registry decides what is approved, and Bifrost applies that decision to each call and returns cost and usage records.

AI spend is attributed to business units by tagging each request with its owner when it is made. Bifrost does this through virtual keys, teams, customers, and business units mapped from your identity provider, and exports per-request cost with those columns to BigQuery. That supplies the cost side of an AI ROI calculation.

A central AI gateway adds little delay when adoption is a base-URL change and access is self-service. Bifrost's published benchmarks measure 11 microseconds of added overhead per request at a sustained 5,000 RPS on a t3.xlarge instance, with a 100% success rate, and access profiles issue virtual keys automatically by role.

Provider lock-in is avoided by keeping model selection out of application code. Applications call Bifrost through one OpenAI-compatible API, and scoped routing rules decide which provider and model serve each request, so a model change is a configuration update.

The Bifrost gateway is open source under Apache 2.0, including virtual keys, budgets, routing rules, and fallbacks. Bifrost Enterprise adds business units, projects, access profiles, alerting, identity provider integration, audit logs, and in-VPC deployment.

Evaluate an AI control plane with two business units

A practical evaluation routes two business units through the gateway for one budget period, tags their main initiatives as projects, and compares the resulting cost report with provider invoices. The 14-day free Enterprise trial covers that pilot.

[ BIFROST FEATURES ]

Open Source & Enterprise

Everything you need to run AI in production, from free open source to enterprise-grade features.

01 Governance

SAML support for SSO and Role-based access control and policy enforcement for team collaboration.

02 Adaptive Load Balancing

Automatically optimizes traffic distribution across provider keys and models based on real-time performance metrics.

03 Cluster Mode

High availability deployment with automatic failover and load balancing. Peer-to-peer clustering where every instance is equal.

04 Alerts

Real-time notifications for budget limits, failures, and performance issues on Email, Slack, PagerDuty, Teams, Webhook and more.

05 Log Exports

Export and analyze request logs, traces, and telemetry data from Bifrost with enterprise-grade data export capabilities for compliance, monitoring, and analytics.

06 Audit Logs

Comprehensive logging and audit trails for compliance and debugging.

07 Vault Support

Secure API key management with HashiCorp Vault, AWS Secrets Manager, Google Secret Manager, and Azure Key Vault integration.

08 VPC Deployment

Deploy Bifrost within your private cloud infrastructure with VPC isolation, custom networking, and enhanced security controls.

09 Guardrails

Automatically detect and block unsafe model outputs with real-time policy enforcement and content moderation across all agents.

[ SHIP RELIABLE AI ]

Try Bifrost Enterprise with a 14-day Free Trial

[quick setup]

Drop-in replacement for any AI SDK

Change just one line of code. Works with OpenAI, Anthropic, Vercel AI SDK, LangChain, and more.

1import os
2from anthropic import Anthropic
3
4anthropic = Anthropic(
5 api_key=os.environ.get("ANTHROPIC_API_KEY"),
6 base_url="https://<bifrost_url>/anthropic",
7)
8
9message = anthropic.messages.create(
10 model="claude-3-5-sonnet-20241022",
11 max_tokens=1024,
12 messages=[
13 {"role": "user", "content": "Hello, Claude"}
14 ]
15)
Drop in once, run everywhere.