[OAUTH-WG] Re: Call for interest: fine-grained authorization in OAuth (IETF 126 follow-up)

Iman Schrock <team@emiliaprotocol.ai> Wed, 14 October 2026 17:43 UTC

Received: from mail-oa1-x32.google.com (mail-oa1-x32.google.com [IPv6:2001:4860:4864:20::32]) (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 33CC34B for <oauth@ietf.org>; Wed, 14 Oct 2026 17:43:40 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=emiliaprotocol.ai header.s=google header.b="LvyUT/if"; arc=pass ("google.com:s=arc-20260327:i=1"); spf=pass (mx.ietf.org: domain of team@emiliaprotocol.ai designates 2001:4860:4864:20::32 as permitted sender) smtp.mailfrom=team@emiliaprotocol.ai; dmarc=pass (policy=quarantine) header.from=emiliaprotocol.ai
Received: by mail-oa1-x32.google.com with SMTP id 586e51a60fabf-486f013db83so1175886fac.0 for <oauth@ietf.org>; Wed, 14 Oct 2026 10:43:40 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1791999819; cv=none; d=google.com; s=arc-20260327; b=j6HkOFlTqsqenE20+f4puO7jCs0ZWriFMot96Z4oX754AnG977p3ouQ2KAShjQjW9y E0n229JwDYsWK5U24i6SNWtm3Wa6jcmQhKIXQTwlAHPkoCqfIm5jP/iUYoFzDVPiIT3/ XSvhOtP536PyfudHNurl7OvevcfOr6yMFNGTuWqM9DrIlsRirN0/147CZ2iK0YddEfrX u3cRZ4hSgb0JhjjvD9+xTL9hk7kDlzpAg9IWcZtivv2wqDJ8D9CzGDSwWtHnNMEkDc9u 7onjh1iTIhe3ZCyoqBCdnFXzwmafggFkB2LS0WOe9gFTqiyse4DUtJD+jZFxsOr3PFQH ZFFw==
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=lWgTHhjCtTZtAeC3qWnK1MwABybTRFMQT3M8/87a314=; fh=2d8Ve6AV6oNu1IbZJY997OjRzjOAv6+Ocd2hhE4B0oo=; b=MIyyAzd4ABm5LhwtjquwMULC5Gwvckhfrfn2tWDWLLQonwyxrhMHHF9PnIektDRT1r 3vPHjAOmDL0DfMM+PClUTTwRJzx3TR5z2+iJsE3y3TgNy3hrdLOY62StMXMAwex7LcjY gZyw3By5QVArNTucuwesPgYbD+zflnpNycXBdx9zsSOf5y00HXSubvdPPjmg7qPfA+pz Qm0ZaUaVbd6eS0xvMLH/oxBBN7CtxOqKqurRX7CGPT2w4xXQk7mJS64rBvDuruJY5QnS L4HogfaQ6gpJccmgkl21MC2FYT5zPdSJ+OMrVZu90evFl/mEwO0XUrbrEdBkz/L1iqaz r3TA==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=emiliaprotocol.ai; s=google; t=1791999819; x=1792604619; 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=lWgTHhjCtTZtAeC3qWnK1MwABybTRFMQT3M8/87a314=; b=LvyUT/ifOXY6I8Ks/fLSc/8wrhoT9+x8wUOJ/T4/32M3NrSdjlnKniyn3nMyB45FCh 8qgw13ZrJ65Ly8Kr1KokH1DAJD0w/gr4rw38Gx5LccAFQK/CNJ9F/rdd5iiKX2TzRFxe /rTqR14xTHAeXE1YQVZqzSyYbw6kHqLPc+LqfdooXS5mkcBoYlaY1RcTTlesAbwZ1bE9 /p0CFeaXfM3qchGD51kIMz/K3xLDsSExxqYgedsYbbBzFhuLyO1jOy8gXDemfEtmblFL PFKOVon3PvMCYVgwkFDxq3c5Yxmu1hALP+nBX8HXGV1qiN/+gnDLNFnJj7EnQ2pKMMwU 0YCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791999819; x=1792604619; 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=lWgTHhjCtTZtAeC3qWnK1MwABybTRFMQT3M8/87a314=; b=IGrIG2Z3sRp9DMx/goX5p74UpmYh66qrNwEjZ+9VNEyfimjQMDZc9skt0BlBLjSDFc EMCAPMQFWxhzHgwAAvfTGwV6t2zVPh1KVdyQQntcbAbyL2V85NQYmi3VDvLQaDxo1dFv 5KOKoPWYe8nzDKjgFhT8x9drLotnfYQEhh02IvzzWOEyaj0iFG9rXG8AhTgO5MTibImg ROHXkR5VVt4OTcOFYcpoqkLolacTKL31NRLgn6jtCtjJUy60bAKAf5VQCxcboU70K0uM zWl6Jhs4v/mgdlpnY6v9susayUsgMUZPRw9tiFWxlS7SLoMuG5hi5T07nQK7bfw/c8qZ ryEw==
X-Gm-Message-State: AFq9FYJVW4pGBvWvpFBzwHdGj36bMhmm3jFrZgWz8Va0Da9E9rGR+Bgv oiYl+GQG9TeIECDmkmKkscJAoa7qBYL9OYB1XEHcjy4x6q/Yc8dq02JNOWtfjAHra1mvQu7t0ny EH5ub0/jj+uwsEn8BBDOJrNdXQ55ySfcb/pYc8KdlcEGAqlDcDXE6ehRY
X-Gm-Gg: AYBFou0dkQ/ihdLHAsjcWbea24BDEDTTg+tFLZYM4NSXIYUNZf7UAoZtQG+Z+qod41l 9fd0bx5HdC5GM3hsHQTLQh4eThyhrFGQm6QgMvWdwVhFbq3BqI6lLHc5OpTOGyB5nR13rAAlrSt /PrSCy5wtK+BLpmfAkH3dRWgG8BUAUcf8se6HeaqVKIBJOixZS//Vq+8WP1/9fYlqNoJcz3v7Ho e1kwEK6cPsK2Q0qUJ5bE/vKpfQTtFIY6PtgU+KQVtGNvstPJz33Vh7ymyxKlhbFyDC0DVtfw4us aWYb5TwWzYJfbKuqwc4qXnacDcZkn7fSY+BjD4ZgrCHm2wALXaf4PYaIQYb4id+Gb+ESY+gxPWN 3eyjNFBLcL2WsD1Y0h3vsDPTHnTlzCqe6kzNHi1KIoCVrq0zKpdG6QBU+M1rBV2wX2tK9
X-Received: by 2002:a05:6871:7284:b0:46b:b3f:dea6 with SMTP id 586e51a60fabf-4a2a850abc3mr13167304fac.7.1791999819217; Wed, 14 Oct 2026 10:43:39 -0700 (PDT)
MIME-Version: 1.0
References: <070BB2D7-5A7A-4172-A4EC-4D27546D7ABB@yuthent.com>
In-Reply-To: <070BB2D7-5A7A-4172-A4EC-4D27546D7ABB@yuthent.com>
From: Iman Schrock <team@emiliaprotocol.ai>
Date: Wed, 14 Oct 2026 10:43:27 -0700
X-Gm-Features: AclHuK_fLs0AjsUsnjntEgFx1ROC2bU69hCyp9UsoIU4xbB6BXTpvHHay31Glpo
Message-ID: <CAOfgHgrU9gG24TajvER5Q2VQ8R=Uh6wDM6ZG9haPZUF3E4g4+Q@mail.gmail.com>
To: mohamad@yuthent.com
Content-Type: multipart/alternative; boundary="000000000000a98ba3065dd0783f"
X-Spamd-Bar: -----------------------------
Message-ID-Hash: JVOXADOZ7MCOKAB7KLFSL3LINOGQTJXK
X-Message-ID-Hash: JVOXADOZ7MCOKAB7KLFSL3LINOGQTJXK
X-MailFrom: team@emiliaprotocol.ai
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: oauth@ietf.org
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/rTQ-FO-ys4wUHU5ymUlCUkaW2Os>
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>

Hi Mohamad,

Yes. Our Gate tests cover the executor side: a signed receipt covers a $400
USD payout to acct_x. Changing the amount to $9,999.99 is refused before
any provider call:
https://github.com/emiliaprotocol/emilia-protocol/blob/62a4310b82af658cbfb0ec1c83f8405ed3eb3bfe/packages/gate/adapters/stripe.test.js#L71

That test uses synthetic signoffs and a mock Stripe provider. It does not
establish human user verification.

Our individual AE-CHALLENGE -07 draft
<https://www.ietf.org/archive/id/draft-schrock-ae-challenge-07.html#section-1.1>
describes requesting evidence for a resource-derived action and naming
acceptable presentation profiles. Section 1.1 keeps native OAuth
transaction authorization separate rather than replacing it.

Could we use the unchanged approval followed by an amount mutation as a
shared PSEA negative case, checking the binding through to dispatch? We
haven't demonstrated PSEA interoperability yet.

Best,
Iman


On Wed, 14 Oct 2026 18:28:52 +0300, Mohamad Khalil Yossif <mohamad=
40yuthent.com@dmarc.ietf.org> wrote:

> Dapeng, all, > > Yes to the direction. One question about where item 2
ends. > > For most requests the negotiation ends in a token with the right
> fine-grained authority. For a high-consequence action the resource >
server may need more: an approval of the exact parameters, by the > person,
at the moment it runs. RFC 9470 lets the resource server ask > for stronger
authentication, but not for that. Karl's Action-Bound > Approval section in
draft-mcguinness-mission-runtime describes the > gate and leaves open how
the approval is obtained. > > I've been working on one way to produce that
evidence: a signature > on the user's own authenticator, gated by user
verification, over a > canonical digest of the parameters
(draft-yossif-psea-03, one > independent verifier so far). > > Is anyone
else hitting this case: a valid token, the right scope, > and still a need
to show that a person approved this specific > action? If so, it seems
worth having the negotiation give the > resource server a defined way to
ask for it. > > Mohamad