%% You should probably cite draft-saha-aadp-04 instead of this revision. @techreport{saha-aadp-03, number = {draft-saha-aadp-03}, type = {Internet-Draft}, institution = {Internet Engineering Task Force}, publisher = {Internet Engineering Task Force}, note = {Work in Progress}, url = {https://datatracker.ietf.org/doc/draft-saha-aadp/03/}, author = {Shamik Saha}, title = {{The Agent Action Decision Protocol (AADP): Per-Action Authorization for AI Agents}}, pagetotal = 42, year = , month = , day = , abstract = {The Agent Action Decision Protocol (AADP) separates per-action authorization from an agent's identity and its standing capabilities, and gives that authorization semantics that a stateless tool permission or access grant cannot express: whether a specific proposed action, with specific argument values, may be performed now, given mutable state such as cumulative budgets, live reservations, approval lifecycle, and a kill switch. Existing agent-security work concentrates on identity -- who an agent is, what credentials it holds, and which tools it may reach; AADP addresses the complementary decision, and composes with that work rather than replacing it. This document defines a two-phase wire contract between a Policy Decision Point (PDP) that authorizes agent actions and the Policy Enforcement Points (PEPs) that perform them: verdicts with machine-readable reasons, obligations that fail closed, atomic budget reservation, an approval lifecycle, idempotency behavior, evidence sufficient to re- derive every verdict, and a set of evaluation invariants any conformant decision point must observe -- including the rule that an irreversible action is never executed autonomously. The protocol is transport-agnostic and is designed so that decision points and enforcement points can be implemented independently, in different languages, by different parties.}, }