Choose OmniSwitch when…
- Self-hosted policy and gateway ownership are your primary requirements.
- You can re-map your logging and observability contract.
- You want a local gateway with an explicitly bounded beta scope.
Compare a secure self-hosted control plane, AI gateway routing, and agent protocol scope with Helicone. Evaluate the operating model before the feature list.
Updated · Public beta
OSS gateway; maintenance context. Register a8a594b; each cell records its own version and verified date. A capability review, not a benchmark.
No scores or totals: uneven documentation coverage is not a measure of product quality.
| Capability | OmniSwitch[1]Register a8a594b | Helicone[4]OSS gateway; maintenance context | Managed platformSeparate registered edition |
|---|---|---|---|
| Deployment & license | |||
| Self-hosted deployment | Not verifiedNo claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedNo claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedNo claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| SQLite / Postgres storage | SupportedSQLite by default; PostgreSQL via OMNISWITCH_DATABASE_URL. Logs and keys remain SQLite-local even in the Postgres case per the project's own docs.
| Not availableDocumented cache/rate-limit backends are Redis and S3, not SQLite/Postgres.
| Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Kubernetes manifests / Helm chart | SupportedKustomize manifests (Deployment/Service/ConfigMap/Secret example/PVCs/Redis) plus a Helm chart; no operator/CRDs/inference-aware routing.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Config hot reload | SupportedConfig hot reload covers routes, guardrails, cache posture, circuit breaker, and shadow provider without restart.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Built-in dashboard/UI | SupportedLocal dashboard for logs, metrics, prompts, providers, and guardrails.
| Not verifiedHelicone's broader product has a hosted dashboard; a bundled dashboard inside the self-hosted AI Gateway container is not confirmed.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Managed onlyHosted observability dashboard is Helicone's core product.
|
| License | Supported | SupportedGPL-3.0 (verified via the repository's GitHub license metadata; some third-party articles incorrectly state Apache-2.0/MIT).
| Not availableClosed managed service (distinct from the GPL-3.0 self-hosted AI Gateway).
|
| APIs & providers | |||
| OpenAI-compatible chat completions | Supported/v1/chat/completions, streaming and non-streaming.
| SupportedSingle OpenAI-compatible endpoint routing 100+ models/providers.
| Managed onlyHosted proxy/observability across 100+ models.
|
| OpenAI-compatible embeddings | Supported | Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| OpenAI Responses API | Partial/v1/responses text subset only (no image/audio/tool-streaming parity with OpenAI).
/v1/responses text subset only (no image/audio/tool-streaming parity with OpenAI). | Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Anthropic Messages API | Partial/v1/messages core subset. | Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Native (non-passthrough) provider adapters | Partial4 native adapters (OpenAI, Anthropic, Google, Groq); no native Bedrock/Vertex/Cohere. Everything else goes through the generic OpenAI-compatible custom adapter with 15+ documented presets.
4 native adapters (OpenAI, Anthropic, Google, Groq); no native Bedrock/Vertex/Cohere. Everything else goes through the generic OpenAI-compatible custom adapter with 15+ documented presets. | Supported100+ providers/models claimed.
| Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Custom/generic OpenAI-compatible endpoint | SupportedGeneric custom provider adapter with presets for Azure OpenAI, Ollama, vLLM, LiteLLM, DeepSeek, Together, Fireworks, and aliases.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Routing, reliability & cost | |||
| Routing & fallbacks | Supportedroute-level fallbacks, max_retries, retry_backoff, retry_codes, per-attempt timeout.
| SupportedFailover documented as a core feature.
| Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Weighted / load-balanced routing | SupportedWeighted variants per route.
| SupportedLoad balancing documented as a core feature.
| Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Conditional routing (rule/expression based) | SupportedCEL condition expressions on route variants.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Circuit breaker | SupportedDefault 5 failures / 60s cooldown, configurable via gateway.circuit_breaker_failures / _cooldown.
| Not verifiedHealth/rate-limit-aware routing documented; a distinct circuit-breaker feature not confirmed.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Exact-match cache | SupportedSHA-256 request-fingerprint cache key, tenant-scoped (api_key/workspace/organization/global), SQLite-backed.
| SupportedResponse caching (Redis/S3 backends) documented.
| Managed only |
| Similarity cache (see scope) | SupportedNOT embedding-based. Vectorize() builds a normalized token-frequency map over lowercased, stop-word-filtered tokens; Similarity() is cosine over those token-frequency vectors. State this precisely wherever OmniSwitch's cache is compared to embedding-based semantic caches.
| Not verified"Intelligent caching" is mentioned in some Helicone materials but not confirmed as embedding-based semantic caching in primary docs.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Budgets and quotas | SupportedCost and token budgets per API key.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Rate limiting | PartialLocal sliding-window request limits plus optional Redis-coordinated fixed window across replicas; no token-based (TPM) limiter.
Local sliding-window request limits plus optional Redis-coordinated fixed window across replicas; no token-based (TPM) limiter. | SupportedBuilt-in rate limiting (GCRA-based) documented.
| Managed only |
| Token-based rate limits | Not verifiedNo claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedNo claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedNo claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Identity & guardrails | |||
| API key management | SupportedHashed API keys, bootstrap owner key, workspace-scoped keys.
| SupportedAPI key management documented.
| Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| OIDC / JWT identity | SupportedOIDC JWT/JWKS workload identity (identity.oidc.jwks_url/issuer/audience).
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Mutual TLS | Not availableExplicitly not implemented; listed as a roadmap item, not a shipped feature.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| RBAC / policy engine (CEL or equivalent) | SupportedCEL allow/deny authorization rules plus fixed role gates.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Built-in guardrails | SupportedBuilt-in PII/prompt-injection/SQL-injection/toxicity/secret detectors plus custom regex rules, single-pass Rust-WASM scan with pure-Go fallback.
| Not verifiedSecurity/request validation documented; no formal "guardrails" product label found in the strongest available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Guardrail webhooks / external connectors | SupportedHTTP webhook connectors with configurable stage/action/timeout/fail_open.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Output redaction | Supportedredact action available on output-stage guardrail rules.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Guardrails applied to streaming output | Supportedguardrails.stream_buffer defaults to true: the full SSE stream is buffered and scanned before release, which means TTFT with guardrails on is dominated by upstream generation time, not gateway overhead. Benchmark both stream_buffer=true and false and label them.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Governed agent infrastructure | |||
| MCP gateway | SupportedHTTP MCP targets with streamed SSE / streamable-HTTP pass-through.
| Not verifiedNo evidence of MCP support found in available sources; unconfirmed, not necessarily absent.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| MCP over stdio | SupportedPersistent stdio MCP transport targets.
| Not verifiedSame as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| MCP federation (multiple targets) | SupportedMultiple named MCP targets, policy-gated tools/call, server-side headers.
| Not verifiedSame as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| OpenAPI-to-MCP conversion | Not availableNot implemented; explicit gap in the project's own comparison doc.
| Not verifiedSame as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| MCP OAuth / token exchange | SupportedRFC 8693 token exchange plus RFC 7523 JWT Bearer Grant for MCP OAuth delegation.
| Not verifiedSame as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| A2A agent card discovery | SupportedPublic A2A v1 Agent Card discovery (/.well-known/agent-card.json) plus authenticated GetExtendedAgentCard.
Current protocol scope: SendMessage, SendMessageStream (SSE task events), GetTask, best-effort CancelTask; tasks in memory; no push notifications; no downstream agent proxy. | Not availableNo A2A support found in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| A2A task methods | PartialSendMessage / SendMessageStream, GetTask, CancelTask implemented (JSON-RPC methods and REST aliases). Agent card advertises pushNotifications: false, so push-notification task updates are not supported.
Current protocol scope: SendMessage, SendMessageStream (SSE task events), GetTask, best-effort CancelTask; tasks in memory; no push notifications; no downstream agent proxy. SendMessage / SendMessageStream, GetTask, CancelTask implemented (JSON-RPC methods and REST aliases). Agent card advertises pushNotifications: false, so push-notification task updates are not supported. | Not availableNo A2A support found in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Operations & evidence | |||
| Prompt management | PartialTemplates with version history and rendering; no approval workflow, rollback/promotion, or experiments.
Templates with version history and rendering; no approval workflow, rollback/promotion, or experiments. | Not verifiedHelicone's broader observability platform has prompt features; AI-Gateway-specific prompt management not confirmed.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Evals / experiments | PartialPolicy replay endpoint for batch allow/deny simulation only; no model-quality eval datasets/scoring.
Policy replay endpoint for batch allow/deny simulation only; no model-quality eval datasets/scoring. | Not verifiedNot confirmed for the AI Gateway component specifically.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| OTLP telemetry export | SupportedOTel trace export (tested against Langfuse/Jaeger/Tempo).
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Prometheus metrics | Supported/metrics endpoint, gated by OMNISWITCH_PROMETHEUS_ENABLED.
| Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedManaged service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
| Published cross-gateway benchmarks | PartialIn-repo Rust-WASM-vs-Go guardrail micro-benchmark only (BENCHMARKS.md, measured on a non-pinned Windows laptop). No cross-gateway comparative run published yet -- this benchmark effort (bench/) is that follow-up.
In-repo Rust-WASM-vs-Go guardrail micro-benchmark only (BENCHMARKS.md, measured on a non-pinned Windows laptop). No cross-gateway comparative run published yet -- this benchmark effort (bench/) is that follow-up. | Not availableNo formal published overhead benchmark found for the Helicone AI Gateway.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ | Not verifiedNot confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence. Open pinned register ↗ |
No claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗No claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗No claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗SQLite by default; PostgreSQL via OMNISWITCH_DATABASE_URL. Logs and keys remain SQLite-local even in the Postgres case per the project's own docs.
Documented cache/rate-limit backends are Redis and S3, not SQLite/Postgres.
Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Kustomize manifests (Deployment/Service/ConfigMap/Secret example/PVCs/Redis) plus a Helm chart; no operator/CRDs/inference-aware routing.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Config hot reload covers routes, guardrails, cache posture, circuit breaker, and shadow provider without restart.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Local dashboard for logs, metrics, prompts, providers, and guardrails.
Helicone's broader product has a hosted dashboard; a bundled dashboard inside the self-hosted AI Gateway container is not confirmed.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Hosted observability dashboard is Helicone's core product.
GPL-3.0 (verified via the repository's GitHub license metadata; some third-party articles incorrectly state Apache-2.0/MIT).
Closed managed service (distinct from the GPL-3.0 self-hosted AI Gateway).
/v1/chat/completions, streaming and non-streaming.
Single OpenAI-compatible endpoint routing 100+ models/providers.
Hosted proxy/observability across 100+ models.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗/v1/responses text subset only (no image/audio/tool-streaming parity with OpenAI).
/v1/responses text subset only (no image/audio/tool-streaming parity with OpenAI).
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗/v1/messages core subset.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗4 native adapters (OpenAI, Anthropic, Google, Groq); no native Bedrock/Vertex/Cohere. Everything else goes through the generic OpenAI-compatible custom adapter with 15+ documented presets.
4 native adapters (OpenAI, Anthropic, Google, Groq); no native Bedrock/Vertex/Cohere. Everything else goes through the generic OpenAI-compatible custom adapter with 15+ documented presets.
100+ providers/models claimed.
Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Generic custom provider adapter with presets for Azure OpenAI, Ollama, vLLM, LiteLLM, DeepSeek, Together, Fireworks, and aliases.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗route-level fallbacks, max_retries, retry_backoff, retry_codes, per-attempt timeout.
Failover documented as a core feature.
Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Weighted variants per route.
Load balancing documented as a core feature.
Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗CEL condition expressions on route variants.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Default 5 failures / 60s cooldown, configurable via gateway.circuit_breaker_failures / _cooldown.
Health/rate-limit-aware routing documented; a distinct circuit-breaker feature not confirmed.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗SHA-256 request-fingerprint cache key, tenant-scoped (api_key/workspace/organization/global), SQLite-backed.
Response caching (Redis/S3 backends) documented.
NOT embedding-based. Vectorize() builds a normalized token-frequency map over lowercased, stop-word-filtered tokens; Similarity() is cosine over those token-frequency vectors. State this precisely wherever OmniSwitch's cache is compared to embedding-based semantic caches.
"Intelligent caching" is mentioned in some Helicone materials but not confirmed as embedding-based semantic caching in primary docs.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Cost and token budgets per API key.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Local sliding-window request limits plus optional Redis-coordinated fixed window across replicas; no token-based (TPM) limiter.
Local sliding-window request limits plus optional Redis-coordinated fixed window across replicas; no token-based (TPM) limiter.
Built-in rate limiting (GCRA-based) documented.
No claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗No claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗No claim is recorded for this capability in the pinned register.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Hashed API keys, bootstrap owner key, workspace-scoped keys.
API key management documented.
Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗OIDC JWT/JWKS workload identity (identity.oidc.jwks_url/issuer/audience).
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Explicitly not implemented; listed as a roadmap item, not a shipped feature.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗CEL allow/deny authorization rules plus fixed role gates.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Built-in PII/prompt-injection/SQL-injection/toxicity/secret detectors plus custom regex rules, single-pass Rust-WASM scan with pure-Go fallback.
Security/request validation documented; no formal "guardrails" product label found in the strongest available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗HTTP webhook connectors with configurable stage/action/timeout/fail_open.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗redact action available on output-stage guardrail rules.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗guardrails.stream_buffer defaults to true: the full SSE stream is buffered and scanned before release, which means TTFT with guardrails on is dominated by upstream generation time, not gateway overhead. Benchmark both stream_buffer=true and false and label them.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗HTTP MCP targets with streamed SSE / streamable-HTTP pass-through.
No evidence of MCP support found in available sources; unconfirmed, not necessarily absent.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Persistent stdio MCP transport targets.
Same as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Multiple named MCP targets, policy-gated tools/call, server-side headers.
Same as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Not implemented; explicit gap in the project's own comparison doc.
Same as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗RFC 8693 token exchange plus RFC 7523 JWT Bearer Grant for MCP OAuth delegation.
Same as above.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Public A2A v1 Agent Card discovery (/.well-known/agent-card.json) plus authenticated GetExtendedAgentCard.
Current protocol scope: SendMessage, SendMessageStream (SSE task events), GetTask, best-effort CancelTask; tasks in memory; no push notifications; no downstream agent proxy.
No A2A support found in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗SendMessage / SendMessageStream, GetTask, CancelTask implemented (JSON-RPC methods and REST aliases). Agent card advertises pushNotifications: false, so push-notification task updates are not supported.
Current protocol scope: SendMessage, SendMessageStream (SSE task events), GetTask, best-effort CancelTask; tasks in memory; no push notifications; no downstream agent proxy.
SendMessage / SendMessageStream, GetTask, CancelTask implemented (JSON-RPC methods and REST aliases). Agent card advertises pushNotifications: false, so push-notification task updates are not supported.
No A2A support found in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Templates with version history and rendering; no approval workflow, rollback/promotion, or experiments.
Templates with version history and rendering; no approval workflow, rollback/promotion, or experiments.
Helicone's broader observability platform has prompt features; AI-Gateway-specific prompt management not confirmed.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Policy replay endpoint for batch allow/deny simulation only; no model-quality eval datasets/scoring.
Policy replay endpoint for batch allow/deny simulation only; no model-quality eval datasets/scoring.
Not confirmed for the AI Gateway component specifically.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗OTel trace export (tested against Langfuse/Jaeger/Tempo).
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗/metrics endpoint, gated by OMNISWITCH_PROMETHEUS_ENABLED.
Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Managed service: capability-map only, no same-host benchmark run. Not verified in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗In-repo Rust-WASM-vs-Go guardrail micro-benchmark only (BENCHMARKS.md, measured on a non-pinned Windows laptop). No cross-gateway comparative run published yet -- this benchmark effort (bench/) is that follow-up.
In-repo Rust-WASM-vs-Go guardrail micro-benchmark only (BENCHMARKS.md, measured on a non-pinned Windows laptop). No cross-gateway comparative run published yet -- this benchmark effort (bench/) is that follow-up.
No formal published overhead benchmark found for the Helicone AI Gateway.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗Not confirmed in available sources.
No capability-specific source was recorded. The register is the provenance, not proof of absence.
Open pinned register ↗OmniSwitch scope. The pinned register marks OpenAI Responses API, Anthropic Messages API, Native (non-passthrough) provider adapters, Rate limiting, Mutual TLS, OpenAPI-to-MCP conversion, A2A task methods, Prompt management, Evals / experiments, Published cross-gateway benchmarks as partial or unavailable. Read each source and version; compare them with the build you actually deploy.
Read unknowns carefully. “Not verified” means an evidence gap, not absence. Editions remain separate. Register a8a594b; 3 compared deployments.
A2A (Beta). SendMessage, SendMessageStream (SSE task events), GetTask, best-effort CancelTask; tasks in memory; no push notifications; no downstream agent proxy.
The register verifies OpenAI-compatible chat on both sides. This guide is limited to an OpenAI SDK base-URL change for chat; it does not establish compatibility for other APIs or headers.
Create an OmniSwitch gateway API key. The SDK sends it as Authorization: Bearer <OmniSwitch key>. Provider credentials stay in the gateway; do not reuse your competitor platform key.
import os
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8080/v1",
api_key=os.environ["OMNISWITCH_KEY"],
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://localhost:8080/v1",
apiKey: process.env.OMNISWITCH_KEY,
});
const response = await client.chat.completions.create({
model: "gpt-4o-mini",
messages: [{ role: "user", content: "Hello" }],
});
console.log(response.choices[0].message.content);x-omniswitch-providerMap your Helicone equivalent here.x-omniswitch-configMap your Helicone equivalent here.x-omniswitch-trace-idMap your Helicone equivalent here.x-omniswitch-session-idMap your Helicone equivalent here.x-omniswitch-shadow-providerMap your Helicone equivalent here.Chat selects its model with the JSON model field. The x-omniswitch-model header is an A2A selector, not a chat model override.
Read Helicone’s header documentation and the OmniSwitch header reference. Custom header conventions, automatic configuration import, gateway-key import, and direct Anthropic SDK header support are not implied.
Pilot representative blocking and streaming calls, tools, errors, retries, metadata, and observability. Keep the original gateway available until your app-level tests pass.
Helicone announced it was joining Mintlify on 3 March 2026. Services remain live in maintenance mode, with security updates, new models, and fixes continuing.
Source · accessed 2026-10-09Product register a8a594b. Cells reflect registered source claims, not roadmap plans or release-artifact availability; each retains its own verified date and version.
OSS gateway; maintenance context. Capability-specific documentation and dated editorial sources remain separate from independent testing.
Supported means documented within the named capability and deployment scope, not full product parity. Beta and licensed editions are shown when the register supplies a qualifier. Not verified describes an evidence gap, not absence. Claims come from the pinned register; cells have no scores or totals. This is a dated documentation review, not a performance test or a security certification. See the benchmark methodology.