<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Agent-Governance on RockB</title><link>https://baeseokjae.github.io/tags/agent-governance/</link><description>Recent content in Agent-Governance on RockB</description><image><title>RockB</title><url>https://baeseokjae.github.io/images/og-default.png</url><link>https://baeseokjae.github.io/images/og-default.png</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 15 May 2026 12:07:30 +0000</lastBuildDate><atom:link href="https://baeseokjae.github.io/tags/agent-governance/index.xml" rel="self" type="application/rss+xml"/><item><title>Microsoft Agent Governance Toolkit: Open-Source Runtime Security for AI Agents</title><link>https://baeseokjae.github.io/posts/microsoft-agent-governance-toolkit-2026/</link><pubDate>Fri, 15 May 2026 12:07:30 +0000</pubDate><guid>https://baeseokjae.github.io/posts/microsoft-agent-governance-toolkit-2026/</guid><description>Microsoft&amp;#39;s Agent Governance Toolkit is the first open-source framework covering all 10 OWASP Agentic AI risks with sub-5ms deterministic policy enforcement at runtime.</description><content:encoded><![CDATA[<p>Released on April 2, 2026, the Microsoft Agent Governance Toolkit is the first open-source runtime security framework to address all ten risks on the OWASP Agentic AI Top 10. Shipped under the MIT license, it provides deterministic policy enforcement at the agent action layer with less than 5ms overhead per evaluated action. As the agentic AI security market grows from a projected $1.65 billion in 2026 toward an estimated $13.52 billion by 2032 at roughly 42% CAGR, this toolkit arrives at exactly the moment enterprises need a vendor-neutral, community-owned standard for governing what their AI agents are actually permitted to do.</p>
<h2 id="microsoft-agent-governance-toolkit-open-source-runtime-security-for-all-owasp-agentic-ai-risks">Microsoft Agent Governance Toolkit: Open-Source Runtime Security for All OWASP Agentic AI Risks</h2>
<p>With 88% of organizations reporting confirmed or suspected AI agent security incidents in the past year, the pressure to govern agentic AI behavior has reached a breaking point. Microsoft launched the Agent Governance Toolkit on April 2, 2026 as a direct response to this crisis — an open-source framework released under the MIT license that intercepts every agent action before execution and evaluates it against a configurable policy ruleset. The toolkit integrates natively with the four most widely deployed agent frameworks: LangChain, AutoGen, Semantic Kernel, and the OpenAI Agents SDK. This means teams can add governance without rewriting existing agent code — a practical necessity given that most enterprise agent deployments are already in production. The toolkit&rsquo;s architecture is modular: the core policy engine, called Agent OS, can be deployed independently, and additional modules for identity management, reliability engineering, and regulatory compliance can be layered in as operational requirements grow. Most significantly, the toolkit is the first open-source project to explicitly demonstrate coverage of all ten OWASP Agentic AI Top 10 risks with deterministic controls, making it the only framework where a security team can trace every item on the published threat taxonomy to a specific, testable enforcement mechanism.</p>
<h3 id="why-runtime-enforcement-is-different-from-prompt-level-safety">Why Runtime Enforcement Is Different from Prompt-Level Safety</h3>
<p>Prompt-level safety instructions — telling the model what not to do inside the system prompt — remain the most common approach to agent safety, but they have measurable failure rates under adversarial conditions. Runtime enforcement operates at the code layer, outside the model&rsquo;s reasoning process, which means a policy blocking unauthorized external writes will block them regardless of what the model was instructed or what it decides to attempt. That architectural separation is the core distinction between the Agent Governance Toolkit and prompt-engineering-based safety approaches.</p>
<h2 id="the-owasp-agentic-ai-top-10-the-risks-the-toolkit-addresses">The OWASP Agentic AI Top 10: The Risks the Toolkit Addresses</h2>
<p>The OWASP Agentic AI Top 10 is the published industry taxonomy of AI agent security risks, and 80% of organizations have already encountered at least one of these risks through unauthorized data exposure or other dangerous agent behaviors observed in the past year. The Microsoft Agent Governance Toolkit was architected with this list as its primary specification: every design decision traces back to a named OWASP risk, and every OWASP risk maps to at least one concrete enforcement control inside the toolkit. This bidirectional traceability matters enormously for security teams, because it allows compliance posture to be audited against a recognized external standard rather than informally asserted. The ten risks span the full lifecycle of an agent deployment — from what the agent is prompted to do, through how it uses its tools and memory, all the way to how it interacts with other agents and external systems.</p>
<table>
  <thead>
      <tr>
          <th>OWASP Agentic AI Risk</th>
          <th>Toolkit Control Mechanism</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Prompt Injection</td>
          <td>Semantic intent classifier at the policy evaluation layer</td>
      </tr>
      <tr>
          <td>Excessive Agency</td>
          <td>Least-privilege policy defaults; action scope limits per agent role</td>
      </tr>
      <tr>
          <td>Data Exfiltration</td>
          <td>Outbound data flow rules; domain allowlists for HTTP actions</td>
      </tr>
      <tr>
          <td>Privilege Escalation</td>
          <td>Role-scoped action permissions; escalation attempt detection</td>
      </tr>
      <tr>
          <td>Insecure Agent Memory</td>
          <td>Cross-agent memory validation and isolation controls</td>
      </tr>
      <tr>
          <td>Supply Chain Risk</td>
          <td>Plugin signing, verification, and SBOM generation</td>
      </tr>
      <tr>
          <td>Opaque Execution</td>
          <td>Full audit trail with structured logging for every action</td>
      </tr>
      <tr>
          <td>Trust Propagation</td>
          <td>Scoped trust chains between agent identities</td>
      </tr>
      <tr>
          <td>Compliance Drift</td>
          <td>Regulatory framework policy mappings with automated reporting</td>
      </tr>
      <tr>
          <td>Irreversible Actions</td>
          <td>Circuit breaker patterns and rollback hooks for destructive operations</td>
      </tr>
  </tbody>
</table>
<p>The structured mapping in the table above is not just documentation — it is operationalized. Each row corresponds to one or more policy rules that can be loaded into the Agent OS engine, evaluated in real time against every agent action, and audited by name in the toolkit&rsquo;s logs. For organizations required to demonstrate OWASP alignment to a board, regulator, or enterprise customer, this traceability is a meaningful differentiator from toolkits that address security in general terms.</p>
<h2 id="agent-os-the-stateless-policy-engine-at-the-core">Agent OS: The Stateless Policy Engine at the Core</h2>
<p>The most important architectural decision in the entire toolkit is that Agent OS, the core policy engine, is stateless. Every agent action is evaluated independently against the configured ruleset, with no session context or accumulated state that an adversary could manipulate over time to relax future policy decisions. This stateless design is precisely why the toolkit achieves less than 5ms overhead per evaluated action — there is no shared state to synchronize, no distributed cache to invalidate, and no coordination overhead that would create bottlenecks in concurrent multi-agent deployments. Agent OS positions itself in the execution path between an agent&rsquo;s decision to perform an action and the actual execution of that action against an external system. If the policy evaluation returns DENY, the action is blocked before it touches any file, API, database, or downstream agent. If evaluation returns ALLOW, execution proceeds immediately. The entire interception and evaluation cycle adds less than 5ms to the agent&rsquo;s action latency — a rounding error compared to the hundreds of milliseconds typically consumed by LLM inference or external API calls.</p>
<p>The stateless architecture has a second important implication: horizontal scalability. Because each policy evaluation is entirely self-contained, Agent OS instances can be replicated across as many nodes as needed without any coordination overhead whatsoever. For enterprises running large fleets of AI agents distributed across multiple cloud regions and availability zones, governance does not become a bottleneck as the agent footprint scales. The same policy file that governs a single development agent governs thousands of production agents identically, with no additional operational complexity introduced by the governance layer itself.</p>
<h3 id="how-agent-os-intercepts-agent-actions-in-practice">How Agent OS Intercepts Agent Actions in Practice</h3>
<p>Agent OS inserts itself into the agent&rsquo;s execution path as a middleware layer. When an agent decides to call a tool, write a file, make an HTTP request, or invoke a downstream agent, that intent is passed to Agent OS as a structured action object containing the action type, target, parameters, and the cryptographic identity of the requesting agent. The policy engine evaluates this object against the loaded ruleset and returns a permit or deny decision — along with any conditions, rate-limit directives, or audit flags specified in the matching policy — before the action is dispatched to the target system.</p>
<h2 id="policy-languages-yaml-opa-rego-and-cedar-for-agent-rules">Policy Languages: YAML, OPA Rego, and Cedar for Agent Rules</h2>
<p>Support for three distinct policy languages — YAML for human-readable rules, OPA Rego for complex conditional logic, and Cedar for formally verifiable authorization semantics — is one of the toolkit&rsquo;s most deliberate design decisions, and it reflects the reality that different organizations have fundamentally different requirements for how they express and validate security policy. A startup shipping its first governed agent can start with a few lines of YAML and achieve meaningful protection on day one. A financial services firm deploying agents in a strictly regulated environment may require Cedar&rsquo;s formal verification properties to satisfy an auditor that certain high-risk actions are provably impossible regardless of model behavior. An infrastructure team already using Open Policy Agent for Kubernetes and cloud resource governance can reuse their existing Rego expertise to write agent policies without learning a new language. All three policy formats coexist within the same Agent OS deployment, evaluated by the same engine against the same agent action stream, which means organizations can adopt incrementally and mix policy languages as their needs dictate.</p>
<p>YAML policies are the lowest-friction entry point. A minimal policy file defining a handful of DENY rules for the most common attack vectors — unauthorized outbound HTTP calls, writes outside approved directories, privilege escalation attempts — can be authored by any engineer familiar with YAML in under an hour. OPA Rego unlocks the full expressive power of a purpose-built policy query language, including complex joins, aggregations, and recursive rules that are difficult or impossible to express in YAML. Cedar, originally developed by AWS for its Verified Permissions authorization service, brings the property of formal analyzability: a static analysis tool can examine a Cedar policy and mathematically prove what action classes it will and will not permit, without executing it against live traffic. That formal verification capability moves agent governance from &ldquo;we believe this policy works&rdquo; to &ldquo;we have proven this policy is correct,&rdquo; which is a qualitatively different level of assurance for high-stakes deployments.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#75715e"># Example YAML policy: block writes outside approved paths, rate-limit API calls</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">policies</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#f92672">id</span>: <span style="color:#ae81ff">block-external-write</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">condition</span>:
</span></span><span style="display:flex;"><span>      <span style="color:#ae81ff">action.type == &#34;file_write&#34; AND</span>
</span></span><span style="display:flex;"><span>      <span style="color:#ae81ff">action.target NOT IN allowed_paths</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">effect</span>: <span style="color:#ae81ff">DENY</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f92672">id</span>: <span style="color:#ae81ff">rate-limit-api-calls</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">condition</span>:
</span></span><span style="display:flex;"><span>      <span style="color:#ae81ff">action.type == &#34;api_call&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">rate_limit</span>:
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">requests</span>: <span style="color:#ae81ff">10</span>
</span></span><span style="display:flex;"><span>      <span style="color:#f92672">window</span>: <span style="color:#e6db74">&#34;1s&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">effect</span>: <span style="color:#ae81ff">ALLOW_WITH_LIMIT</span>
</span></span></code></pre></div><p>Policies are loaded from files at startup and can be hot-reloaded without restarting the agent runtime, giving operators the ability to respond to newly identified attack patterns or policy violations by pushing a policy update through their standard CI/CD pipeline.</p>
<h2 id="integration-langchain-autogen-semantic-kernel-and-openai-agents-sdk">Integration: LangChain, AutoGen, Semantic Kernel, and OpenAI Agents SDK</h2>
<p>The toolkit was designed from the start for zero-rewrite integration with existing agent frameworks, and the four primary supported integrations — LangChain, AutoGen, Semantic Kernel, and the OpenAI Agents SDK — cover the dominant share of enterprise agent deployments in production as of mid-2026. Each integration uses that framework&rsquo;s own native extension points: LangChain callbacks, AutoGen middleware hooks, Semantic Kernel plugins, and the OpenAI Agents SDK&rsquo;s tool execution pipeline. The consequence is that an engineering team running an existing LangChain agent can add governance in a few lines of configuration, without modifying agent logic, tool definitions, prompt templates, or any other aspect of the existing application. This &ldquo;no rewrite&rdquo; principle is not merely a developer convenience — it is a deployment risk reduction strategy, because the governed agent behaves identically to the ungoverned agent for all permitted actions, and only prohibited actions are affected by the governance layer.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#75715e"># LangChain integration: governance added as a callback, zero code changes to the agent</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> langchain.agents <span style="color:#f92672">import</span> AgentExecutor
</span></span><span style="display:flex;"><span><span style="color:#f92672">from</span> agent_governance <span style="color:#f92672">import</span> GovernanceMiddleware
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>agent <span style="color:#f92672">=</span> AgentExecutor(
</span></span><span style="display:flex;"><span>    agent<span style="color:#f92672">=</span>my_agent,
</span></span><span style="display:flex;"><span>    tools<span style="color:#f92672">=</span>my_tools,
</span></span><span style="display:flex;"><span>    callbacks<span style="color:#f92672">=</span>[
</span></span><span style="display:flex;"><span>        GovernanceMiddleware(
</span></span><span style="display:flex;"><span>            policy_path<span style="color:#f92672">=</span><span style="color:#e6db74">&#34;./policies/production.yaml&#34;</span>
</span></span><span style="display:flex;"><span>        )
</span></span><span style="display:flex;"><span>    ]
</span></span><span style="display:flex;"><span>)
</span></span></code></pre></div><p>For AutoGen multi-agent workflows, the middleware intercepts both inbound and outbound agent messages, which means policy rules can govern not only what an agent does in the external world but also what instructions one agent sends to another. This is directly relevant to the OWASP Agentic AI risks around trust propagation and prompt injection delivered via inter-agent communication channels, which are attack surfaces that single-agent governance tools cannot address.</p>
<p>The OpenAI Agents SDK integration is significant because it means the governance layer is not tied to any specific model provider. Organizations building on OpenAI&rsquo;s infrastructure can apply toolkit policies to agents using OpenAI models, while organizations using Azure OpenAI or other providers use the same policy files with the same enforcement semantics. Semantic Kernel integration makes the toolkit immediately applicable to Microsoft&rsquo;s enterprise customer base already building production agents with that framework, and it enables natural federation with Azure AI and Entra ID for organizations that want to express agent permissions in terms of existing enterprise identity structures.</p>
<h3 id="azure-ai-and-microsoft-entra-id-integration">Azure AI and Microsoft Entra ID Integration</h3>
<p>For organizations on the Microsoft cloud stack, the optional integration with Azure AI services and Microsoft Entra ID allows agent identities to be mapped to enterprise directory objects. Access policies can then be written in terms of organizational roles, department memberships, and security group assignments — the same constructs already governing human user access — rather than requiring a separate identity management infrastructure maintained exclusively for AI agents.</p>
<h2 id="performance-sub-5ms-policy-evaluation-in-production">Performance: Sub-5ms Policy Evaluation in Production</h2>
<p>The most persistent objection to runtime security enforcement is the assumption that it adds unacceptable latency to agent operations. The Agent Governance Toolkit addresses this directly with a design target of less than 5ms overhead per action evaluated by Agent OS, and this performance level is achievable in production at scale, not just in laboratory benchmarks. To contextualize that number: a typical LLM inference call for a mid-sized model running at production load takes between 500ms and several seconds. A tool invocation triggering an external API call adds 100ms to 2 seconds depending on network conditions. Against this backdrop, a 5ms governance overhead is a rounding error in the overall agent response time — it does not perceptibly slow agent workflows, and it does not force engineering teams into tradeoffs between security coverage and application responsiveness. The practical implication is significant: governance can be applied universally, to every agent action without exception, rather than to a sampled or heuristically selected subset. A governance layer that evaluates only some actions provides the appearance of control without its substance, and the sub-5ms overhead removes any engineering incentive to skip evaluations for performance reasons.</p>
<p>This performance level is achievable because of the stateless, in-process design of Agent OS. Policy evaluation requires no network calls, no database round-trips, and no distributed coordination. The policy ruleset is compiled to an internal representation at startup and evaluated entirely in memory for each action object. YAML and OPA Rego policies are compiled at load time so that evaluation is fast even for rules with complex boolean logic. Cedar policies run through Cedar&rsquo;s own purpose-built, formally optimized evaluation engine. The combination produces an enforcement system that is fast enough to be deployed unconditionally without architectural compromises.</p>
<h3 id="benchmarking-against-specific-workloads">Benchmarking Against Specific Workloads</h3>
<p>Published performance figures reflect benchmark conditions that may differ from production environments with very high action throughput or unusually complex OPA Rego rulesets involving large data joins or recursive rules. Teams with latency-sensitive workflows should benchmark against their specific policy configuration in a staging environment before relying on the headline figure. The toolkit&rsquo;s documentation provides optimization guidance for reducing evaluation latency in complex policy scenarios, including techniques for pre-compiling frequently evaluated rules and structuring policy files for faster pattern matching.</p>
<h2 id="microsoft-agent-governance-toolkit-vs-lakera-guard-vs-calypsoai">Microsoft Agent Governance Toolkit vs Lakera Guard vs CalypsoAI</h2>
<p>The AI agent security tooling landscape has expanded rapidly alongside the market&rsquo;s projected growth from $1.65 billion in 2026 to $13.52 billion by 2032, and the Microsoft Agent Governance Toolkit occupies a distinct position relative to the two most commonly evaluated alternatives: Lakera Guard and CalypsoAI. Understanding those differences clearly is essential for teams making adoption decisions under budget and timeline pressure. Lakera Guard is a focused and well-regarded solution for prompt injection detection and LLM input/output safety filtering. It executes its defined scope effectively, but that scope covers primarily one item from the OWASP Agentic AI Top 10 — prompt injection — rather than the full ten-item risk surface. CalypsoAI offers a broader enterprise governance platform with meaningful capabilities, but it operates under a proprietary license and enterprise pricing model that introduces vendor dependency and prevents the community code audits that security-conscious organizations increasingly require. The Microsoft Agent Governance Toolkit is the only open-source option in this field that explicitly targets and demonstrates coverage of all ten OWASP Agentic AI Top 10 risks.</p>
<table>
  <thead>
      <tr>
          <th>Criterion</th>
          <th>Microsoft Agent Governance Toolkit</th>
          <th>Lakera Guard</th>
          <th>CalypsoAI</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>OWASP Agentic AI Top 10 coverage</td>
          <td>All 10 risks</td>
          <td>Primarily prompt injection</td>
          <td>Broad but proprietary</td>
      </tr>
      <tr>
          <td>License</td>
          <td>MIT (open source)</td>
          <td>Proprietary SaaS</td>
          <td>Proprietary enterprise</td>
      </tr>
      <tr>
          <td>Policy engine</td>
          <td>Agent OS (stateless, sub-5ms)</td>
          <td>Not applicable</td>
          <td>Proprietary runtime</td>
      </tr>
      <tr>
          <td>LangChain / AutoGen / Semantic Kernel / OpenAI SDK</td>
          <td>Native integration for all four</td>
          <td>LLM API layer only</td>
          <td>Varies by deployment</td>
      </tr>
      <tr>
          <td>Policy languages</td>
          <td>YAML, OPA Rego, Cedar</td>
          <td>Not applicable</td>
          <td>Proprietary configuration</td>
      </tr>
      <tr>
          <td>Enterprise identity integration</td>
          <td>Azure AI and Entra ID</td>
          <td>Limited</td>
          <td>Yes, proprietary</td>
      </tr>
      <tr>
          <td>Pricing model</td>
          <td>Free (MIT license)</td>
          <td>Subscription per seat/request</td>
          <td>Enterprise contract</td>
      </tr>
      <tr>
          <td>Community auditability</td>
          <td>Full source code available</td>
          <td>Closed source</td>
          <td>Closed source</td>
      </tr>
  </tbody>
</table>
<p>The decision between these tools comes down to three factors: scope of required coverage, licensing constraints, and ecosystem fit. Organizations that need only prompt injection protection, operate on a tight budget for security tooling, and have no requirement for open-source auditability may find Lakera Guard&rsquo;s focused capability sufficient. Organizations in regulated industries that need full OWASP coverage, reproducible compliance evidence, and source code access for security audits will find the Microsoft toolkit is currently the only option satisfying all three constraints simultaneously. CalypsoAI occupies an enterprise segment where vendor support contracts and managed deployment are priorities above open-source availability.</p>
<h3 id="when-lakera-guard-remains-the-appropriate-choice">When Lakera Guard Remains the Appropriate Choice</h3>
<p>Teams whose primary concern is LLM input and output safety — preventing harmful content generation, detecting prompt injection in consumer-facing applications, or filtering model outputs before they reach end users — may find Lakera Guard&rsquo;s focused capability operationally simpler and sufficient for their threat model. The two tools are not mutually exclusive: a defense-in-depth architecture could deploy both, with Lakera Guard handling LLM I/O safety and the Microsoft toolkit governing runtime agent action policies.</p>
<h2 id="getting-started-installing-and-configuring-the-toolkit">Getting Started: Installing and Configuring the Toolkit</h2>
<p>The fastest path to meaningful governance with the Microsoft Agent Governance Toolkit starts with installing only Agent OS — there is no requirement to adopt the full toolkit at once, and incremental adoption is the explicitly recommended path for most teams. The core Agent OS package is available for Python and TypeScript, with the full toolkit also supporting Rust, Go, and .NET. Installation is a single command, and the minimum viable configuration to achieve runtime policy enforcement is a YAML policy file and a one-line addition to the existing agent code. Teams can then layer in additional modules — enterprise identity integration via Entra ID, reliability engineering controls, regulatory compliance framework mappings — as operational requirements evolve and the team gains confidence in the governance model.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># Start with Agent OS only — the recommended incremental approach</span>
</span></span><span style="display:flex;"><span>pip install agent-os
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># Install the full toolkit when ready for identity, SRE, and compliance modules</span>
</span></span><span style="display:flex;"><span>pip install agent-governance<span style="color:#f92672">[</span>all<span style="color:#f92672">]</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e"># TypeScript installation</span>
</span></span><span style="display:flex;"><span>npm install @microsoft/agent-governance
</span></span></code></pre></div><p>With Agent OS installed, adding enforcement to an existing agent requires a policy file and a decorator or callback addition. The following minimal example enforces a starter policy on every action the agent takes:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#f92672">from</span> agent_os <span style="color:#f92672">import</span> PolicyEngine
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>engine <span style="color:#f92672">=</span> PolicyEngine<span style="color:#f92672">.</span>from_file(<span style="color:#e6db74">&#34;./policies/starter.yaml&#34;</span>)
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">@engine.enforce</span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">my_agent_action</span>(action, context):
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> execute_action(action, context)
</span></span></code></pre></div><p>A starter policy addressing the highest-priority OWASP risks requires only a few rules. The following file blocks unauthorized outbound HTTP requests, prevents writes to unapproved filesystem paths, and generates an audit record for every access to sensitive data — covering three distinct OWASP Agentic AI Top 10 risks in under twenty lines:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#75715e"># starter.yaml: a minimal production-ready starting policy</span>
</span></span><span style="display:flex;"><span><span style="color:#f92672">policies</span>:
</span></span><span style="display:flex;"><span>  - <span style="color:#f92672">id</span>: <span style="color:#ae81ff">deny-unauthorized-external-calls</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">condition</span>: <span style="color:#ae81ff">action.type == &#34;http_request&#34; AND action.domain NOT IN allowlist</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">effect</span>: <span style="color:#ae81ff">DENY</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f92672">id</span>: <span style="color:#ae81ff">block-external-write</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">condition</span>: <span style="color:#ae81ff">action.type == &#34;file_write&#34; AND action.target NOT IN allowed_paths</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">effect</span>: <span style="color:#ae81ff">DENY</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>  - <span style="color:#f92672">id</span>: <span style="color:#ae81ff">log-all-sensitive-reads</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">condition</span>: <span style="color:#ae81ff">action.type == &#34;data_read&#34; AND action.classification == &#34;sensitive&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">effect</span>: <span style="color:#ae81ff">ALLOW</span>
</span></span><span style="display:flex;"><span>    <span style="color:#f92672">audit</span>: <span style="color:#66d9ef">true</span>
</span></span></code></pre></div><h3 id="production-deployment-checklist">Production Deployment Checklist</h3>
<p>Before moving a governed agent to production, treat the policy file as code: include it in the same version control repository as the agent, require pull request review for all policy changes, and run the toolkit&rsquo;s built-in test suite against every policy modification to confirm that previously permitted behaviors remain permitted. Connect the audit log output to the organization&rsquo;s existing SIEM or observability platform so that policy DENY events generate alerts through established incident response channels rather than accumulating silently in a log file. Start with the three starter rules above, validate in staging that they do not block legitimate agent operations, and then progressively narrow scope by adding more specific rules as operational patterns are understood. The toolkit&rsquo;s modular architecture ensures that adding more advanced modules — Entra ID identity federation, regulatory compliance mappings, circuit breaker reliability controls — does not require changes to policies already deployed and validated.</p>
<hr>
<h2 id="faq">FAQ</h2>
<p><strong>Q1: Does the Agent Governance Toolkit work with agent frameworks beyond the four primary integrations?</strong></p>
<p>LangChain, AutoGen, Semantic Kernel, and the OpenAI Agents SDK are the four frameworks with official, maintained integration adapters. However, Agent OS can be applied to any Python or TypeScript agent code using its decorator and middleware APIs directly, independent of any specific framework. Teams using frameworks not yet covered by an official adapter can implement the integration using the core Agent OS API, which is well-documented and designed to be framework-agnostic at its lowest abstraction level. The open-source MIT license also means community-contributed adapters for additional frameworks are possible and welcome.</p>
<p><strong>Q2: How does the sub-5ms policy evaluation performance hold up as policy complexity increases?</strong></p>
<p>Simple YAML policies with straightforward conditional rules evaluate well under 1ms in normal production conditions. Complex OPA Rego policies — particularly those involving recursive rules, large data joins, or many policy conditions evaluated in sequence — may push evaluation time toward the 5ms boundary. Cedar policies run through Cedar&rsquo;s formally optimized evaluator and tend to maintain fast evaluation even for sophisticated authorization logic. Teams with high-throughput agent action streams and complex rulesets should benchmark their specific policy configuration against representative production load in a staging environment before drawing conclusions from the headline figure. The toolkit&rsquo;s documentation provides structured guidance on policy optimization techniques for latency-sensitive deployments.</p>
<p><strong>Q3: Should the toolkit be used alongside prompt-level safety instructions, or does it replace them?</strong></p>
<p>The two approaches address different layers of the agent security stack and are most effective in combination. Prompt-level safety instructions shape the model&rsquo;s general behavior and serve as the first line of defense for a well-aligned agent in normal operating conditions. The Agent Governance Toolkit operates at the code layer and enforces hard limits on what actions can actually be executed, regardless of what the model decides to attempt. Using both layers together produces substantially better outcomes than either approach alone: well-crafted prompt instructions reduce the frequency with which the policy engine sees prohibited action attempts, while the runtime policy enforcement provides a reliable backstop for the violations that occur despite good prompt design.</p>
<p><strong>Q4: How does the toolkit support regulatory compliance requirements such as the EU AI Act?</strong></p>
<p>The toolkit provides the technical foundation for compliance evidence across several dimensions. The policy language and audit logging capabilities allow organizations to demonstrate human oversight, transparency, and risk management controls that regulatory frameworks require for high-risk AI system deployments. By mapping OWASP Agentic AI Top 10 risks to configured policy rules, organizations can trace their compliance posture to a published external standard. The structured audit logs generated for every agent action and policy decision produce the kind of evidence-based documentation that regulators increasingly expect to see. Teams in regulated industries should work with their legal and compliance functions to translate specific regulatory requirements into policy rules, using Cedar&rsquo;s formal verification properties where mathematical proof of policy correctness is required to satisfy an auditor.</p>
<p><strong>Q5: Does the open-source MIT license mean Microsoft could change the terms or direction of the project in ways that create risk for adopters?</strong></p>
<p>The MIT license itself is irrevocable — code already released under MIT remains under MIT regardless of what Microsoft does with the project going forward. Additionally, Microsoft has announced plans to donate the project to a neutral open-source foundation, which would transfer governance of the project&rsquo;s direction to a community body rather than a single corporate sponsor. This mirrors the trajectory of projects like Kubernetes, which moved from Google to the Cloud Native Computing Foundation and subsequently became a de facto industry standard with broad multi-vendor contribution. Until the foundation donation occurs, the open-source codebase can be forked by any organization that needs to maintain an independent version, which is a meaningful risk mitigation for organizations concerned about long-term stewardship.</p>
]]></content:encoded></item></channel></rss>