[OAUTH-WG] Re: Call for interest: fine-grained authorization in OAuth (IETF 126 follow-up)
Karl McGuinness <me@karlmcguinness.com> Thu, 01 October 2026 20:00 UTC
Received: from mail-wm2-x10.google.com (mail-wm2-x10.google.com [IPv6:2a00:1450:4864:31::10]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 168E04B for <oauth@ietf.org>; Thu, 01 Oct 2026 20:00:58 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=karlmcguinness.com header.s=google header.b=ChPpyHOA; dmarc=pass (policy=none) header.from=karlmcguinness.com; arc=pass ("google.com:s=arc-20260327:i=1"); spf=pass (mx.ietf.org: domain of me@karlmcguinness.com designates 2a00:1450:4864:31::10 as permitted sender) smtp.mailfrom=me@karlmcguinness.com
Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49fff6f0f87so38870735e9.3 for <oauth@ietf.org>; Thu, 01 Oct 2026 13:00:58 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1790884857; cv=none; d=google.com; s=arc-20260327; b=l/EKpaWuIQ2d4jIgTztQ1g65n59Mzlm4CkVVenZvnDPZSQkEAn0I2fUdw9bwcB28ov Ujln3M8h1eixKhLP+cSMgUKO3NNREZmAFZfUxd/kQYsDIiYOdBZ9nke0UqLVSnzCGfpY nS/JXHF663rHM7qcTEilBM9gpaG/uMXz+Pswrd/uce4PNHJHbI/5C3YLtjiSczdj0h3Q psU5EFhiXRuCDAGngtn4yIbEGKZ8WUOxgRDhbT840J3294EnuCeX+O0KeFgAdihpNNsx DYLisG60RqgbrMjkxNwcU9qZp98S4MSk2bnwohEjCLaPpU452Q3tv3+0KisDKeyhXfT8 CtDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=ZXb1q0xc/IWc6pxaWSiAKsBSyb+IEFpky2r2h/fmFnA=; fh=cpERqfRzmUwtaWxXJz4XZiROYRspAeMQJUZLsL7LZT4=; b=Ql21Guh09SdW4bN7P17l0EZioMT7Kp/pPqgVnE3RPi04SMgN3IEmGGNU5ov+TY27vh blA4NSpm7WBjCZDdmMaQSI8gLkkYsTOQg0DS2s8eXidxZaLxYXe9ZaKdyxZE1/AME45H oJmLxxiZqDz4FXcKUOJJm/Kly6mhMyO+AdiulfKDGBzUVHeNDHogV3llx9kW9OysZH1J Uq93ttA94gbLilKPr5srjO0Hesw5ygknRbjYvKrYob9WZjZgSPaOSFRsORE6AqXaZG1T JTWjCqGOjHs/H4GYPj6cEJl4UEK6xcmAW/qd/C3VFuBbtkb1lQnE2JyY38Qhqlvsmp4d lJhg==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=karlmcguinness.com; s=google; t=1790884857; x=1791489657; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ZXb1q0xc/IWc6pxaWSiAKsBSyb+IEFpky2r2h/fmFnA=; b=ChPpyHOAQ0Jv7eL3teMjqtawuzApZsfFnCnz++0wK7G8NB5HMMSuqlNXokK8GJvnzO gndH/1QPUPJYMuhNy+7/Q0ggjJxGt6LkfAeh/8XCVH1NG1N0k0dTVggedY6nANH3VQAO f2nOfn0BVYawyNmd1yhQ7lNQVUeJ42jSuwaeAZjCpJ47IuMb/513YeFQLXLat/Spa0Vr 5du6V75n4TeIuoeqC7pH68bZv6xAYy+3jsnEfglHplMDCpVIyGp0EdiciUpC8yd83F17 Gqzgfbm0YjQDdpvrlZn002Jbl61EZo4tgFYBHJcOnG8wZlOpSOibxWlDBTF62KF9MvFv CFAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790884857; x=1791489657; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=ZXb1q0xc/IWc6pxaWSiAKsBSyb+IEFpky2r2h/fmFnA=; b=V0r843AbXyVljIWVJ8dXgq7wjEvfElIsXoqn6+z1bGxUa5J/qmq+1QM/eql/RTvz1Y 9o1xwgZJqqx6bEt6psl9jjSkCBprspGzcY8MFFbxxZ0NwamAiPqnA7tgWd7HI5h1/zKI NI4nbWYO0Ng2w/tIfIXi/EmNDfUPENPx1ncs79WcYToALVr7aEJjumTmU/K5alL4kqee V4hkMHAQkR2lhNCsj5D41ZCso9lIp/8YI812Pq/WESsYhXsDXqyK0b2UoFgNyfWewdXu VEgTQqDkahWCy6gZyL78OznmKigFXNXxMhBEVOhcWE8tdyr2SJ3wOJJ/lIXpbTj+vmCy K66g==
X-Forwarded-Encrypted: i=1; AKwUvBzcRNvAuD9mw9M0HAj/jkTlMr9XUvCBp44yLypiMyfm8E0YGSyYVh3aZAD+JjDZju4Wtc+O6w==@ietf.org
X-Gm-Message-State: AFq9FYKx30JsSr30a2jkBmP9jXBVycqioAZsshSobqaGT4xn8097e+s2 NJRyYDjwe6w9ZjrbtaVPUYrW6AmwYZwWUJDrm2eCKR1pIwWoaCmpKI3ws7j+SMXYtirq8Wa1SD2 iJ53Rf3B/hnSW91YTcAYkUILi8e/OIEGivRyrcFeD1Q==
X-Gm-Gg: AYBFou2UTZMuLER1EG8u6lrWoJRSo4xt02znkcWI3UK20dBplRHOg6xz/KEema+lB9g 39ShjvcQIRr/v1gUi4iATo94D6EOQIpF17clm/h4rcFZvb2mDiJbNVVRW8XOVv/n1GYI2VEruKR DXKgSEaPnyUN5SzzXWP4Tpdpe3Lk8oljtkzRBX9p48d2zgJU2LLIwFMaSEZcWPw5czmchklf97k woAc7V/tx6mgjz1W29BjOHN+QF/OhXuwJejYqkGpawmoymRtE2UpNCfRA+lMG4L0uKvguxMEzeH gPCOg5E4UfgRIashYe8TGxUlfFcGu24gr755NhyHro6KiRA5rxMQq3Il1Q7YS4N/jj7gD36qpLJ 3bu7yZP1uol0pXzYHJhXJ2lL4RCyDXgTcdNTDz0XIzKPhukCdrm5zVUuEOGGKIRI4TGZYVnL+lh Iq6g4XOivmWnrYQvbZPlXhWjsYvlYkz8E=
X-Received: by 2002:a05:6000:420d:b0:48a:fcf9:acb5 with SMTP id ffacd0b85a97d-48b126d2a49mr1273267f8f.2.1790884856349; Thu, 01 Oct 2026 13:00:56 -0700 (PDT)
MIME-Version: 1.0
References: <db89ae6c-f90e-4fee-add3-0c66a7746053.max.ldp@alibaba-inc.com> <CAOfgHgo7qVMu0iGAdsyQySs91YrcOpcnLXfGtV_maSW8ncV56Q@mail.gmail.com> <CANr0dJFS98Wvum5MERgS_TLx07XTjNx6e8vuxLkEexTi_Q_HLA@mail.gmail.com> <PH0PR18MB46859723EAEE7FF14514E822D98B2@PH0PR18MB4685.namprd18.prod.outlook.com> <MMZPR04MB481271FA9666C306914202FFBD938B2@MMZPR04MB481271.eurprd04.prod.outlook.com> <CANr0dJEOSqvqqKOO+URUdg9Lf1qDHYib+LCM1b=5BJfqTZ+Fsw@mail.gmail.com> <MMZPR04MB4812714E1A971557FEE59DEF1A938A2@MMZPR04MB481271.eurprd04.prod.outlook.com> <PH0PR18MB468572ECC9F892BD917BD221D98A2@PH0PR18MB4685.namprd18.prod.outlook.com> <CANwAPZaQKvUvW5RAZS_9T3oHZzBzW6W7az+R1+tt3cb0dkVzsQ@mail.gmail.com>
In-Reply-To: <CANwAPZaQKvUvW5RAZS_9T3oHZzBzW6W7az+R1+tt3cb0dkVzsQ@mail.gmail.com>
From: Karl McGuinness <me@karlmcguinness.com>
Date: Thu, 01 Oct 2026 13:00:43 -0700
X-Gm-Features: AclHuK8JcnVPJ9SONSbJ3xlKYpb6mC_Td-UsG6OIEyXDIIIR8s3eE4XpH_IKtek
Message-ID: <CAPVrLW3h8x_iKCfGNZUoD75h_gPrWOQodPLc2H=E1onDE1DhFA@mail.gmail.com>
To: Alex Babeanu <alex.babeanu@indykite.ai>
Content-Type: multipart/alternative; boundary="000000000000b255e8065cccdf2d"
X-Spamd-Bar: --
Message-ID-Hash: SCVUNQJAHKDKKI5LKRGLD6CVLF2FIAUD
X-Message-ID-Hash: SCVUNQJAHKDKKI5LKRGLD6CVLF2FIAUD
X-MailFrom: me@karlmcguinness.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-oauth.ietf.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Yaron ZEHAVI <yaron.zehavi@rbinternational.com>, Ron Bartor <roniamdev@gmail.com>, "oauth@ietf.org" <oauth@ietf.org>, Iman Schrock <team@emiliaprotocol.ai>
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [OAUTH-WG] Re: Call for interest: fine-grained authorization in OAuth (IETF 126 follow-up)
List-Id: OAUTH WG <oauth.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/kBcbuc4iGLGsvWIrS0a7jsvShF8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Owner: <mailto:oauth-owner@ietf.org>
List-Post: <mailto:oauth@ietf.org>
List-Subscribe: <mailto:oauth-join@ietf.org>
List-Unsubscribe: <mailto:oauth-leave@ietf.org>
Thanks, Alex, for taking the time to share your feedback. -00 is quite
dated now. I'll publish -01 in the next few weeks, and the editor's copy
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission.html>
already reflects much of it.
The core deliberately separates two questions: what Authority Set was
approved, and did the system correctly understand what was originally
meant? The core gives a protocol guarantee around the first: the Authority
Set is committed at the approval event, and later derived authority cannot
exceed it. It does not claim to solve the second, and I don't think a
protocol can. What the architecture does instead is make each boundary
explicit and auditable: request, untrusted shaping, structured Intent,
mechanical derivation, approval, committed Authority Set, runtime
enforcement.
The core is also one layer of a much larger Mission architecture
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-architecture.html>,
layered so that several answers below point to companions. To be candid,
getting that layering right, what belongs in the core and what belongs in a
companion, is something I'm still working through. Reviews like yours help.
1.
Original intent. The core does capture the submitted Intent: it renders
it beside the Authority Set and commits it as intent_hash. The narrower
gap you've found is that nothing authenticates the requester's pre-shaping
instruction. Mission Intent Shaping
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-shaping.html>
can record that input as Shaping Evidence, including an input_digest and
the shaper's resolutions and ambiguities. Its hash can be committed as part
of the Consent Evidence associated with the approval. What isn't
standardized is an evidence type that authenticates the provenance of that
pre-shaping request. The Intent Submission Evidence
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission-submission-evidence.html>
framework is where such a type would plug in.
2.
Rubber stamping. I agree there's a real comprehension limit, and the
protocol cannot prove comprehension. What it can do is make the consent
object complete, structured, layered and auditable. Consent Evidence
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission-consent-evidence.html>
defines a structured disclosure with material notices and constraint
provenance, plus layered rendering and a question channel for the Approver.
In -01 I'll make the comprehension caveat explicit in the approval section.
I'll add rendering guidance too: grouping, summary with drill-down, flagged
high-consequence entries, and when a set is too large to approve as a
single decision. "Forget me" is exactly that case. Where policy-only
drawdown or dispatch is used, irreversible actions such as deletion are
excluded and fall back to a fresh human decision.
3.
Granularity. Agreed. In -01 I'll name the trade-off between approval
fatigue and blanket approval, with guidance on where the line sits. The
architecture has separate mechanisms for the two shapes of the
problem. Progressive
Authorization
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission-progressive.html>
covers one evolving task that draws authority under an approved ceiling.
Template
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-oauth-mission-template.html>
covers repeated instances of a recurring task under an approved ceiling
and dispatch policy.
4.
AI derivation. The editor's copy now does what you suggest. -00
permitted generating authority from free text; the editor's copy defines
only two mechanical modes: narrowing a client proposal, and a configured
lookup that is "not synthesis". A deployment can add generative processing
as a local-policy extension, but it stays subject to the same Intent
bounds. Under the normative prose boundary, changing goal, task_bounds or
success_criteria alone cannot change the Authority Set.
5.
Trusted Intent author. I agree separating shaping from execution is
useful, and the Shaping companion does exactly that. Where I differ is
making the shaper trusted. A generative shaper is still fallible and can be
influenced by an attacker, so its output deliberately remains an untrusted
proposal. It can produce auditable Shaping Evidence, and policy can require
a defined Intent Submission Evidence type authenticating the request's
provenance. Authority is still created only by issuer validation and
approval. On AuthZEN: an evaluation request describes one authorization
question. It's a good input to policy and to runtime enforcement, through
the AuthZEN profile
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-authzen.html>,
but it isn't the durable task object or approved envelope a Mission
represents. For that, the draft already reuses an existing standard, RFC
9396 (Rich Authorization Requests).
I'll open GitHub issues for 2, 3, and the provenance evidence type in 1.
Comments there are welcome.
Thanks,
Karl
On Thu, Oct 1, 2026 at 10:40 AM Alex Babeanu <alex.babeanu@indykite.ai>
wrote:
> Hello all,
>
> I've been reading @Karl McGuinness <me@karlmcguinness.com>’s draft: Mission-Bound
> Authorization for OAuth 2.0
> <https://datatracker.ietf.org/doc/html/draft-mcguinness-oauth-mission-00>.
> (draft-mcguinness-oauth-mission-00) and want to raise a set of concerns
> about the proposed trust and consent model.
>
> 1. My main concern: There is no independent artifact of the Subject's
> original intent anywhere in the specified system. The pipeline is agent-proposed-text
> → AS-derived authority → human approves authority. The thing the user
> actually wanted never gets captured in a form anything can check against..
> Nothing in the protocol lets you later verify that the derived authority
> actually corresponded to the subject's original instruction.
>
> 2. Rubber stamping. The spec cites:
>
> "Neither anchor proves the Approver understood the rendered task, nor that
>> the AS rendered it faithfully; they commit what the AS recorded, and make
>> post-hoc tampering of those records detectable."
>
>
> Indeed, we can't rely on the user's approval, they may not even understand
> the Authority Set they are tasked to approve. Everything downstream rests
> on the human meaningfully consenting to a derived Authority Set, yet the
> spec's only requirement is that the AS render it "in human-meaningful
> terms."
>
> Concrete Example - human prompt: "*Forget me.*" - as in GDPR's Right to
> be Forgotten. This can derive into dozens of cross-system delete actions
> across databases, SaaS, and affiliates, etc. A very legitimate 2 word
> prompt could therefore require the user to approve an Authority Set
> containing potentially many actions (which might be gibberish to them).
>
> A human cannot act at this scale. This draft should add bounds or tiers on
> Authority Set complexity, maybe require require summarization/progressive
> disclosure, or an explicit statement that comprehension is out of scope and
> why that's acceptable.
>
> 3. The previous point leads to the following: approval-granularity
> guidance trades one risk for another without saying so.
> Section 1.5 recommends narrow, per-task Missions, each separately
> approved. Narrow Missions make each approval comprehensible (good) but
> multiply the number of approvals a human faces in a multi-step workflow
> (bad); coarse Missions do the reverse. The draft asserts the preference
> without acknowledging the tension. I think it should name this trade-off
> explicitly and give guidance on where the line sits, because the two
> failure modes (approval fatigue vs. blanket approval) are both
> consent-defeating.
>
> 4. AS Authority Set Generation. The way the AS derives the Authority Set
> is left on purpose to local imnplementations. I doubt it will always be
> possible to make this derivation deterministic (the preferred route of
> course); this step may require AI Generation, in some cases at least. Now
> section 5 calls this: "*the least portable and most semantically fraught
> option*". Given that AI Generation at this step may lead to further
> security issues, the draft should probably discourage this or at least
> require some constraints here.
>
> 5 The authoring party for the Mission Intent should be constrained, not
> left out of scope.
> Section 4.1 places who produces the Intent — including a trusted "*Mission
> Shaper*" — out of scope. Since the agent is explicitly untrusted,
> allowing the untrusted agent to also author the proposal that seeds
> derivation leaves "*the narrative is inert*" as the only mitigation. I'd
> like the draft to consider requiring that the authoring component be
> trusted and distinct from the agent executing the Mission.
>
> I.e., formalize the "Mission Shaper", calling it explicitly for what it
> is, a Generative LLM-Backed Agent, i.e., an "Intent Agent". Call the
> "Intent Agent" *before* the Actor client, and let it run on the
> *Subject's* prompt. The Intent Agent should be separate and not directly
> promptable by the user. It should not have any stake in the actual mission,
> its only goal is to produce a parseable Mission (OpenID AuthZEN
> evaluations is a better format for this, imho. Reusing an existing
> standard would also greatly simplify this draft). The mission is now tied
> to the *subject's* actual intention, not to the Agent's. And the Agent's
> actions can now be validated against that Mission's Authority Set.
>
> Regards,
>
> ./\lex Babeanu.
>
>
> On Thu, Oct 1, 2026 at 8:47 AM Lombardo, Jeff <jeffsec=
> 40amazon.com@dmarc.ietf.org> wrote:
>
>> Agreed with Yaron, I thought I provided the reference. It seems not.
>>
>> @Ron : The discussion is the right one, it just that I think we should
>> have it as part of the Mission Draft instead of yet another Draft.
>>
>>
>>
>> Jeff
>>
>>
>>
>> *Jean-François “Jeff” Lombardo* | Amazon Web Services
>>
>>
>> Principal Standards Specialist, Identity Services
>> Montréal, Canada
>>
>>
>>
>> *From:* Yaron ZEHAVI <yaron.zehavi@rbinternational.com>
>> *Sent:* October 1, 2026 1:43 AM
>> *To:* Ron Bartor <roniamdev@gmail.com>; Karl McGuinness <
>> me@karlmcguinness.com>
>> *Cc:* Lombardo, Jeff <jeffsec@amazon.com>; oauth@ietf.org; Iman Schrock
>> <team=40emiliaprotocol.ai@dmarc.ietf.org>
>> *Subject:* RE: [EXT] [OAUTH-WG] Re: Call for interest: fine-grained
>> authorization in OAuth (IETF 126 follow-up)
>>
>>
>>
>> *CAUTION*: This email originated from outside of the organization. Do
>> not click links or open attachments unless you can confirm the sender and
>> know the content is safe.
>>
>>
>>
>> *AVERTISSEMENT*: Ce courrier électronique provient d’un expéditeur
>> externe. Ne cliquez sur aucun lien et n’ouvrez aucune pièce jointe si vous
>> ne pouvez pas confirmer l’identité de l’expéditeur et si vous n’êtes pas
>> certain que le contenu ne présente aucun risque.
>>
>>
>>
>> Dear Ron,
>>
>>
>>
>> I think the goal enforcement you’re seeking may be found in @Karl
>> McGuinness <me@karlmcguinness.com>’s draft: Mission-Bound Authorization
>> for OAuth 2.0
>> <https://datatracker.ietf.org/doc/html/draft-mcguinness-oauth-mission-00>
>> .
>>
>> It adds an AS-persisted durable higher level mission intent object,
>> against which authority requests are evaluated at token issuance time.
>>
>>
>>
>> It should empower the authorization server to evaluate if reservation A
>> and payment B are within the scope of the approved mission, apply policies
>> to validate they’re related and if so issue the tokens for the relevant
>> audience resource servers.
>>
>>
>>
>> Regards,
>>
>> Yaron
>>
>>
>>
>>
>>
>> Classification: GENERAL
>>
>> *From:* Ron Bartor <roniamdev@gmail.com>
>> *Sent:* Thursday, October 1, 2026 3:58 AM
>> *To:* Yaron ZEHAVI <yaron.zehavi@rbinternational.com>
>> *Cc:* Lombardo, Jeff <jeffsec@amazon.com>; oauth@ietf.org; Iman Schrock <
>> team=40emiliaprotocol.ai@dmarc.ietf.org>
>> *Subject:* Re: [OAUTH-WG] Re: Call for interest: fine-grained
>> authorization in OAuth (IETF 126 follow-up)
>>
>>
>>
>> You don't often get email from roniamdev@gmail.com. Learn why this is
>> important <https://aka.ms/LearnAboutSenderIdentification>
>>
>> This message is from an external sender - be cautious, particularly with
>> links and attachments.
>>
>>
>>
>> Hi Jeff, Yaron,
>>
>> Yaron, thanks for the correction, and good to meet you. I was citing the
>> old draft, my mistake. I'll cite draft-ietf-oauth-rar-metadata-remediation
>> from here on and stop saying "per-RS discovery", since that's not what it
>> does. The way I read it now, the metadata endpoint tells a client what the
>> AS can issue, and what a particular resource actually needs you find out by
>> calling it and getting the remediation back. I also take the gateway point.
>> It relays the call and relays the remediation and doesn't need to know
>> anything about the downstream types to do that.
>>
>> Jeff, agreed on the rest. Each RS says what it needs in RAR terms, the AS
>> normalizes, and if there's a broker in front it adds one more layer and
>> normalizes for its own client. That's the per-RS problem, and I think the
>> draft handles it well. My write-up says as much.
>>
>> What I'm trying to point at is one step above that, and a concrete case
>> is clearer than my first mail was. Say the goal is "buy product A". It
>> turns into a reservation at an inventory service and a charge at a payments
>> service (two RSs with their own vocabularies, and quite possibly two
>> different ASs). Each RS remediates in its own terms, each remediation gets
>> normalized correctly, each request gets authorized. Except the reservation
>> is for A and the charge is for B. Nothing in that path compares the two,
>> and I don't think anything in it can, because comparing them needs the
>> goal, and the AS that has authority over the payments service doesn't hold
>> the goal. It holds a grant for one service, not what the user was trying to
>> do across several.
>>
>> Yaron's correction actually makes this a bit sharper. If there's no
>> discovery ahead of time, whoever holds the goal can't decompose it into
>> typed parts up front. It only learns what each RS needs when that RS
>> refuses. So the question "is this remediation still within the goal" has to
>> be asked on every remediation as it comes back, and then once more across
>> all of them at the end. The gateway relays those without reading them,
>> which is the right thing for a gateway. But somebody still has to read them
>> against the goal, and that's the party I'd like the design team to name,
>> whether it ends up being the client, the AS, the broker, or each RS for its
>> own slice. If the answer is "the broker, when there is one", fine, that's
>> an answer, but I'd rather it was said out loud, because it means the goal,
>> and whatever evidence is needed to judge against it, lives at the
>> intermediary.
>>
>> Jeff, I think your token exchange idea fits here. If an exchange can hand
>> back a RAR remediation, the broker gets a typed remediation at token time,
>> in the RS's own vocabulary, without having to be refused by the RS first.
>> For the per-RS half of this across a broker hop that's probably the
>> cleanest carrier, and I'll put it in the write-up next to ID-JAG.
>>
>> Ron
>>
>>
>>
>> On Wed, 30 Sept 2026 at 08:18, Yaron ZEHAVI <
>> yaron.zehavi@rbinternational.com> wrote:
>>
>> Hello everyone,
>>
>>
>>
>> @Lombardo, Jeff <jeffsec@amazon.com> thanks for the shout out.
>>
>> @Ron Bartor <roniamdev@gmail.com>, pleased to meet you 😊
>>
>>
>>
>> One comment, OAuth 2.0 RAR Metadata and Error Remediation does not offer
>> per-RS metadata discovery.
>>
>> This idea was explored in earlier drafts:
>>
>>
>> https://www.ietf.org/archive/id/draft-zehavi-oauth-rar-metadata-03.html#name-oauth-20-protected-resource
>>
>>
>>
>> And removed following feedback from WG members.
>>
>> The idea was add to RFC 9728 RS metadata:
>>
>>
>>
>> "authorization_details_types_required": {
>>
>> "oneOf": ["payment_initiation", "payment_approval",
>>
>> "beneficiary_designation"]
>>
>> }
>>
>>
>>
>> With Boolean expressions allOf, and, or.
>>
>> This was deemed not very helpful as:
>>
>> - Different resources have different requirements (but in MCP the
>> resource is not expressed on the http path)
>> - Lots of logic which in the end doesn’t tell the client exactly
>> which RAR types to request.
>>
>>
>>
>> Then the next idea was include the Boolean logic in the WWW-Authenticate
>> header. Opted instead to return the actionable RAR object to remediate the
>> failure.
>>
>>
>>
>> That being said, I think the task of RS-Gateways was made simpler.
>>
>> They don’t need to have foreknowledge to combine downstream RS metadata.
>>
>>
>>
>> Instead, client makes a request, a failing downstream RS may return the
>> remediation payload. Gateway relays the calls without requiring additional
>> metadata.
>>
>>
>>
>> Yaron
>>
>>
>>
>>
>>
>> Classification: GENERAL
>>
>> *From:* Lombardo, Jeff <jeffsec@amazon.com>
>> *Sent:* Wednesday, September 30, 2026 4:08 PM
>> *To:* Ron Bartor <roniamdev@gmail.com>
>> *Cc:* oauth@ietf.org; Yaron ZEHAVI <yaron.zehavi@rbinternational.com>;
>> Iman Schrock <team=40emiliaprotocol.ai@dmarc.ietf.org>; Lombardo, Jeff <
>> jeffsec@amazon.com>
>> *Subject:* RE: [OAUTH-WG] Re: Call for interest: fine-grained
>> authorization in OAuth (IETF 126 follow-up)
>>
>>
>>
>> This message is from an external sender - be cautious, particularly with
>> links and attachments.
>>
>>
>>
>> Hi Ron,
>>
>> Speaking under the supervision of Yaron. I am not sure I follow the multi-RS
>> decomposition problem you try to point at here.
>>
>>
>>
>> draft-zehavi-oauth-rar-metadata now
>> draft-ietf-oauth-rar-metadata-remediation [
>> https://datatracker.ietf.org/doc/draft-ietf-oauth-rar-metadata-remediation/]
>> allows each RS to express the RAR-based mediated response along what the AS
>> that has authority can speak in terms of RAR schema.
>>
>>
>>
>> It means that it is up to each AS to normalize the mediated response, If
>> brokered through an API Gateway, this is just adding another layer and it
>> is now up to the Gateway / Broker to normalize it for its client.
>>
>>
>>
>> As ID-JAG supports RAR, there could be an extension to Token Exchange to
>> return a RAR remediation to ease this path.
>>
>>
>>
>> Jeff
>>
>>
>>
>>
>>
>> *Jean-François “Jeff” Lombardo* | Amazon Web Services
>>
>>
>> Principal Standards Specialist, Identity Services
>> Montréal, Canada
>>
>>
>>
>> *From:* Ron Bartor <roniamdev@gmail.com>
>> *Sent:* September 29, 2026 7:09 PM
>> *To:* Iman Schrock <team=40emiliaprotocol.ai@dmarc.ietf.org>
>> *Cc:* oauth@ietf.org
>> *Subject:* [EXT] [OAUTH-WG] Re: Call for interest: fine-grained
>> authorization in OAuth (IETF 126 follow-up)
>>
>>
>>
>> *CAUTION*: This email originated from outside of the organization. Do
>> not click links or open attachments unless you can confirm the sender and
>> know the content is safe.
>>
>>
>>
>> *AVERTISSEMENT*: Ce courrier électronique provient d’un expéditeur
>> externe. Ne cliquez sur aucun lien et n’ouvrez aucune pièce jointe si vous
>> ne pouvez pas confirmer l’identité de l’expéditeur et si vous n’êtes pas
>> certain que le contenu ne présente aucun risque.
>>
>>
>>
>> Hi Dapeng, all,
>>
>>
>>
>> I support continuing this direction and would like to contribute to the
>> design team.
>>
>>
>>
>> I wasn't in the room at 126, so apologies if this was covered, but I'd
>> like to put one scenario on the table for the "goal state management" and
>> "discoverable schema" pillars. I operate an enterprise API gateway that
>> fronts MCP and agent traffic. A single agent request routinely fans out to
>> several downstream resource servers, and each of those RSs owns its own
>> authorization semantics: its own notion of what a task is, what the
>> constraining attributes are, and how a request is scoped. Those semantics
>> are not shared across services, and in some cases cannot be. A concrete
>> example is an RS that was integrated from a separate business unit; its
>> authorization model reflects its own history and is materially different
>> from the rest of our services, and harmonizing it is neither quick nor, for
>> some of its consumers, desirable.
>>
>>
>>
>> In that setting, per-RS schema discovery (as in
>> draft-zehavi-oauth-rar-metadata) solves the local problem but not the
>> cross-RS one: the goal has to be carried across trust domains that are
>> mutually opaque, and something has to decide whether each downstream task
>> is still within the goal without any RS seeing the others' vocabulary. The
>> slides put "task in goal" evaluation out of scope, which I understand, but
>> I think the design team should at least be explicit about where that
>> evaluation lives in a multi-RS decomposition (client, AS,
>> gateway/intermediary, or each RS independently) and what the goal-state
>> representation needs to look like so that it remains meaningful to an RS
>> that only understands its own schema.
>>
>>
>>
>> I'd be glad to write this up as a concrete use case, and I think it fits
>> naturally with the RS-to-client signaling work already in the WG
>> (txn-challenge, client-challenge, RAR-metadata) rather than requiring new
>> machinery.
>>
>>
>>
>> Best regards,
>>
>> Ron Bar-Tor
>>
>>
>>
>> On Tue, Sep 29, 2026 at 3:13 PM Iman Schrock <team=
>> 40emiliaprotocol.ai@dmarc.ietf.org> wrote:
>>
>> Hi Dapeng,
>>
>> I support continuing this work. One boundary I would like the design team
>> to test: a goal-level authorization can help a client negotiate what an RS
>> requires, but it is not approval of the eventual exact action. A changed
>> payment destination after negotiation, or a lost response after provider
>> entry, needs its own decision and recovery rule.
>>
>> We have published AEB
>> <https://datatracker.ietf.org/doc/draft-schrock-action-evidence-boundary/>
>> and an open vector pack
>> <https://github.com/emiliaprotocol/emilia-protocol/tree/main/conformance/aeb-1>
>> for that boundary. I would be glad to bring a small cross-system case to
>> the design team and see where it belongs alongside existing OAuth work.
>>
>> Best,
>> Iman
>>
>>
>>
>> On Wed, 30 Sep 2026 00:19:52 +0800, "刘大鹏(鹏成)" <max.ldp=
>> 40alibaba-inc.com@dmarc.ietf.org> wrote:
>>
>> Hello all, During IETF 126 we had a discussion on how OAuth can support
>> fine-grained authorization for AI agents [1]. The topic generated a lot of
>> interest in the room, and the poll showed support for continuing the
>> discussion [2]. A quick summary of the problem space as presented in the
>> session [3]: 1. Enabling clients to construct fine-grained authorization
>> requests using: a. Goal state management, b. Discoverable domain-specific
>> schemas for task and authorization definition, c. Task-in-goal evaluation
>> requests 2. Establishing a negotiation pattern that allows a resource
>> server to guide clients towards the required authorization The session also
>> proposed forming a design team to explore this space [3]. Before IETF 127,
>> we would like to hear from the WG: - Is this a direction the community is
>> interested in pursuing? Replies on the list will help shape the discussion
>> at IETF 127. [1]
>> https://datatracker.ietf.org/meeting/126/materials/minutes-126-oauth-202607240700-00
>> [2] https://datatracker.ietf.org/doc/polls-126-oauth-202607240900/ [3]
>> https://datatracker.ietf.org/meeting/126/materials/slides-126-oauth-sessb-policy-language-binding-for-oauth-00
>> Best regards,Dapeng Liu
>>
>> _______________________________________________
>> OAuth mailing list -- oauth@ietf.org
>> To unsubscribe send an email to oauth-leave@ietf.org
>>
>> This message and any attachment ("the Message") are confidential. If you
>> have received the Message in error, please notify the sender immediately
>> and delete the Message from your system, any use of the Message is
>> forbidden. Correspondence via e-mail is primarily for information purposes.
>> RBI neither makes nor accepts legally binding statements via e-mail unless
>> explicitly agreed otherwise. Information pursuant to § 14 Austrian
>> Companies Code: Raiffeisen Bank International AG; Registered Office: Am
>> Stadtpark 9
>> <https://www.google.com/maps/search/Am+Stadtpark+9?entry=gmail&source=g>,
>> 1030 Vienna, Austria; Company Register Number: FN 122119m at the Commercial
>> Court of Vienna (Handelsgericht Wien).
>>
>> This message and any attachment ("the Message") are confidential. If you
>> have received the Message in error, please notify the sender immediately
>> and delete the Message from your system, any use of the Message is
>> forbidden. Correspondence via e-mail is primarily for information purposes.
>> RBI neither makes nor accepts legally binding statements via e-mail unless
>> explicitly agreed otherwise. Information pursuant to § 14 Austrian
>> Companies Code: Raiffeisen Bank International AG; Registered Office: Am
>> Stadtpark 9
>> <https://www.google.com/maps/search/Am+Stadtpark+9?entry=gmail&source=g>,
>> 1030 Vienna, Austria; Company Register Number: FN 122119m at the Commercial
>> Court of Vienna (Handelsgericht Wien).
>> _______________________________________________
>> OAuth mailing list -- oauth@ietf.org
>> To unsubscribe send an email to oauth-leave@ietf.org
>>
>
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Arun Thallapelly
- [OAUTH-WG] Call for interest: fine-grained author… 刘大鹏(鹏成)
- [OAUTH-WG] Re: Call for interest: fine-grained au… Iman Schrock
- [OAUTH-WG] Re: Call for interest: fine-grained au… Ron Bartor
- [OAUTH-WG] Re: Call for interest: fine-grained au… Iman Schrock
- [OAUTH-WG] Re: Call for interest: fine-grained au… Ron Bartor
- [OAUTH-WG] Re: Call for interest: fine-grained au… Lombardo, Jeff
- [OAUTH-WG] Re: Call for interest: fine-grained au… Lombardo, Jeff
- [OAUTH-WG] Re: Call for interest: fine-grained au… Yaron ZEHAVI
- [OAUTH-WG] Re: Call for interest: fine-grained au… Ron Bartor
- [OAUTH-WG] Re: Call for interest: fine-grained au… Yaron ZEHAVI
- [OAUTH-WG] Re: Call for interest: fine-grained au… Lombardo, Jeff
- [OAUTH-WG] Re: Call for interest: fine-grained au… Alex Babeanu
- [OAUTH-WG] Re: Call for interest: fine-grained au… Karl McGuinness
- [OAUTH-WG] 回复:Re: Call for interest: fine-grained… 刘大鹏(鹏成)
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Thi Nguyen-Huu
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Karl McGuinness
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Thi Nguyen-Huu
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Yaron ZEHAVI
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Ron Bartor
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Ron Bartor
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Kieran Sweeney
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Ron Bartor
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Karl McGuinness
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Ron Bartor
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Blake Morrison
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Karl McGuinness
- [OAUTH-WG] Re:Re: Call for interest: fine-grained… 刘大鹏(鹏成)
- [OAUTH-WG] Re:Re: Call for interest: fine-grained… Blake Morrison
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Yaron ZEHAVI
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Blake Morrison
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Yaron ZEHAVI
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Blake Morrison
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Yaron ZEHAVI
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Blake Morrison
- [OAUTH-WG] 回复:Re: 回复:Re: Call for interest: fine-… 刘大鹏(鹏成)
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Omri Gazitt
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Yaron ZEHAVI
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Omri Gazitt
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Kieran Sweeney
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Ron Bartor
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Lombardo, Jeff
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Thi Nguyen-Huu
- [OAUTH-WG] Re: 回复:Re: Call for interest: fine-gra… Ron Bartor
- [OAUTH-WG] Re: [OAUTH-WG]回复:Re: Call for interest… Meiling Chen
- [OAUTH-WG] Re: Call for interest: fine-grained au… Mohamad Khalil Yossif
- [OAUTH-WG] Re: Call for interest: fine-grained au… Iman Schrock
- [OAUTH-WG] Re: Call for interest: fine-grained au… Mohamad Khalil Yossif
- [OAUTH-WG] Re: Call for interest: fine-grained au… Iman Schrock