AI Agent Approval Policy: Practical Template

AI Agent Approval Policy: Practical Template

Build an AI agent approval policy with action tiers, exact approval payloads, reviewer roles, timeouts, rejection behavior, evidence and tests.

AI Agent Approval Policy: Practical Template

An AI agent approval policy defines which actions are denied, which can run autonomously and which must pause for a named person to review the exact proposed effect before execution. A useful policy also defines who may approve, what evidence they receive, when the decision expires, what happens on rejection or timeout and which record proves the rule was enforced.

“Require human approval for risky actions” is a principle, not an operating policy. It leaves the runtime, reviewer and incident team to guess what “risky,” “approval” and “human” mean at the moment of action.

This template turns that principle into an enforceable contract. It is not a security certification or a substitute for legal, privacy or sector-specific review.

The approval contract in one table

Policy questionRequired answerBlock the action when
What may happen?Exact action, target, scope and maximum effectThe requested effect is broader than the rule
Who is acting?Agent, workflow, user and credential identityIdentity or delegated authority is unclear
Which tier applies?Deny, observe, bounded autonomy, single approval or stronger reviewNo rule matches
Who may approve?Named role with authority and separation where requiredThe requester can approve its own expansion
What must the reviewer see?Exact arguments, current state, expected change, evidence and recovery pathOnly a persuasive summary is available
How long is approval valid?Expiry, change invalidation and replay ruleState or payload changed after approval
What happens on no?Reject, stop, record and require a new request for changed workThe agent retries or rephrases the same action
What proves enforcement?Policy version, decision, identity, timestamp, execution receipt and outcomeThe record cannot connect approval to execution

Approval is only one control. The agent still needs scoped credentials, tool restrictions, validation, audit logs, safe failure and a named operating owner.

1. Inventory actions, not just tools

A tool name is too broad for policy. One CRM tool may read a company name, change an opportunity stage, export every contact or delete a record. These effects need different rules.

Inventory each action using:

  • agent and workflow;
  • tool and operation;
  • resource and data class;
  • read, draft, write, send, delete or permission change;
  • internal or external effect;
  • reversible or hard-to-reverse effect;
  • maximum value, volume and frequency;
  • customer, financial, legal, security or production impact;
  • credential used for execution;
  • downstream actions triggered by the change;
  • owner and fallback owner.

Start from deny when an action has no owner or no defined business need. A model should not create its own authority because it found a technically available tool.

NIST's AI RMF calls for clear roles, responsibilities, human oversight processes and documented application scope. The action inventory is where those governance decisions become concrete.

2. Assign a decision tier

The following matrix is an implementation starting point. Adapt it to the business and applicable obligations.

TierDefault behaviorSuitable examplesEvidence required
0. DeniedDo not expose or executeUnowned action, privilege escalation, unsupported legal commitmentDenial event and owner for remediation
1. ObserveAllow scoped read onlyRetrieve approved policy, inspect one assigned recordIdentity, source and read trace
2. Bounded autonomousAllow inside deterministic limitsAdd an internal tag, create a draft, update a reversible field inside scopeValidation, limit check, receipt and rollback
3. Single approvalPause for an authorized reviewerSend external communication, change a customer record, execute a sensitive writeExact payload, consequence, reviewer and expiry
4. Independent reviewRequire stronger separation or multiple reviewersHigh-value financial action, deletion, production change, authority expansionIndependent decisions, tested recovery and complete receipt

The policy can also deny an entire class regardless of approval. Some actions should stay outside the agent path because no practical review can make the exposure acceptable.

Do not route every action to a person. AWS's current Agentic AI Lens warns that indiscriminate review creates approval fatigue and rubber-stamping. Human attention should concentrate on decisions where judgment can change the outcome.

3. Classify risk outside the agent

Use deterministic properties that the application can verify:

  • action type and target;
  • permission required;
  • reversibility;
  • data sensitivity;
  • external visibility;
  • financial value;
  • number of affected records or people;
  • production or customer impact;
  • novelty relative to the approved workflow;
  • input source and trust level;
  • recent anomaly, rate or retry pattern.

The agent may propose a classification, but it should not be the only component deciding whether its own action needs approval. A policy engine, tool wrapper or workflow rule should enforce the tier before the side effect.

AWS explicitly cautions against relying on a risk classifier exposed to the same untrusted content as the request. OWASP similarly recommends least privilege and human confirmation for high-impact or irreversible actions, especially when untrusted input can influence the agent.

4. Show the exact action, not a story

An approver needs a reviewable artifact. The approval request should include:

Request ID:
Policy version:
Agent and workflow:
Requesting user or system:
Tool and operation:
Credential identity:
Target resource:
Current state:
Exact proposed arguments or diff:
Expected external effect:
Downstream effects:
Evidence and source links:
Matched policy rule:
Risk tier and reason:
Reversibility:
Rollback or compensation:
Idempotency key:
Decision deadline:
Approver role:

The current state and exact payload matter more than the agent's explanation. If the payload contains an email, show recipient, subject, body and attachments. If it changes a database record, show the fields before and after. If it runs a command, show the resolved executable and arguments.

Do not expose hidden reasoning or unnecessary personal data. Give the reviewer the facts needed to decide, with access controls appropriate to the underlying record.

OpenAI's Agents SDK pauses before a tool call that requires approval and surfaces the tool name and arguments through an interruption. The implementation still owns the approval interface, reviewer identity, policy and operating record.

5. Bind approval to one immutable proposal

An approval should authorize a specific effect, not a future family of actions.

Bind the decision to:

  • request ID;
  • action and arguments;
  • target and current-state version;
  • policy version;
  • agent and credential identity;
  • approver identity;
  • timestamp and expiry;
  • maximum value, volume or scope;
  • idempotency key when the action can be retried.

Invalidate approval when a material field changes. New recipient, new amount, new attachment, new command argument, changed target state or a different policy version requires a new decision.

Avoid broad “always approve” choices for external or high-impact tools. Platform features that persist a decision for a run are implementation conveniences, not a reason to turn a narrow review into standing authority.

6. Define who can approve

Name roles, not an undefined “human.”

ActionRequesterApproverBackupSeparation rule
Customer-facing messageSales or support agentAccount owner or shift leadOperations leadAgent cannot self-approve
Refund within approved bandService workflowAuthorized service managerFinance ownerAmount and customer identity visible
Production changeEngineering agentOn-call engineerService ownerReviewer did not author the request when impact is critical
Permission expansionPlatform workflowSystem ownerSecurity ownerNew authority never inherits prior approval

The approver must have both authority and enough context. Seniority alone does not make someone qualified to review a database migration, customer promise or financial action.

For the highest-impact operations, the business may require independent reviewers. AWS describes multiple independent reviews as a defense against error and social engineering. The right threshold is a business decision, not a universal number.

7. Make timeout and rejection fail closed

Every approval request needs a terminal path:

  • Approved: execute the exact bound action before expiry.
  • Rejected: record the decision and stop that action.
  • Expired: do not execute, then cancel or create a fresh request.
  • Canceled: close the request because the workflow or underlying state changed.
  • Escalated: send the same reviewable artifact to an authorized backup.

Silence is not approval. If the reviewer is unavailable, the fallback should be deny, wait or transfer to a defined owner, according to the workflow.

When rejected, the agent must not retry the same effect with different wording. A reviewer can provide a reason or a permitted alternative. Materially changed work becomes a new request with a new ID.

OpenClaw exposes an askFallback setting and documents deny as the safe fallback when an approval route is unavailable. Its execution approvals also remain separate from per-user authorization and broader host isolation.

8. Execute safely after approval

Approval does not guarantee that execution is safe or still appropriate. Immediately before the action:

  1. authenticate the execution identity;
  2. confirm the approval is valid and unused;
  3. recheck the policy and current state;
  4. validate exact arguments and limits;
  5. acquire idempotency protection or a transaction boundary;
  6. execute with the narrow credential;
  7. capture the provider or system receipt;
  8. verify the expected post-state;
  9. alert the owner if the result is partial or different;
  10. consume the approval so it cannot be replayed.

If the action fails halfway, do not report success. Run the defined rollback or compensation path and preserve the partial result for incident review.

9. Keep an evidence chain

The audit record should connect:

input → proposal → policy decision → human decision → execution → verified outcome

Keep:

  • input reference and trusted source links;
  • agent, model, instruction and tool versions;
  • matched policy rule and risk signals;
  • approval artifact and reviewer identity;
  • approve, reject, expire or cancel decision;
  • exact executed payload;
  • external receipt or system diff;
  • post-execution validation;
  • rollback or incident reference;
  • retention and access policy.

Logs should record what actually happened, not only what the agent said it intended to do. Review approval rate, rejection reasons, queue time, expiry rate, overrides, repeated requests and incidents by action class.

Copyable policy template

policy:
  id: customer-operations-agent
  version: 1
  owner: operations
  default: deny

actions:
  - id: crm.read_assigned_account
    tier: observe
    limits:
      records: 1
      assignment_required: true

  - id: crm.update_next_step
    tier: bounded_autonomous
    limits:
      fields: [next_step, follow_up_at]
      records_per_run: 1
      reversible: true
    evidence:
      - source_record
      - validation_result
      - execution_receipt

  - id: email.send_customer
    tier: single_approval
    approver_roles: [account_owner, sales_lead]
    bind_to:
      - recipient
      - subject
      - body
      - attachments
      - policy_version
    expires_in_minutes: 30
    on_reject: stop
    on_timeout: deny
    retry_requires_new_request: true

  - id: access.expand_permissions
    tier: independent_review
    approver_roles: [system_owner, security_owner]
    reviewers_required: 2
    prior_approval_inheritance: false

evidence:
  record:
    - request_id
    - agent_id
    - workflow_id
    - tool_and_arguments
    - matched_rule
    - reviewer_identity
    - decision_and_timestamp
    - execution_receipt
    - verified_outcome

This is a policy shape, not drop-in configuration for every platform. Translate it into the runtime's policy engine, tool wrappers, identity system and workflow store.

Test the policy before live authority

At minimum, test:

ScenarioExpected result
No rule matchesDenied without tool execution
Payload exceeds value or volumeHigher tier or denial
Reviewer sees requestExact target, arguments, evidence and consequence are visible
Reviewer rejectsAgent stops and does not rephrase the same request
Nobody respondsRequest expires and action does not execute
Payload changes after approvalPrior decision becomes invalid
Same request is delivered twiceOne execution at most
Credential lacks permissionAction fails safely despite approval
Execution partially failsCompensation or incident path starts
Agent requests more authorityFresh independent review is required
Policy changesVersioned tests run before rollout

Add real failures to the evaluation set. Approval quality is part of the production pilot, so connect the policy to the AI automation pilot measurement scorecard and the broader AI agent production readiness checklist.

Frequently asked questions

Which AI agent actions need human approval?

Actions usually deserve approval when they create an external effect, change sensitive data, move money, affect production, delete information, expand authority or are hard to reverse. The exact rule should reflect impact, scope, credentials and the business's risk decisions.

Should every AI agent action require approval?

No. Blanket approval can create queues and rubber-stamping. Deny unsupported actions, allow narrow read-only or reversible work under deterministic limits and reserve human attention for meaningful risk.

Is human approval the same as authorization?

No. Authorization determines what the executing identity can access or change. Approval records a decision about one proposed action. The underlying credential should still have the minimum permissions required.

What should an approval request show?

Show the exact target and arguments or diff, current state, expected effect, source evidence, matched policy, reversibility, recovery path, expiry and reviewer role. A generic natural-language summary is not enough for a high-impact decision.

What happens when an approval is rejected?

The action stops and the decision is recorded. The agent should not silently retry the same effect. A materially changed proposal needs a new request and a new approval decision.

Can an approval remain valid after the payload changes?

Not for a material change. Bind approval to the exact proposal and invalidate it when the recipient, amount, target, attachment, command, current state or policy version changes.

Primary references


An approval policy is useful when the runtime can enforce it and the operation can prove it. Map the policy, tools and human control for a business AI system before granting live authority.

AI AgentsHuman ApprovalAI GovernanceAgent SecurityOperations