Security · Guide
An approval should authorize an exact version of an action
Stop stale approvals from authorizing a changed draft or destination.

The approval gap
Consider an illustrative quotation assistant. A manager approves a draft, the customer address changes, and a queued job later sends the revised document. The visible approval exists, but it no longer describes what happened. Treat approval as a record of an exact action version: destination, material content, attachments, business record version, and relevant limits. A yes in a conversation is too ambiguous for this job.
Bind and recheck
Create a pending action with a stable identifier and content fingerprint. Show a readable summary and material fields to the approver, then persist who approved which version and when. Before executing, recheck permissions, expiry, and the fingerprint. Any material change should invalidate the approval. Avoid using a fingerprint alone as the interface; people need to understand the action they are authorizing.
Workflow at a glance
Different actions need different reviewers
A draft label change and an external message deserve different review paths. Define a small action matrix with owner, reviewer, validity period, and escalation route. Prevent the requester from silently assigning themselves a higher approval role. OWASP’s agent and authorization material supplies relevant control principles; this article proposes a versioned-action pattern, not a claim that clicking approval makes an operation safe or compliant.
Exercise the waiting period
Test a changed recipient, a removed manager, a replaced attachment, a duplicate click, and a job that wakes after approval expiry. The expected outcome should be no side effect and a useful explanation, not a cryptic failure. Track approval age and reapproval frequency so controls do not become an invisible backlog. If too many actions expire, improve the workflow design instead of extending every approval indefinitely.
Evidence for a disputed approval
Use a synthetic dispute to recover an exact approved version without opening unrelated data. Connect requester, reviewer, action, and outcome. Preserve rejected and expired states. Any later corrective action needs its own authorization instead of rewriting the old record to make the history look successful.
Sources and further reading
- Authorization Cheat SheetAuthorization Cheat SheetOWASP · Documentation ·
- LLM Prompt Injection Prevention Cheat SheetLLM Prompt Injection Prevention Cheat SheetOWASP · Documentation ·
Editorial approach
AI-assisted original writing, checked against linked public sources. Practical recommendations and illustrative scenarios are editorial analysis, not reported client results. Source dates and product details may differ from this collection’s preparation date.