Build zero-trust AI agents that judge intent, not just syntax Google published Part 2 of its Zero-Trust Agents series, introducing three managed runtime controls for autonomous agents on the Gemini Enterprise Agent Platform: Model Armor, Semantic Governance Policies, and Agent Anomaly Detection with Closed-Loop Remediation. The controls move security checks from agent code to the platform, where they reason about intent and behavior rather than pre-specified syntax, and are demonstrated against a single $149.00 transaction, Order #99281, containing a $29.00 USB-C Pro Docking Station and Cable and a $120.00 annual Workplace User License. The companion demo, zero-trust-agents-2, is open-sourced on GitHub and builds on Part 1's signed Cloud KMS writes, gVisor user-space kernel isolation, and input/output gateway. Part 2 of Zero-trust Agents series: runtime governance, intent gating, and adaptive anomaly remediation In Part 1 https://developers.googleblog.com/build-zero-trust-ai-agents-with-googles-agent-development-kit/ , we established three deterministic controls for autonomous agents: signed database writes with Cloud KMS, user-space kernel isolation with gVisor, and an input/output gateway backed by CI unit tests. Those controls work, but they share one limit: they only catch cases that you can explicitly specify ahead of time. A SQL parser cannot tell a socially engineered refund from a legitimate one if the syntax is valid. A regex cannot tell the difference between a physical USB cable and an opened software license. And a single-turn test suite cannot catch an agent fleet being drained across multiple turns. Part 2 keeps the same Customer Support & Returns Agent built with the Agent Development Kit ADK and moves security checks to the platform , where they reason about intent and adapt to behavior . Moving the checks to the platform also changes who owns them. Governance is defined and managed by a platform or security administrator, separate from the agent developer, \because the platform enforces it outside of the agent code. Deploying to the Gemini Enterprise Agent Platform , we replace self-hosted container infrastructure and explicitly managed regex lists with managed runtime governance: Model Armor https://cloud.google.com/security/products/model-armor , Semantic Governance Policies https://docs.cloud.google.com/gemini-enterprise-agent-platform/govern/policies/semantic-governance-overview , and Agent Anomaly Detection https://docs.cloud.google.com/gemini-enterprise-agent-platform/agent-anomalies-overview with Closed-Loop Remediation. We kept the same Customer Support and Returns Agent from Part 1. It looks up orders, computes restocking fees, and pays refunds against a merchant ledger. When a customer asks for a return, the agent reads the order with verify order and determines the final refund amount with calculate restocking fee , which runs inside Agent Sandbox, the platform's managed sandbox for model-generated code. If the refund checks out, it calls issue refund to commit the payout, signing the request with the agent's own Cloud KMS asymmetric key, the same hardware-backed identity from Part 1. In production, an agent would typically invoke these capabilities through tools exposed via the Model Context Protocol MCP or backend APIs. For simplicity in our companion demo, we implement them directly as local Python functions. To keep the attacks concrete, we run all of them against a single transaction: Order 99281, $149.00 in total. It carries two line items: a USB-C Pro Docking Station and Cable at $29.00, and an annual Workplace User License at $120.00. That split between physical and digital goods is what the next two attacks turn on. All the code, policy declarations, and interactive simulators featured below are available in the open-source companion demo: zero-trust-agents-2 https://github.com/GoogleCloudPlatform/generative-ai/tree/main/agents/adk/zero-trust-agents-2 . A zero-trust runtime assumes each individual request can look valid and still be part of an attack. Instead of hard-coding every rule in advance, it enforces three managed controls, all applied through Agent Gateway, the runtime enforcement point that intercepts and governs interactions between the user, the agent, its model, and its tools. These controls are: Each control covers what the others cannot. Model Armor filters the payload, the policy engine reasons about intent, and anomaly detection watches behavior over time. In Part 1, the attacker sent a brute-force payload: