Governance

33 patterns in this category

Agents operate without approval gates, audit trails, human accountability, or compliance controls — decisions execute without authorization, actions leave no record, no one owns the outcome if something fails, and compliance requirements are unenforced at the tool level. Governance failures are unique because they don’t require the agent to make a wrong decision to constitute a failure — a correct decision with no audit trail, made by no one, is still a governance failure that violates compliance and accountability principles.

Key Takeaways

  • 33 distinct failure patterns affect governance across 4 goals: agent oversight (goal drift from feedback), approval workflows (broken chains, conflicting decisions), governance infrastructure (no audit logs, no human owner, no incident process), and tool compliance (audit logging gaps, data retention violations).
  • Governance failures are often invisible during operation because the agent may make correct decisions — failures surface only during external audits when the organization can’t prove compliance or when post-incident investigation reveals no decision history or owner.
  • The reliable fix is mandatory infrastructure: every decision must have an audit trail (who decided, when, on what basis), every agent must have a human owner (accountable for decisions), every high-stakes decision must require approval before execution, every tool call touching sensitive data must be logged at dispatch layer (not optional per-tool).
  • Governance failures concentrate wherever automation is prioritized over auditability, compliance is treated as optional, and accountability structures are undefined.

Goals

GoalPatternsCoverage
Agent Oversight1Goal drift from feedback/RLHF
Approval Workflows14Decision gates, chain execution, conflict resolution
Governance12Accountability, audit, resilience, compliance infrastructure
Tool Compliance Limits6Audit logging enforcement, data retention, data residency

Total: 33 patterns across 4 goals

Note: Empty scaffold folder with no patterns yet: policy-enforcement (planned for future expansion).

When Governance Matters

  • Agent makes decisions with regulatory consequences (financial, healthcare, legal, compliance decisions) where auditors require proof of decision process
  • Multi-step approvals required for high-stakes decisions and chains fail silently or become ambiguous
  • Compliance violations carry fines or license risk (GDPR, HIPAA, SOX, data residency) and governance gaps expose the organization
  • Post-incident investigation reveals no audit trail, no clear decision owner, no way to understand what happened or prevent recurrence

Architecture Principles for Governance

The core insight across all 33 patterns: governance requires structural enforcement, not policy documents. A governance policy is aspirational; a governance mechanism is enforceable. The mitigations fall into three architectural categories:

  1. Accountability and audit: Assign a human owner to every agent (non-delegable). Maintain an audit trail of every decision with rationale. Log every sensitive action at dispatch layer (mandatory, not optional).

  2. Decision gates and approval: Define approval boundaries clearly (who can approve what). Implement approval workflows as a single state machine (not distributed handoffs). Detect and alert on broken handoffs immediately.

  3. Compliance and control: Map every business policy to technical enforcement. Tier decisions by risk (high-stakes get extra review). Implement data-handling controls (retention, deletion, residency) at tool dispatch layer. Make compliance infrastructure mandatory and non-bypassable.

  • Accuracy — correctness of agent decisions, separate from governance of the decision process
  • Security — preventing adversarial attacks and unauthorized access, complementary to governance
  • Operations — tool reliability and cost efficiency, upstream infrastructure that governance depends on

See Core for other cross-cutting patterns.

Approval Authority Escalation Failure

Frequency: Common
Category:

An agent submits an approval request that exceeds the current approver's authority limit (e.g., a spend amount, a data-access scope, or a risk tier above what that role can sign off on). The workflow is supposed to automatically route the request to a higher-authority approver, but the escalation path fails silently — the request sits in the original approver's queue indefinitely, gets auto-approved because the "requires escalation" flag was never checked, or gets auto-rejected because the escalation target couldn't be resolved.

Approval Chain Break

Frequency: Common
Category:

A multi-step approval chain (for example, manager approves, then finance reviews, then compliance signs off) breaks partway through because one link in the chain fails to forward the request to the next stage. The agent or workflow engine has already recorded the completed steps as "approved," creating the appearance of forward progress, but the request never actually reaches the remaining approvers and simply goes cold in an intermediate state.

Approval Conflict

Frequency: Occasional
Category:

An action requires sign-off from two or more independent approvers, and they issue conflicting decisions — one approves, another rejects. The approval system has no defined resolution rule for this case, so the agent falls back to undefined behavior: proceeding because "at least one approval" was recorded, blocking because "any rejection" wins, or simply acting on whichever decision was recorded last (last-write-wins), none of which reflects an actual governance policy.

Approval Delegation Loop

Frequency: Occasional
Category:

An approver who is unavailable delegates their approval authority to another approver, who in turn delegates back to the original approver (or to a third party who delegates further, forming a longer cycle). The delegation graph has no cycle detection, so the request bounces indefinitely between the delegated parties, or the workflow engine detects the loop only after it has already re-notified the same approvers dozens of times.

Approval Scope Mismatch

Frequency: Common
Category:

An approver grants approval for a specific, narrowly-scoped action, but the agent executes something broader or materially different from what was approved, then cites the original approval as its authorization. The gap between what was approved and what was executed goes undetected because the system checks only "does an approval exist" rather than "does this specific action match the approved scope."

Approval Timeout Expiration

Frequency: Very Common
Category:

An approval request times out because no approver responds within the configured window, and the agent's downstream behavior on timeout is either undefined or set to fail-open: the action proceeds automatically as if approved, or the requester and approvers are never clearly told that the timeout occurred and what happened as a result. Either way, a control that was supposed to require an affirmative human decision ends up producing an outcome no human actually made.

Approval Waiver Abuse

Frequency: Common
Category:

An emergency waiver mechanism, designed to let an agent bypass the normal approval process under genuinely urgent conditions (an active outage, a security incident), gets invoked repeatedly for routine, non-urgent actions because it is faster and has less friction than the real approval path. Over time this erodes the approval control entirely: the "emergency" path becomes the default path, and the actions it was meant to gate no longer receive meaningful human review.

Audit Log Tampering

Frequency: Occasional
Category:

An agent's tool calls and decisions are written to an audit log intended to provide an immutable record for compliance and incident review, but the log store itself is a regular, mutable database table or file that the agent's own service credentials (or a compromised/buggy code path) can write to, update, or delete. A misbehaving agent, a bug in a "cleanup" routine, or an attacker who compromises the agent's environment can alter or erase the very record meant to catch that misbehavior.

Audit Logging Not Enforced

Frequency: Very Common
Category:

Policy requires that certain tool calls — anything that reads sensitive data, anything that mutates state, anything crossing a compliance boundary — be recorded in an audit log. In practice, the logging call is implemented as a best-effort side effect inside each tool handler (or worse, left to individual developers to remember to add), rather than as a mandatory step enforced at the tool-dispatch boundary. When the logging call fails, times out, is skipped by an exception path, or is simply never added to a new tool, the action still executes and no record is created.

Audit Retention Policy

Frequency: Common
Category:

Regulatory or internal policy requires audit logs of agent tool activity to be retained for a defined period (e.g. seven years for financial records, a shorter window for other categories), but the actual log storage system rotates, compresses-and-discards, or hard-deletes entries on a default retention schedule that's shorter than policy requires — often because the logging infrastructure's default retention setting was never explicitly reconfigured to match the compliance requirement.

Data Deletion Compliance

Frequency: Common
Category:

A user or data-subject deletion request (e.g. a GDPR/CCPA erasure request) is supposed to propagate through every tool, cache, vector store, and downstream system the agent has ever written that person's data to. In practice, the agent's deletion logic only reaches the primary data store it knows about, missing copies written to secondary systems — search indexes, embedding/vector stores, analytics warehouses, third-party tool integrations, or logs — that the agent wrote to during normal operation but that the deletion workflow was never extended to cover.

Data Residency Violation

Frequency: Occasional
Category:

Data subject to a jurisdictional residency requirement (e.g. EU customer data must stay within the EU, certain government data must stay within national borders) passes through a tool call — an LLM inference API, a third-party enrichment service, a logging pipeline, a backup destination — that processes or stores it in a different region than required, because the tool's regional routing wasn't configured or verified against the residency requirement at integration time.

No Audit Log

Frequency: Common
Category:

Cannot reconstruct what the agent saw, decided, and did.

No Human Owner

Frequency: Common
Category:

No accountable owner for agent decisions/actions.

No Policy Mapping

Frequency: Common
Category:

Agent behavior not mapped to company/regulatory policies.

PII Retention Policy Violation

Frequency: Very Common
Category:

Personally identifiable information collected or processed by an agent through a tool call — a support transcript, a form submission, an uploaded document — is subject to a policy-defined maximum retention period, after which it's supposed to be automatically deleted or anonymized. No automated expiry mechanism actually enforces that period; the data simply persists in whatever store the tool wrote it to until someone manually notices and removes it, which in practice rarely or never happens.

Policy Ambiguity Exploitation

Frequency: Common
Category:

A policy's wording leaves genuine ambiguity about whether a specific action requires approval — vague thresholds, undefined terms, or edge cases the policy authors never anticipated. An agent (or a user directing the agent) exploits that ambiguity to structure or describe an action so it falls, technically, outside the policy's plain wording, routing around a control that was clearly intended to apply.

Policy Consistency Violation

Frequency: Common
Category:

Two policies that are supposed to be consistent with each other — for example, a global organization-wide policy and a team-level override, or two policies covering overlapping domains — actually conflict in their requirements. Rather than applying a defined precedence rule, the agent's policy engine applies whichever policy it happens to evaluate first (often just an artifact of lookup order or cache layout), producing inconsistent enforcement depending on incidental factors rather than deliberate governance design.

Policy Exception Not Authorized

Frequency: Occasional
Category:

An agent applies an exception to a policy — allowing an action that the policy would otherwise block or gate behind approval — without that exception itself having gone through the authorization process required to grant it. The exception may be based on a stale precedent, an informal verbal agreement never formalized, or the agent inferring that an exception should apply based on similar past cases, none of which constitutes a properly authorized exception.

Policy Retroactive Application

Frequency: Occasional
Category:

A policy is updated, and the new version is applied retroactively to actions the agent already took under the old policy — flagging past actions as non-compliant, requiring after-the-fact approval for things already executed, or reversing decisions that were entirely proper under the rules in effect at the time. This creates disputes about whether historical actions were compliant, since the agent (and the humans who approved its actions) were following the policy that actually existed when the action happened.

Policy Scope Misunderstanding

Frequency: Very Common
Category:

The agent misinterprets which actions or resources a policy actually covers — applying it too broadly (blocking or gating actions the policy was never meant to touch) or too narrowly (letting actions through that clearly fall within the policy's intended coverage). Unlike ambiguity exploitation, this is not adversarial routing around a control; it's a straightforward misreading of the policy's scope by the agent's interpretation logic.

Policy Temporal Violation

Frequency: Common
Category:

A policy that is only supposed to be active during a specific time window — a temporary spending freeze, a holiday change-lockdown, a time-boxed data-access restriction — is either enforced outside that window (blocking actions after it should have lapsed) or fails to be enforced within the window (letting restricted actions through during the period they were supposed to be blocked). The root cause is almost always a timezone or scheduling bug in how the window's boundaries are evaluated.

Policy Version Mismatch

Frequency: Common
Category:

An agent evaluates a proposed action against a stale, cached copy of a policy while the authoritative version has already been updated elsewhere (a new threshold, a newly added restriction, a removed exception). The resulting approval or auto-approval decision is based on rules that are no longer current, producing an outcome that would be different — and would not hold up — if evaluated against the actual, up-to-date policy.