Thanks, Thi. Agreed, these are two different questions, and the
architecture keeps them apart on purpose.

Apologies, I used "left empty" as shorthand in my email, not the drafts.
Runtime enforcement lives in a companion, Mission-Bound Runtime Enforcement
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-runtime.html>;
that split is the layering cost I mentioned to Alex. Under its runtime
contract
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-runtime.html#runtime-contract>,
a consequential action executes only after a permit that evaluates the
action and its concrete parameters against the approved Mission, and the
permit is bound to those parameters. The Mission must be active within a
published staleness bound. Token possession alone never suffices, and every
consequential phase of a compound action gets its own decision. So the
check repeats at every action, not just at approval. The AuthZEN profile
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-authzen.html>
 puts that contract on the wire: it maps the decision inputs onto an
AuthZEN evaluation request, so a PEP and PDP interoperate on decisions
alone.

On who is acting, I'd split "right person, right device" into two parties:

   - *The agent.* Agent identity says who is acting; the Mission says why
   its authority exists
   
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-architecture.html#three-objects>.
   The runtime takes the authenticated client, the delegation chain, attested
   instance context and registry state as actor inputs
   
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-runtime.html#input-actor>,
   and each gates independently: a valid credential never overrides a revoked
   agent. Sender-constrained credentials pin possession, and mediated
   custody
   
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-runtime.html#custody>
    can keep the key out of the agent entirely.
   - *The human.* For high-consequence actions, a deployment should require
   a fresh action-bound approval
   
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-runtime.html#action-approval>,
   bound to the concrete parameters and resolved on a surface the agent can't
   drive. It composes with RFC 9470 step-up, but step-up alone doesn't approve
   an action. In the AuthZEN profile, a missing approval is an
   approval_required denial; the PEP can request one through the AuthZEN
   Access Request and Approval Profile
   
<https://openid.github.io/authzen/authzen-access-request-approval-profile-1_0>
   and present it on a fresh evaluation
   
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-authzen.html#context-approval>,
   where it is checked against the parameter digest as input, never as a
   bearer grant. PSEA fits here: evidence that a present, verified human
   approved a specific action is the kind of input that approval can carry. I
   agree with you on frequency. The runtime says to reserve this for actions
   that warrant a pause, because applied broadly it trains rubber-stamping.

On a key that only works while the conditions hold: agreed, and the validity
model
<https://mcguinness.github.io/mission-bound-authorization/draft-mcguinness-mission-architecture.html#validity-model>
 treats it as first-class. A short lifetime moves the check to re-issuance,
so each renewal is the policy re-check, and authority lapses when the
conditions fail, with no revocation message. The limits are that something
still has to observe the conditions at renewal, and worst-case exposure
equals the lifetime. That's why the high-consequence classes also need an
active freshness source.

Thanks,
Karl

On Thu, Oct 1, 2026 at 2:46 PM Thi Nguyen-Huu <[email protected]> wrote:

> Hi all.
>
>
>
> If I understand correctly:
>
>
>
> Ron's example shows the problem clearly: the reservation is for product A,
> but the charge is for product B. Nothing catches this, because the check
> happens when the mission is approved, not when each action actually happens.
>
>
>
> Everyone in this thread, including Karl's design, is working on
> authorization: was this the right thing to approve, did we understand the
> request correctly, does each step still match what was approved. Karl's own
> outline even has a step called "runtime enforcement," but it's left empty.
>
>
>
> If that's a fair read, there's a second question nobody's asking yet: is
> the one doing this action right now still the one who was approved for it?
> That's authentication, not authorization. Left alone, I'd guess "runtime
> enforcement" becomes another authorization check — does this still match
> the approved scope — not a check on who is actually there.
>
>
>
> Mohamad Yossif's PSEA draft already asks for this directly: proof that a
> real human is present, and that the device is trustworthy, at the moment of
> the action — not just proof the action was authorized. Maybe the design
> team should treat this as its own topic, separate from goal-tracking and
> schema discovery.
>
>
>
> One more thought, building on Mohamad's idea: proving someone is present
> doesn't have to mean asking them to approve something again and again. A
> mission record is a decision made once, then trusted later. Checking a
> request against it only tells you the request matches what was approved —
> it says nothing about what's happened since. A different approach: give the
> agent a key that only works while the original conditions are still true —
> right person, right device. If those conditions stop being true, the key
> simply stops working. No revoke message needed, because there's nothing
> left to revoke.
>
>
>
> This isn't a competing proposal to Karl's draft, or to Mohamad's. It fills
> in the empty "runtime enforcement" step Karl already left open, and it's
> one way to get what Mohamad is asking for, without needing to ask the human
> again every time.
>
>
>
> Cheers
>
>
>
> *Thi Nguyen-Huu*
>
> *CEO*
>
> winmagic.com
>
> 11-80 Galaxy Blvd.
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
>  |
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
> Toronto, ON
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
>  |
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
> M9W 4Y8
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
>  |
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
> Canada
> <https://www.google.com/maps/search/80+Galaxy+Blvd.++%7C+Toronto,+ON++%7C+M9W+4Y8++%7C+Canada?entry=gmail&source=g>
>
>
>
> *From:* 刘大鹏(鹏成) <[email protected]>
> *Sent:* Thursday, October 1, 2026 5:11 PM
> *To:* Lombardo, Jeff <[email protected]>; Yaron ZEHAVI <
> [email protected]>; Ron Bartor <[email protected]>; Karl
> McGuinness <[email protected]>
> *Cc:* [email protected]; Iman Schrock <[email protected]>
> *Subject:* [OAUTH-WG] 回复:Re: Call for interest: fine-grained
> authorization in OAuth (IETF 126 follow-up)
>
>
>
> You don't often get email from [email protected]. Learn
> why this is important <https://aka.ms/LearnAboutSenderIdentification>
>
> CAUTION:This email originated from outside of the organization. Do not
> click links, open attachments or respond unless you recognize the sender
> and know that the content is safe.
>
>
>
> Hi Jeff and all,
>
>
>
> I think whether the problem is real and whether there is enough
> interest in the WG to work on it are separate from the question
> of which draft would be the solution.
>
> That was the purpose of
> the call for interest, and I read the replies so far as
> interest in the problem itself rather than in any particular solution.
>
>
>
> The discussion in this thread reaches a similar problem from
> several independent directions. We reached it ourselves earlier:
> draft-liu-agent-operation-authorization was presented at IETF 125.
>
> It investigates how to extend OAuth to
> express bounded work proposals from agents and the mechanism
> for approving them. It shares much of the problem and solution
> space discussed in this thread.
>
>
>
> I think the important question for the next steps and for the
> upcoming IETF 127 meeting is whether the WG has enough support
> for the problem space and enough interest to work on potential solutions.
>
> We do not need to limit ourselves to a specific draft
> at this stage. If we agree on the problem, the WG or a design
> team can work on the solution together.
>
>
>
> ​
>
> Regards,
>
> Dapeng
>
> ------------------原始邮件 ------------------
>
> *发件人**:*Lombardo, Jeff <[email protected]>
>
> *发送时间**:*Thu Oct 1 23:47:20 2026
>
> *收件人**:*Yaron ZEHAVI <[email protected]>, Ron Bartor <
> [email protected]>, Karl McGuinness <[email protected]>
>
> *抄送**:*[email protected] <[email protected]>, Iman Schrock <
> [email protected]>
>
> *主**题**:*[OAUTH-WG] Re: Call for interest: fine-grained authorization in
> OAuth (IETF 126 follow-up)
>
> 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 <[email protected]>
> *Sent:* October 1, 2026 1:43 AM
> *To:* Ron Bartor <[email protected]>; Karl McGuinness <
> [email protected]>
> *Cc:* Lombardo, Jeff <[email protected]>; [email protected]; Iman Schrock <
> [email protected]>
> *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 <[email protected]>’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 <[email protected]>
> *Sent:* Thursday, October 1, 2026 3:58 AM
> *To:* Yaron ZEHAVI <[email protected]>
> *Cc:* Lombardo, Jeff <[email protected]>;[email protected]; Iman Schrock <
> [email protected]>
> *Subject:* Re: [OAUTH-WG] Re: Call for interest: fine-grained
> authorization in OAuth (IETF 126 follow-up)
>
>
>
> You don't often get email [email protected]. 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 <
> [email protected]> wrote:
>
> Hello everyone,
>
>
>
> @Lombardo, Jeff <[email protected]> thanks for the shout out.
>
> @Ron Bartor <[email protected]>, 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 <[email protected]>
> *Sent:* Wednesday, September 30, 2026 4:08 PM
> *To:* Ron Bartor <[email protected]>
> *Cc:* [email protected]; Yaron ZEHAVI <[email protected]>;
> Iman Schrock <[email protected]>; Lombardo, Jeff <
> [email protected]>
> *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 <[email protected]>
> *Sent:* September 29, 2026 7:09 PM
> *To:* Iman Schrock <[email protected]>
> *Cc:* [email protected]
> *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=
> [email protected]> 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=
> [email protected]> 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 -- [email protected]
> To unsubscribe send an email to [email protected]
>
> 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 -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to