Internet-Draft decision-subject July 2026
Aravind Expires 20 January 2027 [Page]
Workgroup:
Web Authorization Protocol
Internet-Draft:
draft-aravind-oauth-decision-subject-00
Published:
Intended Status:
Informational
Expires:
Author:
A. A. Aravind
Independent Researcher

Decision-Subject Representation for Agent Authorization

Abstract

This document defines dsub, an OPTIONAL, descriptive claim naming the decision subject, the party an automated agent's action is taken upon, as distinct from the acting agent (act) and the delegating principal (sub). Its purpose is audit legibility: letting a record name the party a decision concerns, which is the precondition for that record ever being made legible to them. The claim is privacy-minimizing by construction and is NOT an input to the authorization decision; a Policy Decision Point MUST ignore it. This document defines representation only.

About This Document

This note is to be removed before publishing as an RFC.

Status information for this document may be found at https://datatracker.ietf.org/doc/draft-aravind-oauth-decision-subject/.

Discussion of this document takes place on the Web Authorization Protocol Working Group mailing list (mailto:oauth@ietf.org), which is archived at https://mailarchive.ietf.org/arch/browse/oauth/. Subscribe at https://www.ietf.org/mailman/listinfo/oauth/.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 20 January 2027.

Table of Contents

1. Introduction

[RFC8693] and the agent-authorization profiles built on it model who acts (act) and who delegated (sub, [RFC7519]). A growing class of agent actions are decisions made about a third party who is neither the agent nor the delegator, and in the bystander case not the owner of the resource the action touches either. For these there is no way to name the party the action concerns; the concrete consequence is that an audit record cannot be addressed to it.

The gap is practical, not merely theoretical. In guardianship and delegated-operation cases, where one person operates a wallet that holds credentials for others, the presentation names the credential subject, but no independent record, one that records what was disclosed on their behalf, is addressed to the represented party. More generally, any pipeline that records denials, rankings, or eligibility outcomes as successful operator outputs leaves the party the outcome landed on unnamed. The party the record most concerns is often the party the record leaves out.

Legal and institutional systems sometimes know that party (liability clauses, remedy schedules). Technology-layer records frequently do not. This document supplies a minimal name for the role so that technology-layer records can carry it.

This document is orthogonal to the actor/principal work, not a correction of it: the Actor Profile describes the acting chain; dsub names the object of the action. Where the decision subject is the delegating principal (an agent acting on the user's own resources), dsub is absent. Naming who operated is a distinct companion gap, addressed in the separate operator-of-record draft [OPR].

2. Terminology

Not the authorization subject. In OAuth (sub), AuthZEN [AuthZEN], and XACML, "subject" is the party making or authorized for a request: the acting side. The decision subject is the party a request is about. In the AuthZEN encoding (Section 9) the authorization subject is the agent and the decision subject appears only under context; a reader who maps "decision subject" onto the authorization subject has inverted the role. More broadly, the decision subject is an independent role, defined by the decision and its consequence rather than by credential contents, authorization, or data processing: it may coincide with the credential subject, the delegating principal, or the resource owner in the simple case (a party acting on itself), and remains a distinct semantic role in every case, though the claim is omitted on the wire whenever that party is already named by sub or the resource (Section 3).

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. When dsub applies (and when it MUST be omitted)

Table 1
The party you mean is... Name it with... Already in the request?
the object the action reads/writes resource ([RFC9396] / AuthZEN) yes
the controller/owner of that object dereference from resource yes
the human the decision is about, who may own nothing dsub no (the gap)

Worked example (bystander). An agent posts a statement about Carol on Dave's timeline, on behalf of user U. sub = U; resource = Dave's timeline; owner = Dave; dsub = Carol, neither the resource nor its owner. Without dsub, Carol is unnameable on the record.

Worked example (eligibility). An agent screens applicant A for product P on behalf of lender L. sub = L; resource = P (or the application object); dsub = A. The decision is about A even when A never holds a token in the exchange.

In every case where the subject coincides with sub or the resource owner, dsub adds nothing and MUST be omitted, which is what keeps it from being the resource owner, re-labelled.

4. The claim is descriptive, not authorizing

A Policy Decision Point MUST ignore dsub when rendering allow/deny. The claim carries no authority and grants none; its sole function is audit legibility: naming the party a decision is about. dsub adds a role to the record without adding any path to privilege.

Readership is bound to the Auditor role. dsub is written to appear in audit records and, at most, in the decision-time context an Auditor later reads, never as a decision input. Deployments that key authorization on dsub are non-conformant with this document.

5. Container (which record carries it, and why not the access token)

The decision subject is determined per action. An OAuth access token is per-session, minted before target selection, and flows to a party that is not the subject: the wrong container on timing and privacy grounds. This document does not define dsub as an access-token claim.

Conformant containers, in preference order:

  1. Audit records (PRIMARY). A SCITT signed statement / COSE Receipt ([RFC9943] / [RFC9942]), or a typed record under [I-D.kuehlewind-audit-architecture]. Integrity from the signature over the statement.

  2. AuthZEN evaluation-context attribute (RECOMMENDED for live PEPs). Carried as context.decision_subject, the single AuthZEN context key defined for this claim (a JWT-encoded context uses the registered name dsub), recorded by the PDP shell without being passed to the decision engine.

  3. Transaction token (OPTIONAL). [I-D.ietf-oauth-transaction-tokens] (per-action container).

6. Privacy considerations (design premise, not a footnote)

The decision subject is frequently a data subject not party to the exchange. Data minimization is the design premise:

  1. The handle MUST be a pseudonymous, purpose-bound reference. It MUST NOT be a re-identifiable global identifier (no raw email, national ID number, account number, or stable cross-context subject identifier).

  2. It SHOULD be a per-purpose pairwise pseudonym, so the same natural person is not linkable across purposes or deployments without authorized resolution.

  3. It SHOULD be resolvable only by parties authorized to act on the subject's behalf. Resolution itself is out of scope (Section 8).

  4. Addressability is not visibility. The role is defined to be invocable by the party against the record, not legible on the artefact. Where publishing the marker itself would cause harm, the record carries only the pseudonymous handle and routes any resolution through governed back-end attributes.

This document enables expression of a role often already present in unstructured form. It does not authorize any new collection of personal data.

7. Security considerations

Because the claim is non-authorizing (Section 4), a forged dsub cannot escalate privilege. Integrity derives from the signature over its container.

8. Non-goals

This document does NOT define:

Naming is the precondition for later reachability work. It is not that work.

9. Claim syntax

dsub is a decision-subject reference, or an array of them (an action MAY concern several subjects). A reference is either:

No endpoint, URI, or contact field is defined here (deferred addressability work). Absent a distinct third-party subject (Section 3), dsub is omitted.

AuthZEN evaluation-context encoding (RECOMMENDED):

{
  "subject":  { "type": "Agent", "id": "agent-7f3a" },
  "action":   { "name": "Screen" },
  "resource": { "type": "Application", "id": "app-42" },
  "context":  {
    "decision_subject": {
      "handle": "ppid:9c1e...a4",
      "scheme": "pairwise-sha256",
      "purpose": "eligibility-audit"
    }
  }
}

JWT / SCITT-style signed statement encoding:

{
  "iss": "https://issuer.example",
  "iat": 1751000000,
  "sub": "lender-L",
  "act": { "sub": "agent-7f3a" },
  "dsub": {
    "handle": "ppid:9c1e...a4",
    "scheme": "pairwise-sha256",
    "purpose": "eligibility-audit"
  }
}

10. Relationship to existing mechanisms

11. Considered alternatives

Table 2
Alternative Why it does not cover dsub
[RFC9396] authorization_details (RAR) An authorization construct; contradicts Section 4; targets the resource, not a bystander subject.
A nested / second sub sub is the delegating principal ([RFC7519] / [RFC8693]); overloading it reintroduces authorization semantics.
resource indicator ([RFC8707]) / AuthZEN resource Names the object acted on, not the human the decision is about.
A private / vendor claim No cross-boundary interop; the reason to register one descriptive claim.
W3C VC credentialSubject ([VCDM20]) Scopes what a credential asserts and presents; says nothing about a decision made using it, or made without any credential. May be the same party as dsub, or not: dsub names the party a decision lands on, who may present nothing.
"Data subject" (GDPR Art. 4) A legal role keyed to personal-data processing. dsub is a protocol role keyed to a decision and its consequence, not data processing; putting the legal term on the wire would import a regulatory model this claim does not assert.

12. IANA considerations

This document requests registration of one entry in the JSON Web Token Claims registry established by [RFC7519]. The registration policy for that registry is Specification Required (Section 10.1 of [RFC7519]). Registration proceeds through a three-week review on the jwt-reg-review@ietf.org list.

Table 3
Claim Name Claim Description Change Controller Specification Document(s)
dsub Decision Subject: the party an action or decision is taken upon; descriptive, non-authorizing. Anivar A. Aravind (ping@anivar.net) This document

13. References

13.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC7519]
Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, , <https://www.rfc-editor.org/rfc/rfc7519>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8693]
Jones, M., Nadalin, A., Campbell, B., Ed., Bradley, J., and C. Mortimore, "OAuth 2.0 Token Exchange", RFC 8693, DOI 10.17487/RFC8693, , <https://www.rfc-editor.org/rfc/rfc8693>.

13.2. Informative References

[ARAP]
OpenID Foundation, "OpenID AuthZEN Access Request and Approval Profile 1.0", , <https://openid.net/specs/authzen-access-request-approval-profile-1_0.html>.
[AuthZEN]
OpenID Foundation, "Authorization API 1.0", , <https://openid.net/specs/authorization-api-1_0-final.html>.
[I-D.ietf-oauth-transaction-tokens]
Tulshibagwale, A., Fletcher, G., and P. Kasselman, "Transaction Tokens", Work in Progress, Internet-Draft, draft-ietf-oauth-transaction-tokens-09, , <https://datatracker.ietf.org/doc/html/draft-ietf-oauth-transaction-tokens-09>.
[I-D.kuehlewind-audit-architecture]
Kühlewind, M. and H. Birkholz, "An Architecture for Auditing AI Agent Delegation and Interactions", Work in Progress, Internet-Draft, draft-kuehlewind-audit-architecture-00, , <https://datatracker.ietf.org/doc/html/draft-kuehlewind-audit-architecture-00>.
[I-D.mcguinness-oauth-actor-profile]
McGuinness, K., "OAuth Actor Profile for Delegation", Work in Progress, Internet-Draft, draft-mcguinness-oauth-actor-profile-00, , <https://datatracker.ietf.org/doc/html/draft-mcguinness-oauth-actor-profile-00>.
[I-D.niyikiza-oauth-attenuating-agent-tokens]
Aimable, N., "Attenuating Authorization Tokens for Agentic Delegation Chains", Work in Progress, Internet-Draft, draft-niyikiza-oauth-attenuating-agent-tokens-01, , <https://datatracker.ietf.org/doc/html/draft-niyikiza-oauth-attenuating-agent-tokens-01>.
[I-D.rampalli-cross-org-delegation-mapping]
Karthik, R., "A Layered Requirements Mapping for Cross-Organization Agent Delegation", Work in Progress, Internet-Draft, draft-rampalli-cross-org-delegation-mapping-05, , <https://datatracker.ietf.org/doc/html/draft-rampalli-cross-org-delegation-mapping-05>.
[I-D.schrock-ep-action-evidence-graph]
Schrock, I., "Action Evidence Graphs and Evidence Policy Replay for High-Risk Agent Actions (EP-AEG)", Work in Progress, Internet-Draft, draft-schrock-ep-action-evidence-graph-00, , <https://datatracker.ietf.org/doc/html/draft-schrock-ep-action-evidence-graph-00>.
[I-D.schrock-ep-authority-introduction]
Schrock, I., "Authority Documents and Scoped Authority for Agent-Action Evidence", Work in Progress, Internet-Draft, draft-schrock-ep-authority-introduction-01, , <https://datatracker.ietf.org/doc/html/draft-schrock-ep-authority-introduction-01>.
[I-D.schrock-human-authorization-binding]
Schrock, I., "Binding Named-Human Authorization Evidence into Agent-Action Records", Work in Progress, Internet-Draft, draft-schrock-human-authorization-binding-00, , <https://datatracker.ietf.org/doc/html/draft-schrock-human-authorization-binding-00>.
[OPR]
Aravind, A. A., "Operator-of-Record: an Origination Marker for Agent-Operated Presentations and Decisions", Work in Progress, Internet-Draft, draft-aravind-oauth-operator-of-record-00, , <https://datatracker.ietf.org/doc/html/draft-aravind-oauth-operator-of-record-00>.
[RFC8417]
Hunt, P., Ed., Jones, M., Denniss, W., and M. Ansari, "Security Event Token (SET)", RFC 8417, DOI 10.17487/RFC8417, , <https://www.rfc-editor.org/rfc/rfc8417>.
[RFC8707]
Campbell, B., Bradley, J., and H. Tschofenig, "Resource Indicators for OAuth 2.0", RFC 8707, DOI 10.17487/RFC8707, , <https://www.rfc-editor.org/rfc/rfc8707>.
[RFC9396]
Lodderstedt, T., Richer, J., and B. Campbell, "OAuth 2.0 Rich Authorization Requests", RFC 9396, DOI 10.17487/RFC9396, , <https://www.rfc-editor.org/rfc/rfc9396>.
[RFC9942]
Steele, O., Birkholz, H., Delignat-Lavaud, A., and C. Fournet, "CBOR Object Signing and Encryption (COSE) Receipts", RFC 9942, DOI 10.17487/RFC9942, , <https://www.rfc-editor.org/rfc/rfc9942>.
[RFC9943]
Birkholz, H., Delignat-Lavaud, A., Fournet, C., Deshpande, Y., and S. Lasker, "An Architecture for Trustworthy and Transparent Digital Supply Chains", RFC 9943, DOI 10.17487/RFC9943, , <https://www.rfc-editor.org/rfc/rfc9943>.
[VCDM20]
World Wide Web Consortium, "Verifiable Credentials Data Model v2.0", , <https://www.w3.org/TR/vc-data-model-2.0/>.

Appendix A. Survey of existing mechanisms

Each mechanism below was checked against its current published version; none carries a role naming the party a decision is about, which is the gap dsub fills.

Table 4
Spec Rev / date Role it provides
RFC 8693 Sec. 4.1 / 1.1 Pub. Jan 2020 act=actor, sub=principal-acted-for
draft-mcguinness-oauth-actor-profile -00, 30 Apr 2026 act / actor classification
ARAP OpenID AuthZEN WG Draft 1, 17 Jul 2026 Access Request Endpoint
draft-kuehlewind-audit-architecture -00, 18 May 2026 typed records; subject legibility OPEN
draft-hardt-oauth-aauth-protocol -09, 4 Jul 2026 person-accountable framing
draft-ietf-oauth-transaction-tokens -09, 6 Jul 2026, WGLC per-action container
draft-niyikiza-oauth-attenuating-agent-tokens -01 omits sub
SCITT RFC 9943 + RFC 9942, Jun 2026 audit container
CAEP / signed SET reasons RFC 8417 family integrity-protected party surface precedent
draft-rampalli-cross-org-delegation-mapping (+ EMILIA/EP draft-schrock-*) -05, 6 Jul 2026 (WIMSE) evidence-sufficiency: verified != accepted, neither implies sufficiency; no decision-subject role

Author's Address

Anivar A. Aravind
Independent Researcher