Per-call policy checks
Policy as code evaluates every request before it reaches a model.
One policy-checked path for every model call
Every model call routes through one gateway where policy is checked on each request, so you govern AI usage in one place instead of per app. Any state-changing action pauses for a human to approve before it runs, and each connector the assistant uses receives scoped, short-lived credentials. Usage is recorded, and the gateway speaks a standard chat-completions interface so your existing clients connect without rewrites.
The problem
Every team that reaches for an AI model creates its own path to that model, with its own rules and its own credential handling. You have no single place to see what is being called, no policy that runs on every request, and no guarantee that a state-changing action waited for a person before it ran.
Policy as code evaluates every request before it reaches a model.
Any state-changing action pauses for a person to approve before it proceeds.
Each connector the assistant touches gets narrow, expiring credentials from a dedicated secrets store.
The gateway speaks a standard chat-completions interface so existing clients connect unchanged.
Your client sends model requests through the single gateway endpoint.
Policy runs on the call and state-changing actions wait for human approval.
Connectors receive short-lived credentials and the usage is logged for review.
How it stays governed
Every model request passes through policy as code before it reaches a model. The rule set applies to every client on the same path, so there is no ungoverned route to a model and no team that bypasses the check.
Each request, policy decision, and usage record writes once to a tamper-evident audit trail. You can show exactly what was called, what policy ruled, and who approved any state-changing action.
Any action the assistant proposes that would change state pauses at the gateway until a person reviews and approves it. The call does not proceed until sign-off is recorded, so no state-changing action runs without a human in the loop.
Works with your stack
Any client speaking the standard chat-completions interface connects to the gateway without changes, and scoped credentials are issued per connector through a dedicated secrets store.
Who it’s for
When different teams reach for different models through different apps, you route every call through one endpoint. Policy runs the same way on each request so you govern the whole organization from one place, not per app.
When an AI assistant takes actions on your systems, every state-changing step pauses for a person to approve before it runs. The full chain of calls, decisions, and approvals lands in a tamper-evident audit trail.
Teams with existing chat-completions integrations point them at the gateway endpoint and gain per-call policy checks, human approval gates, and usage records without changing the client code.
No. The gateway routes calls to the model providers you already use. Your provider relationship and model choices stay in place; the gateway adds policy checks, approval gates, and usage records on top.
Any client that speaks the standard chat-completions interface connects without modification. You do not need to rewrite existing integrations to route calls through the gateway.
Yes. Governance runs as policy as code, which your team authors and version-controls. You define what requests are permitted, what triggers a human approval, and what is denied outright.
The gateway holds any state-changing call until a person approves it. The action does not proceed until sign-off is recorded, and the decision writes to the tamper-evident audit trail alongside the original request.
Request a demo, or read the docs to see how it fits the tools you already run.