What "out-of-process" means
In access control vocabulary, the policy enforcement point (PEP) is the component that intercepts an action and asks "is this allowed?" The policy decision point (PDP) is the component that answers. In-process governance puts both in the agent's own process — the PEP is a decorator and the PDP is a function call. Out-of-process governance keeps the PEP inside the agent (because the action is taken by the agent) but moves the PDP to a separate process, separate identity, separate failure domain.
The PEP+PDP split is older than agentic AI. It is what XACML standardized in 2003. It is what Kubernetes admission controllers do (the API server is the PEP; the admission webhook is the PDP). It is what hardware security modules do for key operations. It is what banks have done for transaction authorization for decades. The novelty in 2026 is applying it to AI agents, not the pattern itself.
For an AI agent, "out-of-process" means: when the agent decides to call a tool, hit an API, modify state, or hand work to another agent, the decision to permit that action is rendered by a service the agent does not control. The agent receives back ALLOW, DENY, REQUIRE_APPROVAL, or ALLOW_WITH_CONSTRAINTS. The decision is signed, logged outside the agent, and attestable independently.
What runs in-process today
The agent governance category exploded between February and May 2026, and most of what shipped runs in-process. The honest list:
| Product | Architecture | Released |
|---|---|---|
| Microsoft Agent Governance Toolkit (MS AGT) | Python middleware inside agent runtime | 2026-04-02, MIT |
| Galileo Agent Control | Control library + observability backend | 2026-03-11, Apache 2.0 |
| APort / Open Agent Passport (OAP) | Apache 2.0 reference impl, in-process authorization layer | Mar 2026 paper |
| Guild.ai | SaaS-first control plane with managed integrations | 2026-04-29 |
| NeMo Guardrails | Python rails inside LLM runtime | Pre-existing |
| Guardrails AI | Python validators inside agent runtime | Pre-existing |
These are not bad products. Microsoft AGT in particular addresses all 10 OWASP agentic-AI risks with deterministic sub-millisecond enforcement and ships in five language SDKs. APort's OAP paper formalizes pre-action authorization vocabulary that is genuinely useful. Galileo's observability heritage gives its control plane the strongest telemetry surface in the category. They are excellent for in-process governance.
They are also, by their own descriptions, not out-of-process control planes. Microsoft says so explicitly: "application-level governance (Python middleware), not OS kernel-level isolation." APort says so: their reference implementation "operates within the OS trust boundary—standard for authorization systems like OAuth, IAM, and policy engines." This is fair, accurate, and important.
What runs out-of-process today
| Product | Architecture | Note |
|---|---|---|
| Cordum Safety Kernel | Separate gRPC service behind mTLS | Pre-dispatch policy decision; sub-5ms p99 |
| Microsoft Authorization Fabric | PEP+PDP for Entra-protected agents | Identity-bound; works inside Microsoft trust |
| CyberArk Secure AI Agents | Out-of-process identity + authorization | Now inside Palo Alto Networks post acquisition |
Microsoft Authorization Fabric and CyberArk Secure AI Agents both use out-of-process patterns inside their respective identity boundaries (Entra and PAM). They are the right answer when the agent's identity, lifecycle, and authorization all live inside the same identity provider. Cordum's Safety Kernel is the right answer when agents need governance independent of any single identity provider, when workers run on customer-managed infrastructure across cloud boundaries, or when the audit boundary needs to be separable from the identity provider for regulatory reasons.
Why regulated buyers care
Three reasons, in order of operational importance.
1. Compromise containment. Prompt injection, dependency vulnerabilities, runtime escalation, and supply-chain compromise are all real failure modes for agent runtimes. When the policy engine and the agent share a process, a sufficiently bad failure can corrupt the policy decision because they share memory, exception state, and call stack. When they live in separate processes with separate identities, the policy engine is unaffected — its logs continue, its decisions continue, the agent is contained.
2. Audit attestability. An audit trail that the workload itself produced is weaker evidence than an audit trail produced by an independent component. Out-of-process governance gives the auditor a separate log stream that the workload cannot tamper with, signed by the policy engine's own identity. For SOC2 control objectives around separation of duties, and for financial services controls around segregation of operational and oversight functions, this distinction is increasingly the difference between a clean audit and a finding.
3. Multi-tenancy. Out-of-process governance lets one control plane serve many tenants with deterministic isolation. Tenant overlays — per-tenant deny lists, allow lists, constraint sets — compose with the base policy in a single decision engine. In-process governance pushes the multi-tenancy problem into the integrating application, where it is much harder to get right.
When in-process is fine
Most agent deployments today should not run an out-of-process control plane. In-process governance is the right answer when:
- You are prototyping or in early development and want minimum integration overhead.
- The agent is single-tenant, low-stakes, and not subject to a formal audit.
- Your governance requirement is bounded to in-flight decisions inside one framework, and a tight coupling between the framework and the policy engine is desirable.
- You are building inside the Microsoft Agent Framework and the integrated MS AGT experience is decisive.
- You are already a Galileo observability customer and the data-model continuity matters more than trust boundary separation.
Honest acknowledgment: an in-process governance layer is dramatically better than no governance layer. The category exists because production agents without governance are dangerous. Microsoft AGT, Galileo, APort, Guild.ai, NeMo Guardrails, and Guardrails AI all make agent deployments measurably safer. The argument here is about which architecture fits which buyer — not whether the in-process products are good products.
What auditors actually expect
We have heard this question framed many ways: "does my auditor really care about in-process vs out-of-process?" The honest answer in 2026 is: increasingly yes, depending on the audit and the industry.
For SOC2 audits scoped to general security controls, in-process governance with tamper-evident logs can satisfy the technical requirement. For SOC2 audits in financial services, healthcare, or regulated SaaS — where separation of duties is a primary control objective — auditors increasingly look for the policy decision to live outside the workload. The same logic the auditor applies to your secrets manager (out-of-process) and your KMS (out-of-process) extends to your agent governance.
For EU AI Act compliance under Articles 12 and 13, the requirement is for record-keeping and transparency that can be reviewed independently. An audit trail produced by the workload itself is weaker evidence than an audit trail produced by an independent governance layer. Article 14 (human oversight) is easier to demonstrate when the policy engine — including REQUIRE_APPROVAL decisions — lives outside the workload that is being overseen.
For HIPAA technical safeguards and PCI-DSS access controls, the rule of thumb auditors apply is the same one they apply to network segmentation: can the workload bypass the control? In-process governance can be bypassed by a sufficient compromise of the workload. Out-of-process governance cannot.
How to evaluate in your stack
Three concrete tests an evaluator can run today, regardless of which products are on the shortlist.
Test 1 — The compromise test. Give the agent a deliberately malformed plugin or a known prompt-injection payload. Observe what happens to the policy decision logs. With in-process governance, a sufficiently bad failure can corrupt or stop the policy decisions because the policy engine shares memory with the failing agent. With out-of-process governance, the policy engine is unaffected — its logs continue, its decisions continue, the agent is contained. The demo is the test.
Test 2 — The independent log test. Ask: where do the policy decisions get written? Can the agent process the decisions are about delete or modify them? If yes, the audit trail is workload-produced and weaker. If no — if the decisions live in a store the workload cannot reach — the audit trail is independent and stronger.
Test 3 — The identity test. Ask: does the policy engine have its own identity, separate from the agent? Can the auditor verify that a given decision came from the policy engine and not from a process pretending to be the policy engine? Out-of-process governance answers yes by construction (the policy engine authenticates with mTLS or equivalent). In-process governance answers no because there is no identity boundary between the agent and the policy engine.