01 / Retain the stack
Keep the agents.
Keep your OPA.
Attach through existing infrastructure. Rego stays with your repository and reviewers.
Choose the connection ↓We use optional cookies to understand website visits and identify visiting businesses. You can change your choice anytime using Cookie preferences.
Apollo records page visits and sets a first-party cookie to identify visiting companies globally. If person-level tracking is enabled in Apollo, it may also identify visitors from the U.S. Read Apollo's privacy policy.
Your browser's Global Privacy Control signal is enabled, so Apollo tracking is off.
Use cases / Platform & AI engineering
Keep your agents, Envoy and OPA. Roll out controls with Terraform and GraphQL—and trace decisions across model calls, MCP tools and production actions.
Envoy ext_procRemote OPAgovernor_policyGraphQL
01 / Retain the stack
Attach through existing infrastructure. Rego stays with your repository and reviewers.
Choose the connection ↓02 / Control the rollout
Declare, preview and promote policy. Treat a control change like a production release.
Try a policy change ↓03 / Explain the decision
Connect the agent, the policy that matched and the outcome. Keep the decision trail through rollback.
Inspect the record ↓04 / Keep the model stream
With gateway hooks, GovernorAI returns the governance result. Your gateway keeps the provider connection and keys.
See the request path ↓In the product
A recorded walk through the screens behind the connection matrix: decisions at the action boundary, a held action with its reason, what each enforcement point can execute, and the record every decision leaves.
Real product screens from a demo tenant with seeded activity: the outcome, the rule and the reason for each governed action.
See the control, not another architecture slide
A reviewed rule changes one of three outcomes. Try shadow, enforcement and rollback. The destructive deny stays in place.
Active v12 · Candidate v13 in shadow
| Agent / action | Active · v12 | Preview · v13 |
|---|---|---|
| AllowEligible for dispatch | Would hold | |
| AllowEligible for dispatch | Would allow | |
| DenyNot dispatched | Would deny |
Standard-risk deployment meets v12. Candidate v13 would require a release approver.
3 illustrative decision records retained. Candidate results are previews, not enforced outcomes.
| Decision | Agent | Policy | Verdict | Dispatch |
|---|---|---|---|---|
| demo-dec-001 | Release agent | production-changes | allow | Eligible, not executed |
| demo-dec-002 | Ops assistant | production-changes | allow | Eligible, not executed |
| demo-dec-003 | Infra agent | production-changes | deny | Not dispatched |
From the example to the product
Explore the Policy Graph and the published product walkthrough.
Integration, not migration
Pick the connection that fits your stack and the response it needs to carry. Keep the policy, approvals and evidence shared.
Your execution paths
GovernorAI
Shared policy decisionsRemote OPA or embedded engine
Approvals · stop controls · evidence
Back to the chosen integration
Its native responseAllow · deny · approval
Supported payload transforms
| Connection | Agent integration | Decisions | Approval response | Payload controls |
|---|---|---|---|---|
| Envoy ext_procEnvoy Gateway · Istio · Gloo | Infrastructure config | Allow / deny | Stop + 202 | Request-body mutation |
| MCP proxyYour MCP client and server | Client URL change | Allow / deny | Stop + approval error | Tool-call arguments |
| Forward-authNGINX · Traefik · API management | Infrastructure config | Allow / deny | Refuse now · 403 | Use a shaping path |
| AI-gateway webhookPortkey · LiteLLM | Gateway configuration | Allow / deny | Block + record approval | Structured content¹ |
| Optional SDKPython · JavaScript · Go | Function wrapper | Allow / deny | Typed exception | Consult-only |
¹ Portkey: transformedData. LiteLLM: transformed_messages / transformed_response. Approval stops dispatch; after review, the caller re-runs the call as a new request, which the approval does not release. Adapter contracts ↗
An integration, not a second policy migration
Keep your OPA service, repository and review process. Add the agent controls and the decision trail around it.
Built for the people who operate it
Wire the boundary. Declare the objects. Query the result. Use the SDK when a function is the right place to govern.
Your existing Envoy makes the check. The processor fails closed.
# Filter excerpt; add before envoy.filters.http.router in your existing HTTP connection manager.
- name: envoy.filters.http.ext_proc
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor
grpc_service:
envoy_grpc: { cluster_name: governor_extproc }
processing_mode:
request_header_mode: SEND
request_body_mode: BUFFERED
failure_mode_allow: false
allow_mode_override: false
message_timeout: 5sDeclare a governance object and its namespace assignment in your review workflow.
# Policy object and assignment; provider configured separately.
resource "governor_policy" "production_changes" {
name = "production-changes"
description = "Review consequential production changes"
enabled = true
}
resource "governor_policy_assignment" "production" {
policy_id = governor_policy.production_changes.id
namespace_id = governor_namespace.production.id
}Wrap a function when the code boundary is the right integration point.
# pip install governor-sdk
from governor import governed_fn
@governed_fn("deploy.apply", agent_id="release-agent")
def apply_release(release_id: str) -> dict:
# Replace this example body with your existing deployment code.
return {"release_id": release_id, "status": "sample-only"}
# A deny or approval-required decision stops the wrapped function.Inspect agents and policies through the published GraphQL interface.
# POST /api/v1/graphql, with your tenant authentication.
# Schema: /api/v1/graphql/schema
{
agents(namespace: "governor.prod", limit: 50) {
id
name
status
}
policies(namespace: "governor.prod") {
id
name
version
}
}Versus what you would otherwise do
You may already have access controls, guardrails and policy engines. GovernorAI connects them to a shared action-governance workflow.
What you keepModel access, routing and gateway-native controls; many also support MCP.
Where GovernorAI fitsKeep your gateway. Add policy-controlled actions and a shared rollout and evidence workflow across connected paths.
Gateway infrastructure
What you keepAI traffic policy, MCP access and observability in the gateway you operate.
Where GovernorAI fitsKeep the traffic infrastructure. Reuse policy authority and connect its decisions to reviews, rollout and evidence.
Native agent policy
What you keepTool authorization built into your cloud provider's agent platform.
Where GovernorAI fitsChoose GovernorAI when you need a shared governance workflow across your existing gateways, policy engines and agent environments.
What you keepYour Rego, policy expertise and existing review process.
Where GovernorAI fitsKeep OPA as the decision authority. Reuse integrations, approval workflows and decision evidence rather than building every surrounding component.
What you keepThe detection and response tools your security team already operates.
Where GovernorAI fitsConnect platform-owned pre-action controls to evidence that security and GRC can review. Complement the suite rather than replacing it.
Positioning by deployment choice, not a feature-exclusion scorecard. References checked October 5, 2026.
The availability question
Use gateway hooks when you want a governance result without another model-stream proxy. Use local sidecar evaluation when routine policy checks should stay on the host.
Published engine microbenchmark
In-process policy evaluation
Engine only, not end-to-end sidecar or gateway latency.
For Portkey and LiteLLM hooks, your gateway owns routing, provider credentials and model connections. GovernorAI returns decisions and supported transforms.
Set failure_mode_allow: false on Envoy. Use deny-on-error settings in gateway integrations. Test an unavailable processor before promotion.
With a local embedded engine, policy evaluation stays beside the agent. Remote OPA follows the network path you choose.
Validate end-to-end p50, p95 and p99, timeout behavior and request overhead on your chosen integration during the evaluation.
Before you connect
No. Use the gateway integrations with your existing model connections. Point GovernorAI at your OPA service when that is your policy authority, or choose embedded evaluation.
No mandatory agent SDK. Envoy, forward-auth, MCP and gateway integrations attach through infrastructure or client configuration. Use a function wrapper when the SDK is the better fit.
It is not dispatched. The chosen integration returns its approval response or blocks the current request. Human review does not mean a synchronous connection stays open, and a deny rule is not overridden by an approval.
No. Restoring a policy revision changes how new requests are evaluated. It does not undo completed actions or automatically release held requests. Earlier decision records are not rewritten.
A scoped design-partner evaluation
Agree on the success criteria, connect the chosen path, preview policy, then enforce with your approval. Measure what changed before expanding.