Choose OmniSwitch when…
- You want a dedicated self-hosted AI control layer rather than a wider API platform.
- A Go binary and file-driven deployment fit your operating model.
- You can work within the documented API and beta protocol scope.
Compare a secure self-hosted control plane, AI gateway routing, and agent protocol scope with Kong AI Gateway. Evaluate the operating model before the feature list.
Updated · Public beta
OSS ai-proxy scope; AI license varies. 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 | Kong AI Gateway[5]OSS ai-proxy scope; AI license varies | Konnect (managed)Separate 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.
| PartialKong Gateway supports a Postgres-backed data plane or DB-less mode; no SQLite mode.
Kong Gateway supports a Postgres-backed data plane or DB-less mode; no SQLite mode. | 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.
| SupportedOfficial Kong Gateway Helm chart.
| 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.
| SupportedDB-less declarative config reload is a long-standing OSS Kong Gateway 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 ↗ |
| Built-in dashboard/UI | SupportedLocal dashboard for logs, metrics, prompts, providers, and guardrails.
| Not availableThis project's internal comparison table lists Kong's control plane as "Kong" (i.e. Konnect, a separate managed product), not a bundled OSS dashboard.
| Managed onlyKonnect provides a unified control plane / AI Gateway manager UI.
|
| License | Supported | SupportedApache-2.0 for Kong Gateway OSS; several AI Gateway plugins used for full parity (AI Proxy Advanced, AI Semantic Cache tier, AI Rate Limiting Advanced, AI Semantic Prompt Guard) are Enterprise-licensed and are marked 'Enterprise, not tested' in this harness rather than benchmarked.
| Not availableClosed managed control plane (Kong Gateway data plane itself remains Apache-2.0-capable, but Konnect and several AI Gateway plugins are Enterprise-licensed).
|
| APIs & providers | |||
| OpenAI-compatible chat completions | Supported/v1/chat/completions, streaming and non-streaming.
| SupportedAI Proxy plugin (OSS) transforms/proxies OpenAI-shaped requests to provider-specific formats.
| Managed onlyManaged control plane for the same AI Gateway plugin stack.
|
| OpenAI-compatible embeddings | Supported | Not verifiedNot confirmed for the OSS ai-proxy plugin 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 ↗ |
| 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 verifiedAnthropic is a supported provider target; Messages-API request shape parity not independently 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 ↗ |
| 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. | Partial"Major providers only" per this project's internal comparison notes.
"Major providers only" per this project's internal comparison notes. | 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.
| Supportedai-proxy supports custom/self-hosted OpenAI-compatible upstreams.
| 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.
| Not availableMulti-provider fallback across models/providers is an AI Proxy Advanced (Enterprise) capability, not the OSS AI Proxy plugin used here.
| Managed onlyAI Proxy Advanced fallback across providers/models available via Konnect-managed Enterprise licensing.
|
| Weighted / load-balanced routing | SupportedWeighted variants per route.
| Not availableMulti-target load balancing is AI Proxy Advanced (Enterprise), not the OSS plugin.
| 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 availableSame Enterprise-only boundary as weighted-load-balancing.
| 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 verifiedNot confirmed for either the OSS or Advanced plugin.
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.
| Not verifiedNot confirmed independently of the semantic cache (separate plugin) below.
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 ↗ |
| 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 availableAI Semantic Cache is a separate plugin from AI Proxy; licensing/tier for that plugin was not confirmed as OSS at pin date, so treat as not available in the OSS-only harness cell used here.
| Managed onlyAI Semantic Cache manageable from Konnect.
|
| 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. | PartialStandard Kong rate-limiting plugins are OSS; token-aware AI Rate Limiting Advanced is Enterprise.
Standard Kong rate-limiting plugins are OSS; token-aware AI Rate Limiting Advanced is Enterprise. | Managed onlyAI Rate Limiting Advanced (token-aware) available via Konnect-managed Enterprise licensing.
|
| 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.
| SupportedKong's standard key-auth plugin is OSS.
| 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).
| SupportedKong's standard JWT/OIDC plugins are OSS.
| 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.
| SupportedThis project's internal comparison table lists Kong as "Yes" for a combined SSO/SAML/SCIM/mTLS row; Kong Gateway's mtls-auth plugin is documented separately. Enterprise-vs-OSS boundary for the specific plugin was not independently re-verified.
| 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 verifiedKong has RBAC in its Enterprise/Konnect control plane; a CEL-equivalent expression policy engine in OSS Kong Gateway was 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 ↗ |
| 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.
| PartialAI Prompt Guard (allow/deny lists) is documented as available; AI Semantic Prompt Guard and vendor guardrail integrations (Bedrock/Azure/Model Armor) are Enterprise/paid per third-party summaries, not independently re-verified per-plugin.
AI Prompt Guard (allow/deny lists) is documented as available; AI Semantic Prompt Guard and vendor guardrail integrations (Bedrock/Azure/Model Armor) are Enterprise/paid per third-party summaries, not independently re-verified per-plugin. | Managed onlyAI Prompt Guard, AI Semantic Prompt Guard, and vendor guardrail integrations (AWS Bedrock Guardrails, Azure AI Content Safety, GCP Model Armor) manageable from Konnect.
|
| Guardrail webhooks / external connectors | SupportedHTTP webhook connectors with configurable stage/action/timeout/fail_open.
| Not verifiedNot confirmed as a distinct capability from the vendor guardrail integrations 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 ↗ |
| Output redaction | Supportedredact action available on output-stage guardrail rules.
| Not verifiedAI Sanitizer / PII-related plugins are referenced in third-party summaries as Enterprise; not independently re-verified.
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.
| SupportedKong documents an MCP Gateway / MCP server breakdown as part of the AI Gateway line.
| 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 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 ↗ |
| MCP federation (multiple targets) | SupportedMultiple named MCP targets, policy-gated tools/call, server-side headers.
| 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 ↗ |
| OpenAPI-to-MCP conversion | Not availableNot implemented; explicit gap in the project's own comparison doc.
| Not availableThis project's internal comparison table lists Kong as "No" for OpenAPI-to-MCP conversion.
| 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 availableThis project's internal comparison table lists Kong as "No" for MCP OAuth client flows/token exchange.
| 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 availableThis project's internal comparison table lists Kong as "No" for A2A task lifecycle.
| 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 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 ↗ |
| 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 availableThis project's internal comparison table lists Kong as "No" for evals/experiments.
| 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 verifiedKong Gateway has general OTel plugin support; AI-traffic-specific OTLP export was not independently 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 ↗ |
| Prometheus metrics | Supported/metrics endpoint, gated by OMNISWITCH_PROMETHEUS_ENABLED.
| SupportedKong's Prometheus plugin is OSS and widely 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 ↗ |
| 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. | SupportedKong published a WireMock-based benchmark against Portkey and LiteLLM (proxy-only, 12 CPU).
Published source claim, not an OmniSwitch measurement or an independently verified comparison. | Not verifiedThe published Kong benchmark used self-managed OSS Kong Gateway, not Konnect specifically.
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.
Kong Gateway supports a Postgres-backed data plane or DB-less mode; no SQLite mode.
Kong Gateway supports a Postgres-backed data plane or DB-less mode; no SQLite mode.
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.
Official Kong Gateway Helm chart.
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.
DB-less declarative config reload is a long-standing OSS Kong Gateway 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 ↗Local dashboard for logs, metrics, prompts, providers, and guardrails.
This project's internal comparison table lists Kong's control plane as "Kong" (i.e. Konnect, a separate managed product), not a bundled OSS dashboard.
Konnect provides a unified control plane / AI Gateway manager UI.
Apache-2.0 for Kong Gateway OSS; several AI Gateway plugins used for full parity (AI Proxy Advanced, AI Semantic Cache tier, AI Rate Limiting Advanced, AI Semantic Prompt Guard) are Enterprise-licensed and are marked 'Enterprise, not tested' in this harness rather than benchmarked.
Closed managed control plane (Kong Gateway data plane itself remains Apache-2.0-capable, but Konnect and several AI Gateway plugins are Enterprise-licensed).
/v1/chat/completions, streaming and non-streaming.
AI Proxy plugin (OSS) transforms/proxies OpenAI-shaped requests to provider-specific formats.
Managed control plane for the same AI Gateway plugin stack.
Not confirmed for the OSS ai-proxy plugin 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 ↗/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.
Anthropic is a supported provider target; Messages-API request shape parity not independently 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 ↗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.
"Major providers only" per this project's internal comparison notes.
"Major providers only" per this project's internal comparison notes.
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.
ai-proxy supports custom/self-hosted OpenAI-compatible upstreams.
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.
Multi-provider fallback across models/providers is an AI Proxy Advanced (Enterprise) capability, not the OSS AI Proxy plugin used here.
AI Proxy Advanced fallback across providers/models available via Konnect-managed Enterprise licensing.
Weighted variants per route.
Multi-target load balancing is AI Proxy Advanced (Enterprise), not the OSS plugin.
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.
Same Enterprise-only boundary as weighted-load-balancing.
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.
Not confirmed for either the OSS or Advanced plugin.
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.
Not confirmed independently of the semantic cache (separate plugin) below.
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 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.
AI Semantic Cache is a separate plugin from AI Proxy; licensing/tier for that plugin was not confirmed as OSS at pin date, so treat as not available in the OSS-only harness cell used here.
AI Semantic Cache manageable from Konnect.
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.
Standard Kong rate-limiting plugins are OSS; token-aware AI Rate Limiting Advanced is Enterprise.
Standard Kong rate-limiting plugins are OSS; token-aware AI Rate Limiting Advanced is Enterprise.
AI Rate Limiting Advanced (token-aware) available via Konnect-managed Enterprise licensing.
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.
Kong's standard key-auth plugin is OSS.
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).
Kong's standard JWT/OIDC plugins are OSS.
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.
This project's internal comparison table lists Kong as "Yes" for a combined SSO/SAML/SCIM/mTLS row; Kong Gateway's mtls-auth plugin is documented separately. Enterprise-vs-OSS boundary for the specific plugin was not independently re-verified.
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.
Kong has RBAC in its Enterprise/Konnect control plane; a CEL-equivalent expression policy engine in OSS Kong Gateway was 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 ↗Built-in PII/prompt-injection/SQL-injection/toxicity/secret detectors plus custom regex rules, single-pass Rust-WASM scan with pure-Go fallback.
AI Prompt Guard (allow/deny lists) is documented as available; AI Semantic Prompt Guard and vendor guardrail integrations (Bedrock/Azure/Model Armor) are Enterprise/paid per third-party summaries, not independently re-verified per-plugin.
AI Prompt Guard (allow/deny lists) is documented as available; AI Semantic Prompt Guard and vendor guardrail integrations (Bedrock/Azure/Model Armor) are Enterprise/paid per third-party summaries, not independently re-verified per-plugin.
AI Prompt Guard, AI Semantic Prompt Guard, and vendor guardrail integrations (AWS Bedrock Guardrails, Azure AI Content Safety, GCP Model Armor) manageable from Konnect.
HTTP webhook connectors with configurable stage/action/timeout/fail_open.
Not confirmed as a distinct capability from the vendor guardrail integrations 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 ↗redact action available on output-stage guardrail rules.
AI Sanitizer / PII-related plugins are referenced in third-party summaries as Enterprise; not independently re-verified.
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.
Kong documents an MCP Gateway / MCP server breakdown as part of the AI Gateway line.
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.
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 ↗Multiple named MCP targets, policy-gated tools/call, server-side headers.
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 ↗Not implemented; explicit gap in the project's own comparison doc.
This project's internal comparison table lists Kong as "No" for OpenAPI-to-MCP conversion.
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.
This project's internal comparison table lists Kong as "No" for MCP OAuth client flows/token exchange.
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.
This project's internal comparison table lists Kong as "No" for A2A task lifecycle.
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.
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 ↗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.
This project's internal comparison table lists Kong as "No" for evals/experiments.
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).
Kong Gateway has general OTel plugin support; AI-traffic-specific OTLP export was not independently 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 ↗/metrics endpoint, gated by OMNISWITCH_PROMETHEUS_ENABLED.
Kong's Prometheus plugin is OSS and widely 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 ↗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.
Kong published a WireMock-based benchmark against Portkey and LiteLLM (proxy-only, 12 CPU).
Published source claim, not an OmniSwitch measurement or an independently verified comparison.
The published Kong benchmark used self-managed OSS Kong Gateway, not Konnect specifically.
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.
Kong AI Gateway has a different platform or proxy operating model. Start a separate OmniSwitch deployment, define a representative route, and compare request behavior and operational fit. No base-URL migration guide is offered without verified compatibility on both sides.
Start a local evaluationProduct register a8a594b. Cells reflect registered source claims, not roadmap plans or release-artifact availability; each retains its own verified date and version.
OSS ai-proxy scope; AI license varies. 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.