Human in the loop
Approve the exact operation, once.
REQUIRE_APPROVAL pauses a tool before execution and creates a time-bounded dashboard request.
Resume after review
try:
agent.tools[0](invoice_id="INV-100", amount=250)
except ApprovalRequired as pending:
wait_for_review(pending.approval_id)
with security.resume(pending):
agent.tools[0](invoice_id="INV-100", amount=250)Integrity rules
Tenant, agent, action, resource and canonical arguments must match. Changed, expired, denied, already-consumed or replayed approvals fail closed.