Public betaOpen source. Built in the open.Explore the beta
Self-hosted AI. Security in your hands.

Your AI.
Under your
control.

Secure and route AI traffic through a gateway you run. Keep keys, local guardrails, budgets, and request traces in your own infrastructure.

Apache-2.0 · No cloud control plane
ONE REQUEST. YOUR RULES.Architecture
Your app / OpenAI SDK
Your infrastructure
OmniSwitchSelf-hosted gateway
Authenticate
Guard
Route
Observe
auth: truecache_scope: api_keylog_payloads: false
Cloud providersNative adapters
Local modelsOpenAI-compatible
Example configuration. Requests go to the upstreams you choose.

Own the control layer.
Keep the deployment simple.

One Go binaryBinary, Docker, or Kubernetes
SQLite built inRedis optional for shared rate limits
Apache-2.0Inspect it. Run it. Make it yours.
01 / Secure self-hosted control

Set the boundaries.
See what crosses them.

Policy, visibility, and ownership where your AI traffic meets your infrastructure.

Explore security

Control who gets access.

Issue API keys with per-key budgets. Scope access with roles and workspace boundaries.

Hashed keys · budgets · rate limits

Check what passes through.

Run local PII, injection, and secret checks. Configure deny and redact actions.

Built-in checks · regex · redaction

Know what happened.

Inspect request traces and guardrail events. Export telemetry to your observability stack.

SQLite logs · Prometheus · OTLP
02 / Universal AI gateway

Your SDK.
A different base URL.

Use OpenAI-compatible clients across native provider adapters and custom endpoints. Keep routing decisions in the gateway, not scattered through your app.

Client configurationPython
from openai import OpenAI

client = OpenAI(
    base_url=GATEWAY_URL,
    api_key=OMNISWITCH_KEY,
)

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user",
               "content": "Hello"}],
)
  • Fallback chains, retries, and timeouts
  • Weighted routes and CEL conditions
  • Hot-reload routes without a restart
Follow the quickstart
Native provider adapters
OpenAIAnthropicGoogle GeminiGroqAzure OpenAIAWS BedrockCohere

Plus OpenAI-compatible endpoints, including Ollama and vLLM. Responses and Messages APIs are documented subsets.

03 / Governed agent infrastructure

Beyond model calls.
Into agent workflows.

Bring tool access and agent messages into a policy-aware gateway. Start with the MCP and A2A capabilities available in beta.

Explore agent protocols

Govern MCP tool access

Beta

Federate tool discovery and gate tool calls with policy across HTTP, SSE, and persistent stdio targets.

tools/list → policy → tools/call

Governed A2A model access

Beta

SendMessage, SendMessageStream (SSE task events), GetTask, best-effort CancelTask; tasks in memory; no push notifications; no downstream agent proxy.

Agent Card → message → model pipeline
Choose for your architecture

How OmniSwitch compares.

Explore the trade-offs across LiteLLM, Portkey, Helicone, Kong, Cloudflare, and Agent Router. Compare capabilities, deployment models, and beta boundaries.

Routing & fallbacks
Supported

route-level fallbacks, max_retries, retry_backoff, retry_codes, per-attempt timeout.

Version
v0.2.0-beta (commit 88a27c0)
Verified
2026-09-11
Open cited source ↗
Built-in guardrails
Supported

Built-in PII/prompt-injection/SQL-injection/toxicity/secret detectors plus custom regex rules, single-pass Rust-WASM scan with pure-Go fallback.

Version
v0.2.0-beta (commit 88a27c0)
Verified
2026-09-11
Open cited source ↗
MCP gateway
Supported

HTTP MCP targets with streamed SSE / streamable-HTTP pass-through.

Version
v0.2.0-beta (commit 88a27c0)
Verified
2026-09-11
Open cited source ↗
OmniSwitch register · Reviewed 11 September 2026
Explore the comparison

Public betaClear about what’s here.

Read the roadmap

Core capabilities

Chat completions, routing, API keys, budgets, local guardrails, and request tracing.

Still evolving

MCP, A2A, OIDC/CEL authorization, and the Responses and Messages API subsets.

Know the boundaries

Single-replica SQLite control plane. Redis shares rate limits, not control state. No dashboard SSO, mTLS, SAML, or SCIM.

Make your next AI request yours.

Run OmniSwitch on your infrastructure. Start with a governed request.