<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>runtime-governance on tomrochette.com</title>
    <link>https://tomrochette.com/tags/runtime-governance/</link>
    <description>Recent content in runtime-governance on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Tue, 06 Oct 2026 04:48:21 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/runtime-governance/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Agent Control</title>
      <link>https://tomrochette.com/agents/control-planes/agent-control/</link>
      <pubDate>Mon, 05 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/control-planes/agent-control/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>control-planes</category><category>policy-enforcement</category><category>runtime-governance</category><category>open-source</category>
      <description>&lt;p&gt;Agent Control (agentcontrol/agent-control) is Galileo Technologies&amp;rsquo; Apache-2.0 control plane that turns any Python or TypeScript function into a governed decision point with a &lt;code&gt;@control()&lt;/code&gt; decorator, evaluating the call against centrally managed policy on a server and returning deny, steer, warn, log, or allow before the action runs.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Its thesis is that guardrails hardcoded in agent code rot one repository at a time, so the decorators mark where decisions happen while the policy lives on a server, letting a compliance team change what every agent enforces without a single redeploy.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A Docker Compose deployment of a policy server, a PostgreSQL store, and a web UI; developers install a Python (3.12+) or TypeScript SDK and mark functions with &lt;code&gt;@control()&lt;/code&gt;, and each decorated call ships its inputs and outputs to the server (or a local cache when configured) for evaluation.&#xA;A deny raises a &lt;code&gt;ControlViolationError&lt;/code&gt; before the unsafe action proceeds.&#xA;Built-in evaluators cover regex, list, JSON, and SQL checks, and the architecture is deliberately pluggable: one policy can mix Galileo&amp;rsquo;s Luna, NVIDIA NeMo guardrails, AWS Bedrock checks, Cisco AI Defense guardrails, and custom evaluators.&#xA;Framework support covers LangChain, CrewAI, Google ADK, and AWS Strands, with an OpenClaw plugin in the same organization.&#xA;The launch blog (March 11, 2026) frames the product against Forrester&amp;rsquo;s agent control plane market evaluation, with launch partners including Cisco, CrewAI, AWS Strands, Glean, Rubrik, and ServiceNow.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Active and young: 320 stars, 55 forks, 45 open issues, and 19 contributors as of 2026-10-06, created 2026-01-30, pushed 2026-10-06, with a fast release train (v8.8.0 on 2026-09-22, v8.9.0 and v8.10.0 on 2026-10-01, v8.11.0 on 2026-10-02, mirrored by agent-control-sdk 8.11.0 on PyPI and agent-control 3.3.0 on npm).&#xA;&lt;strong&gt;The community footprint is thin for the backing it carries: the Hacker News launch thread drew 2 points and zero comments, so the adoption evidence is the release cadence, the contributor count, and the launch-partner list rather than organic discussion.&lt;/strong&gt;&#xA;A version line already at v8 eight months in says the API moves; the README&amp;rsquo;s own quickstart warns that the default compose file starts without API keys configured, which it calls dangerous for any real-world usage.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The decorator-plus-server split is the right factoring for fleet governance: developers own where the hooks sit, policy teams own what they enforce, and policy changes need no redeploy.&lt;/li&gt;&#xA;&lt;li&gt;Pluggable evaluators mean the gate is not married to one vendor&amp;rsquo;s detection models, which is rare among the enforcement gates in this category.&lt;/li&gt;&#xA;&lt;li&gt;Decisions include steer and warn, not just allow and deny, so the plane can correct an agent instead of only stopping it.&lt;/li&gt;&#xA;&lt;li&gt;Real software hygiene: CI, Codecov, both SDK ecosystems published, and a UI dashboard included in the open-source deployment.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Enforcement quality equals evaluator quality: a regex list blocks what it anticipates, exactly the failure mode the launch anecdote describes, and nothing here substitutes for tool-level design.&lt;/li&gt;&#xA;&lt;li&gt;Every governed call crosses a network hop to the policy server unless a local cache is configured, which adds latency and a new failure point to the agent&amp;rsquo;s critical path.&lt;/li&gt;&#xA;&lt;li&gt;The quickstart&amp;rsquo;s own insecure-by-default warning means the first-run experience trains the wrong habits; read the API key configuration before exposing anything.&lt;/li&gt;&#xA;&lt;li&gt;Galileo maintains the project while selling a commercial platform upstream, so the open-source roadmap will always answer to the funnel; the HN silence means nobody independent has stress-tested the enforcement claims yet.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;The control plane is Apache-2.0 and free, self-hosted via Docker Compose with PostgreSQL.&#xA;Galileo&amp;rsquo;s commercial evaluation and observability platform integrates with it and is priced separately; no dollar prices are published on the pages cited here, so there is nothing to track.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/veto/&#34; &gt;Veto&lt;/a&gt;: both gate calls before execution, but Veto evaluates deterministic YAML rules locally with portable receipts, while Agent Control centralizes policy on a server with pluggable vendor evaluators; choose Veto for a local-first gate, Agent Control for fleet-wide policy without redeploys.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/microsoft-agent-governance-toolkit/&#34; &gt;Microsoft Agent Governance Toolkit&lt;/a&gt;: the toolkit ships identity, sandboxing, SRE, and compliance alongside policy; Agent Control is narrower and deeper on the step-level enforcement axis with the evaluator marketplace.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/code-atelier-governance-sdk/&#34; &gt;Code Atelier Governance SDK&lt;/a&gt;: both put a gate in front of LLM calls, but Code Atelier is an in-process Python and Postgres SDK with an HMAC audit chain, while Agent Control externalizes policy to a server with a UI and cross-language SDKs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for platform teams standardizing runtime guardrails across many agents and frameworks who can run a policy server and want policy changes to land without redeploys.&lt;/strong&gt;&#xA;Not for local-first or latency-critical enforcement, and not for anyone who needs independent validation of the enforcement claims before adopting a gate.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-05 - Created from the entrant-resolution run, profiling Galileo&amp;rsquo;s open-source control plane as the category&amp;rsquo;s centralized-policy-server entrant.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/control-planes-feature-matrix/&#34; &gt;Control Planes Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/veto/&#34; &gt;Veto&lt;/a&gt; - the local-first authorization kernel this complements&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/microsoft-agent-governance-toolkit/&#34; &gt;Microsoft Agent Governance Toolkit&lt;/a&gt; - the broader vendor-backed governance program&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/control-planes/crowdstrike-falcon-guardian/&#34; &gt;CrowdStrike Falcon Guardian&lt;/a&gt; - the endpoint-anchored commercial counterpart&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;../../../an-agent-is-only-as-safe-as-its-worst-tool-call/index.md&#34; &gt;An Agent Is Only as Safe as Its Worst Tool Call&lt;/a&gt; - the corpus argument for gating the call&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/agentcontrol/agent-control&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/agentcontrol/agent-control&lt;/a&gt; - README: quickstart, SDKs, evaluator model, framework support, and the insecure-defaults warning&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://galileo.ai/blog/announcing-agent-control&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=galileo.ai&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://galileo.ai/blog/announcing-agent-control&lt;/a&gt; - launch post: the @control() design, deny/steer/warn/log/allow decisions, launch partners, and the Forrester framing&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://agentcontrol.dev/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=agentcontrol.dev&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://agentcontrol.dev/&lt;/a&gt; - project site: Control Store, audit logs, and the Galileo maintenance commitment&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.github.com/repos/agentcontrol/agent-control&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.github.com/repos/agentcontrol/agent-control&lt;/a&gt; - stars, forks, issues, contributors, creation and push dates as of 2026-10-06&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://api.github.com/repos/agentcontrol/agent-control/releases&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=api.github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://api.github.com/repos/agentcontrol/agent-control/releases&lt;/a&gt; - the v8.8.0 through v8.11.0 release train&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pypi.org/pypi/agent-control-sdk/json&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=pypi.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://pypi.org/pypi/agent-control-sdk/json&lt;/a&gt; - agent-control-sdk 8.11.0, Apache-2.0&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://thenewstack.io/galileo-agent-control-open-source/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=thenewstack.io&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://thenewstack.io/galileo-agent-control-open-source/&lt;/a&gt; - independent coverage of the launch&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://news.ycombinator.com/item?id=47355862&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=news.ycombinator.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://news.ycombinator.com/item?id=47355862&lt;/a&gt; - the 2-point, zero-comment launch thread, the thin community footprint this note records&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
