The autonomy ladder says what an agent may do; guardrails make everything else impossible and everything it does reviewable. This playbook gives each agent its own scoped identity, complete audit logging, sandbox isolation, spend caps, and a kill switch with a named owner — so agent actions are governed like the production actions they are.
Workflow area: Policy & Governance · Tier: Advanced · Hands-on time: ~40 minutes
The most common agent deployment mistake is invisible: the agent runs on an engineer's personal credentials. Every action it takes is indistinguishable from the human's, every permission the human has, the agent has, and when something goes wrong the audit log points at a person who may have been asleep. Guardrails are 90% identity hygiene you already know from production services — applied to a new kind of service that writes code and spends money.
Inventory every agent and give each its own identity. No shared accounts, no personal tokens. Each agent gets a service identity (cloud IAM role, bot account, deploy key) named for what it is — agent-dep-bumper, not svc-misc-3. List them in one place with owner, purpose, rung, and credential location. If you cannot complete this inventory, that is the finding: you have agents you cannot enumerate.
Scope credentials to least privilege, and time-box them. Per agent: which repos (write to branches, never to main), which APIs, which environments (production read-only at most until rung 3 explicitly allowlists an action), which MCP servers and which tools within them. Short-lived tokens over long-lived secrets everywhere the platform allows. The test: for each permission, name the task that needs it; no task, no permission.
Log every action to an append-only trail with dual attribution. Every agent action records the agent identity, the initiating human (who launched or approved the run), timestamp, action, target, and outcome — routed into the same log pipeline as production audit events, not a local file the agent can edit. Sample of what a reviewable trail looks like:
2026-08-06T14:02:11Z agent-dep-bumper init=priya.k action=branch.push
target=payments-svc/deps-aug outcome=ok rung=2
2026-08-06T14:03:40Z agent-dep-bumper init=priya.k action=pr.open
target=payments-svc#412 outcome=ok gates=pending
2026-08-06T14:09:02Z agent-dep-bumper init=priya.k action=api.call
target=npm-registry outcome=DENIED reason=domain-not-allowlisted
The DENIED line is the health signal — a log with no denials means either perfect scoping or a scope so wide nothing gets refused.
Isolate execution and cap the spend. Agents run in sandboxes — containers or ephemeral environments with no route to production data stores, egress restricted to an allowlisted set of domains. Set hard monthly and daily spend caps per agent (tokens and cloud cost) with alerts at 50% and 80%; a looping agent is a bill and sometimes an outage, and the cap converts both into an alert.
Name the kill-switch owner and drill it. For every agent: the exact command or console action that stops it, who is authorized to pull it (a role with 24/7 coverage — usually whoever holds the pager), and the pre-agreement that pulling it never requires permission, only a post-hoc note. Then drill it once: stop a live agent, verify in-flight actions terminate safely, verify the log shows the stop. A kill switch nobody has tested is a diagram.
Review the trail on a cadence. Weekly at first, monthly once stable: skim denials, spend against caps, and a random sample of actions checked against the rung's allowlist. Fifteen minutes; this review is also your pb-29 promotion evidence and your pb-31 incident forensics, so it pays three times.
Dual-attribution logs record which humans ran which agents and how often — that is workforce surveillance data the moment it leaves the governance context, so restrict trail access to incident response and control review, publish that restriction, and keep it out of any individual performance discussion (pb-38's rules apply here in full).
Treat every agent like a production service with a keyboard — its own least-privilege identity, an append-only trail naming both the agent and the human behind it, a sandbox, a spend cap, and a kill switch someone has actually pulled — because the ladder only governs what the guardrails make visible.