Docs

Enforcement

Apply governance decisions to AI and MCP activity.

Enforcement is where a governance decision actually gets applied to real traffic — as opposed to Decisions, which reviews what already happened, or Policy Evaluation, which only computes the verdict. It runs on two paths that share the same evaluator: the central MCP Gateway, for traffic that flows through the Data Plane directly, and a sidecar Enforcer that evaluates a compiled policy bundle locally at the edge for traffic fronted by a customer's own proxy.

On the central path, every invocation resolves the target MCP server's policy mode (observe, simulate, or enforce — observe by default), short-circuits a blocked actor before any rule runs, evaluates policy for the tool or resource target plus every resource or column a tool call's arguments resolve to, and finally applies the mode: observe and simulate both always let the call through and only log what would have happened, enforce is the only mode that actually blocks.

On the sidecar path, every published and approved rule compiles into a single Rego module — a policy bundle — served from the Data Plane. An Enforcer container, wired into a customer's existing proxy (an Envoy ext_authz filter, or the NGINX/Istio/Kong equivalent), pulls that bundle and evaluates it against each request locally, reporting telemetry back to the Data Plane. This is what lets enforcement keep working for MCPs fronted by infrastructure the customer already runs, without every request round-tripping to the central gateway.

Whichever path decided a call, every non-dry-run invocation is written back as an invocation and decision log record — subject, target, token counts, matched rules — the same data that feeds Decisions, Decision Explanation, and the live feed on Governance Live.

Of the two routed pages here, Governance Live is a real, working onboarding view: a rolling feed of the last several enforcement-log rows, refreshed every five seconds, shown once a tenant's first policy is live. The broader Governance page's compliance-report, risk-score, and anomaly-finding panels query endpoints that, as of this writing, either return an empty stub or have no backend route at all — only its underlying enforcement/decision data is real; those specific panels are UI without a working backend behind them yet.

Reference

Features

Sidecar enforcement
description
A separate Enforcer container, deployed alongside a customer's own proxy (Envoy, NGINX, Istio, or Kong) via an ext_authz-style filter, that evaluates policy locally against a pulled bundle instead of calling back to the central gateway for every request.
Policy bundles
description
The published and approved rule set compiled into a single Rego module that a sidecar Enforcer pulls and evaluates locally; bindings on the same rule are AND'd together in the compiled output.
Invocation interception
description
The MCP Gateway evaluates policy for every tool or resource invocation before it reaches the real MCP server, including every resource or column a tool call's arguments resolve to, and blocks or allows accordingly.
Telemetry emission
description
Every non-dry-run call is written back as an invocation and decision log record, whichever path — central gateway or sidecar Enforcer — decided it, feeding the Decisions Log and Identity Chain.
Enforcement modes
description
An MCP server's policy mode — observe, simulate, or enforce — controls whether a verdict actually blocks a call; observe and simulate always allow through and only log what would have happened, enforce is the only mode that blocks.

Interfaces

data-plane serves /governance
data-plane serves /governance-live