
Product · AI Gateway
One governed API for the models you use
Your teams keep their SDKs. You get one governed API in front of the models they use, with spend and policy in one place.
- Integrate once, switch providers in config
- Budget reserved before each call
- Policy checks in the request path
- Prompts and responses not stored
Example record
One request, through the gateway
Each request meets the same stages, in the same order.
The prompt and the response are not stored.
- Checked
Caller identified
project key, auth tier
- Allowed
Model allowed for this project
model and workflow allowlist
- Reserved
Budget reserved before the call
prepaid reservation per project
- Clear
Prompt injection screen
in-line, before the provider
- Redacted
Personal data in the prompt
redacted before it leaves
- Routed
Routed by intent: chat-fast
ranked on health, cost tier, context
- Failover
Primary backend degraded
circuit open, next candidate
- Logged
Cost attributed
per project, per request
Spend, data and outages, answered
Most organisations adopt LLMs one application at a time, each with its own provider and key. Within a year, 3 questions go unanswered.
What are we spending, and on what?
What data is leaving the building?
What happens when a provider has a bad day?
The gateway puts one governed layer between your applications and your providers. So switching a provider or tightening a policy is a config change in one place.
Request path
The request path
So you change a policy without touching an application. Each stage is configuration, versioned and canaried before full rollout.
Providers
Behind one API
Your applications name a model, or an intent, and the gateway chooses.
- OpenAI: Chat, embeddings and responses.
- Anthropic: Native Messages, with extended thinking and tool use.
- Azure OpenAI: Behind the same endpoint as the rest.
- Amazon Bedrock: Models on AWS, under the same policy.
- Self-hosted: OpenAI-compatible endpoints, open-weight models included.
Private by default, run by your team
So your prompts and responses stay yours. The gateway does not persist them.
Config versioned and hot-reloaded
Changes canaried to a traffic share or named projects first
Circuit breakers shed load from failing backends
OpenTelemetry, Prometheus and Grafana wired in
An operator CLI and an admin console
Plugins in-process or remote, without forking
There are 2 narrow, documented exceptions, governance review holds and tool-authorisation records. Both are time-bounded and auditable.
Next step
Put your first team behind it.
Start with one team, self-hosted, in front of the providers it already uses. What you get: its spend per request, and a policy on what leaves.
