<?xml version="1.0" encoding="utf-8"?>
<?xml-model href="rfc7991bis.rnc"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="info"
     docName="draft-reece-wimse-cross-org-delegation-01"
     ipr="trust200902"
     submissionType="IETF"
     tocInclude="true"
     sortRefs="true"
     symRefs="true"
     xml:lang="en"
     version="3">

  <front>
    <title abbrev="Cross-Org Agent Delegation">Cross-Organizational Delegation for Workload and Agent Identity: Problem Statement and Requirements</title>
    <seriesInfo name="Internet-Draft" value="draft-reece-wimse-cross-org-delegation-01"/>
    <author fullname="Morgan Reece" initials="M." surname="Reece">
      <organization>TowerGuardian Consulting</organization>
      <address>
        <postal>
          <city>Austin</city>
          <region>TX</region>
          <country>United States of America</country>
        </postal>
        <email>morganLR@proton.me</email>
      </address>
    </author>
    <date year="2026" month="July" day="30"/>
    <workgroup>WIMSE Working Group</workgroup>

    <abstract>
      <t>Autonomous software agents increasingly act on behalf of human
      principals by invoking tools, services, and other agents, frequently
      across organizational boundaries.  Existing workload and token-based
      authorization mechanisms were designed for a single trust domain and
      a small number of delegation hops.  They do not adequately express,
      constrain, or verify authority that is delegated recursively among
      agents and that crosses the boundary between independently
      administered organizations.  This document describes the problem of
      cross-organizational agent delegation, identifies the gaps in current
      mechanisms, and enumerates requirements that any solution within the
      scope of the Workload Identity in Multi-System Environments (WIMSE)
      working group should satisfy.  It does not specify a solution.</t>
    </abstract>

    <note removeInRFC="true">
      <name>Note to the RFC Editor and Working Group</name>
      <t>Informative references to agent-to-agent and tool-invocation
      protocols, to workload identity credential formats, and to
      status-list-based revocation will be added in a subsequent revision;
      they are omitted here to keep the problem statement
      mechanism-neutral.</t>
    </note>
  </front>

  <middle>

    <section anchor="intro">
      <name>Introduction</name>
      <t>Software agents that incorporate large language models or other
      autonomous decision logic are increasingly deployed to perform tasks
      on behalf of human principals.  A common pattern is for an
      orchestrating agent to decompose a task and delegate sub-tasks to
      specialized sub-agents, each of which may invoke tools or further
      sub-agents.  These tool and agent invocations are frequently mediated
      by protocols such as the Model Context Protocol and agent-to-agent
      messaging, and they increasingly cross the boundary between
      independently administered organizations: an agent operated by one
      organization invokes a tool or agent operated by another.</t>
      <t>The Workload Identity in Multi-System Environments (WIMSE) working
      group is chartered to address identity for workloads that operate
      across multiple systems and trust domains.  Autonomous agents are a
      workload class whose delegation behavior stresses existing identity
      and authorization mechanisms in ways that this document seeks to make
      explicit.</t>
      <t>The authorization question raised at each agent action is not a
      single question but a composition of several: which workload is
      acting; what authority it holds; from whom that authority was
      delegated and through how many intermediaries; on behalf of which
      human principal it ultimately acts; and whether a relying party in a
      different organization can answer all of the foregoing without
      contacting the originating organization at the moment of the call.</t>
      <t>Existing mechanisms answer some of these questions within a single
      trust domain.  This document argues that none answers all of them
      across organizational boundaries, and that the gap is significant
      enough to warrant work within the WIMSE working group.</t>
      <t>This document is a problem statement and requirements document.  It
      deliberately does not propose or endorse any specific mechanism,
      credential format, or token construction.</t>
    </section>

    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
      "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
      NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
      "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
      "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document
      are to be interpreted as described in BCP 14 <xref target="RFC2119"/>
      <xref target="RFC8174"/> when, and only when, they appear in all
      capitals, as shown here.</t>
      <t>This document uses the following terms.</t>
      <dl newline="false" spacing="normal">
        <dt>Agent:</dt>
        <dd>A software workload that performs tasks autonomously,
        potentially invoking tools, services, or other agents.  An agent
        is a workload in the sense of the WIMSE architecture.</dd>
        <dt>Tool:</dt>
        <dd>A function, API, or service that an agent may invoke to take
        an action or retrieve information.</dd>
        <dt>Principal:</dt>
        <dd>The human (or other ultimately-accountable entity) on whose
        behalf an agent acts.</dd>
        <dt>Delegation:</dt>
        <dd>The act of conferring a subset of one entity's authority upon
        another entity.</dd>
        <dt>Delegation chain:</dt>
        <dd>An ordered sequence of delegations originating at a principal
        or an originating agent and proceeding through zero or more
        intermediary agents to the agent that performs an action.</dd>
        <dt>Attenuation:</dt>
        <dd>The narrowing of authority at a delegation step, such that the
        authority conferred is no greater than the authority held.</dd>
        <dt>Originating organization:</dt>
        <dd>The organization whose trust anchor issued the identity or
        authority at the root of a delegation chain.</dd>
        <dt>Relying party:</dt>
        <dd>The entity that receives an agent's request and must decide
        whether to honor it; in cross-organizational cases the relying
        party belongs to a different organization than the originating
        organization.</dd>
      </dl>
    </section>

    <section anchor="problem">
      <name>Problem Statement</name>
      <t>This section describes seven facets of the cross-organizational
      agent delegation problem.  They are interrelated; a solution that
      addresses only a subset leaves exploitable or operationally
      untenable gaps.</t>

      <section anchor="recursive">
        <name>Recursive Delegation Among Agents</name>
        <t>An orchestrating agent commonly delegates a narrowed slice of its
        authority to a sub-agent, which may delegate a further narrowed slice
        to another sub-agent, and so on.  Each step <bcp14>SHOULD</bcp14>
        only be able to narrow authority, never to widen it.  Existing
        bearer-token mechanisms typically express a fixed set of scopes
        granted at issue time and provide no native, verifiable model in
        which authority is recursively attenuated across multiple hops while
        remaining verifiable end-to-end.  Where multi-hop delegation is
        expressed at all, the constraint that a later hop cannot exceed an
        earlier hop is frequently enforced only by the issuing party's
        policy rather than being verifiable by an arbitrary relying party
        from the conveyed authority alone.</t>
      </section>

      <section anchor="boundary">
        <name>Crossing the Organizational Boundary</name>
        <t>When an agent in organization A invokes a tool or agent in
        organization B, organization B's relying party must evaluate
        authority that was issued under organization A's trust anchor.  In
        the general case there is no pre-existing bilateral agreement between
        A and B specific to this interaction.  Mechanisms that assume a
        shared identity provider, a shared policy store, or a pre-provisioned
        federation relationship do not generalize to the open,
        many-to-many case in which agents from numerous organizations
        interact without having been federated in advance.</t>
      </section>

      <section anchor="callback">
        <name>Verification Without a Runtime Callback</name>
        <t>Agent tool invocations can occur at high frequency and with
        stringent latency budgets.  Requiring the relying party to call back
        to the originating organization's infrastructure at the moment of
        each invocation -- to introspect a token, resolve a session, or
        confirm authority -- introduces latency, a runtime availability
        dependency on a third party, and a privacy exposure (the originating
        organization learns each time and where its agent's authority is
        exercised).  A relying party <bcp14>SHOULD</bcp14> be able to reach
        a correct authorization decision from the conveyed authority,
        locally cached trust material, and locally cached revocation state,
        without a synchronous call to the originating organization on the
        critical path.</t>
      </section>

      <section anchor="obo">
        <name>Binding the On-Behalf-Of Principal</name>
        <t>An agent typically acts on behalf of a human principal.  Two
        distinct authorization questions arise at each action and are
        independent of one another: whether the agent is permitted to
        perform the class of action at all, and whether the human principal
        on whose behalf it acts is entitled to the specific resource the
        action targets.  An authorization model that captures only the first
        question permits a "confused deputy", in which an agent authorized
        for a class of action is induced to apply it to a resource belonging
        to some principal other than the one it acts for.  A model that
        resolves the second question by having the agent inherit the
        principal's full set of permissions produces an over-privileged
        deputy, in which compromise of the agent escalates to the full
        authority of the human.  Across a multi-hop, cross-organizational
        delegation chain, the identity of the on-behalf-of principal must be
        conveyed and constrained in a manner that a remote relying party can
        evaluate, and that intermediary agents cannot silently alter.</t>
      </section>

      <section anchor="revocation">
        <name>Revocation and Freshness Across Domains</name>
        <t>Authority conferred on an agent must be revocable, and revocation
        must reach relying parties in other organizations.  Because the
        verification path <bcp14>SHOULD</bcp14> avoid a synchronous callback
        (<xref target="callback"/>), revocation state must be conveyable to
        relying parties out of band and checkable locally, while remaining
        authentic (a revoked authority cannot be made to appear valid) and
        bounded in staleness (a relying party can reason about, and fail
        safe on, the age of its revocation information).  Reconciling
        offline verification with timely cross-domain revocation is a
        central tension.</t>
      </section>

      <section anchor="audit">
        <name>Composable Cross-Domain Audit</name>
        <t>After the fact -- for incident response, compliance, or dispute
        resolution -- it must be possible to reconstruct who authorized a
        given action, through which intermediaries, and on behalf of which
        principal, even though the relevant events were recorded by
        different organizations.  No single organization observes the entire
        delegation chain in a cross-organizational interaction.  The records
        held by each participant must be composable into a coherent
        end-to-end account, and each participant's record must be resistant
        to undetectable alteration.</t>
      </section>

      <section anchor="humanauthz">
        <name>Execution-Time Human Authorization</name>
        <t>Some classes of action are consequential enough that an
        organization's policy requires a human decision at the moment of
        execution, regardless of what standing authority the acting agent
        otherwise holds: releasing a payment above a threshold, deleting or
        exporting a data set, modifying a safety boundary, or triggering a
        physical action in the world.  Within a single trust domain this is
        commonly implemented as step-up authentication or an approval
        workflow anchored at a shared authorization server.  Across a
        multi-hop, cross-organizational delegation chain, three properties
        become difficult to obtain at once: that the requirement itself
        survives delegation, so that no intermediary can shed it; that the
        human's decision is bound to the specific action being taken, rather
        than to a session or to a class of actions; and that the relying
        party which enforces the requirement, possibly offline and in
        another organization, can verify the decision's evidence at the
        moment of enforcement.</t>
        <t>Public discussion has converged on this pattern from several
        directions, including grant-time consent records and challenge-based
        transaction-authorization proposals in the OAuth community,
        "user-mediated escalation" in agent-authorization use-case work, and
        "physical-world action authorization" requirements for embodied
        agents.  These proposals differ in mechanism; they share the
        underlying need this facet states.</t>
      </section>
    </section>

    <section anchor="gaps">
      <name>Gaps in Existing Mechanisms</name>
      <t>The following observations motivate work in this area.  They are
      stated at the level of mechanism classes rather than specific
      documents, to avoid mischaracterizing any individual specification.</t>
      <t>Session-oriented authorization frameworks excel at granting a
      client scoped access within a trust domain but generally assume a
      small, fixed delegation depth and a relying party that can reach the
      authorization server.  Their extension to recursive agent delegation
      across organizations is not native.</t>
      <t>Token exchange mechanisms can express that one party acts on behalf
      of or is impersonating another, but they do not provide a verifiable
      model of recursive attenuation across an arbitrary number of hops, nor
      a guarantee, checkable by an arbitrary relying party, that the
      on-behalf-of principal is invariant along the chain.</t>
      <t>Workload identity mechanisms establish strong identity for
      workloads and increasingly span multiple systems, which is precisely
      the WIMSE remit; the open question this document raises is how
      delegated, attenuated, principal-bound authority is conveyed and
      verified when the workloads in question are agents that delegate to
      one another across organizational boundaries.</t>
      <t>Mechanisms that rely on a shared policy decision point evaluate
      rich policy at runtime but reintroduce a runtime dependency and a
      single administrative domain, which is the dependency
      <xref target="callback"/> seeks to avoid in the cross-organizational
      case.</t>
      <t>The cumulative gap is that no widely deployed mechanism today lets
      a relying party in one organization verify, locally and without a
      callback, a recursively attenuated, principal-bound delegation chain
      that originated in another organization, while supporting cross-domain
      revocation and composable audit.</t>
    </section>

    <section anchor="requirements">
      <name>Requirements</name>
      <t>Any solution within scope <bcp14>SHOULD</bcp14> satisfy the
      following requirements.  They are derived directly from the problem
      facets in <xref target="problem"/> and are stated independently of any
      particular credential format or cryptographic construction.</t>
      <dl newline="false" spacing="normal">
        <dt>R1 (Recursive attenuation):</dt>
        <dd>The mechanism <bcp14>MUST</bcp14> allow authority to be
        delegated through multiple hops such that each hop conveys a subset
        of the authority of the preceding hop, and <bcp14>MUST</bcp14> allow
        a relying party to verify, from the conveyed authority alone, that
        no hop exceeds its predecessor.</dd>
        <dt>R2 (Cross-organizational verification):</dt>
        <dd>A relying party in one organization <bcp14>MUST</bcp14> be able
        to verify authority that originated under another organization's
        trust anchor without a pre-existing bilateral agreement specific to
        the interaction.</dd>
        <dt>R3 (No runtime callback):</dt>
        <dd>The mechanism <bcp14>MUST</bcp14> permit a relying party to
        reach an authorization decision without a synchronous call to the
        originating organization on the critical path, using conveyed
        authority and locally cached trust and revocation material.</dd>
        <dt>R4 (Proof of possession):</dt>
        <dd>The mechanism <bcp14>MUST</bcp14> allow a relying party to
        confirm that the presenting party controls the key to which the
        conveyed authority is bound, so that a captured or relayed
        credential is not usable by another party.</dd>
        <dt>R5 (Principal binding and invariance):</dt>
        <dd>The mechanism <bcp14>MUST</bcp14> be able to convey the
        on-behalf-of principal along the delegation chain and
        <bcp14>MUST</bcp14> allow a relying party to verify that
        intermediary agents have not altered the identity of that
        principal.</dd>
        <dt>R6 (Dual-axis authorization):</dt>
        <dd>The mechanism <bcp14>MUST</bcp14> support authorization
        decisions that depend both on the agent's conveyed authority and on
        the entitlements of the bound principal, such that an action is
        permitted only when both admit it.</dd>
        <dt>R7 (Authentic, bounded-staleness revocation):</dt>
        <dd>The mechanism <bcp14>MUST</bcp14> support revocation whose
        authenticity is verifiable offline and whose staleness is bounded,
        so that a relying party can fail safe when its revocation
        information is older than a configured bound.</dd>
        <dt>R8 (Tamper-evident, composable audit):</dt>
        <dd>The mechanism <bcp14>SHOULD</bcp14> enable each participant to
        record its portion of a delegation in a manner resistant to
        undetectable alteration, and <bcp14>SHOULD</bcp14> enable those
        records to be composed into an end-to-end account of an action's
        provenance.</dd>
        <dt>R9 (Format and transport agnosticism):</dt>
        <dd>The requirements above <bcp14>SHOULD</bcp14> be expressible over
        the identity and messaging mechanisms already in use for agents and
        workloads, rather than presupposing a single new transport.</dd>
        <dt>R10 (Execution-time human authorization):</dt>
        <dd>It <bcp14>MUST</bcp14> be possible to designate classes of
        actions as requiring, at execution time, evidence of an
        authorization decision made by an accountable human approver
        distinct from the executing agent.  The designation
        <bcp14>MUST</bcp14> be carried within the delegated authority
        itself, and derivation <bcp14>MUST</bcp14> be able to tighten but
        never remove it.  The evidence <bcp14>MUST</bcp14> be bound to the
        specific action, including its arguments, its target resource, and
        the on-behalf-of principal; <bcp14>MUST</bcp14> be verifiable by the
        relying party at the moment of enforcement from conveyed or locally
        cached material, without a synchronous dependency on the originating
        organization or on an approval-orchestration service; and
        <bcp14>MUST</bcp14> be relied upon at most once.  A relying party
        that does not recognize a designation <bcp14>MUST</bcp14> treat the
        designated action as unauthorized.  This requirement deliberately
        does not select among challenge-based, evidence-carrying, or other
        approaches to satisfying it.</dd>
      </dl>
    </section>

    <section anchor="nongoals">
      <name>Non-Goals</name>
      <t>This document does not address the correctness of an agent's
      internal reasoning.  Mechanisms that constrain delegated authority
      bound what an agent is permitted to do; they do not prevent an agent
      from misusing authority it legitimately holds, for example as a result
      of prompt injection.  Defense against such misuse is complementary and
      out of scope here.</t>
      <t>This document does not address confidentiality of agent payloads
      beyond what is implied by ordinary transport security, nor does it
      address denial-of-service resistance except where a design choice in a
      future solution would create an asymmetric amplification.</t>
      <t>This document does not select among credential formats, signature
      schemes, or policy languages, and does not endorse any specific
      product or implementation.</t>
    </section>

    <section anchor="security">
      <name>Security Considerations</name>
      <t>This document is a problem statement; its security considerations
      are the security properties that a future solution must provide, which
      are stated as requirements in <xref target="requirements"/> (notably
      R1, R4, R5, R7, and R10) and as problem facets in
      <xref target="problem"/>.</t>
      <t>Several tensions deserve explicit attention by any solution.  The
      avoidance of a runtime callback (R3) is in tension with timely
      revocation (R7); a solution must make the staleness of offline
      revocation state explicit and must fail safe.  The reliance on a
      relying party's local trust material for cross-organizational
      verification (R2) makes the integrity of that trust material, and of
      the means by which it is resolved and cached, a high-value target; a
      solution must ensure that the trust root used to verify a remote
      organization's authority cannot be silently substituted.  The binding
      of an on-behalf-of principal (R5) is only meaningful if the binding is
      integrity-protected end to end, including against modification by the
      intermediary agents that form the delegation chain.</t>
      <t>Requirement R10 introduces considerations of its own.  An
      execution-time approval is only as meaningful as the fidelity of what
      the approver was shown: a solution must ensure that the action
      presented for approval and the action bound into the evidence are the
      same action, and that no party, including the executing agent itself,
      can alter one relative to the other.  The at-most-once reliance
      property becomes a distributed-consumption problem when a relying
      party is replicated, and its failure mode must be refusal rather than
      double reliance.  Fail-closed treatment of unrecognized designations
      is what preserves the requirement across verifiers of differing
      capability; a fail-open interpretation would convert the newest
      designation into the weakest link.  Finally, R3 and R10 compose
      deliberately: the human's decision may be obtained through any
      interactive means, but verification of its evidence at the point of
      enforcement inherits R3's offline discipline.</t>
      <t>Where authority is long-lived, or where audit records must remain
      verifiable over a multi-year retention period, the long-term
      resistance of the chosen cryptographic mechanisms, including under a
      future quantum-capable adversary, is a consideration for any solution;
      data and signatures recorded today may need to remain unforgeable for
      the lifetime of the audit obligation.</t>
    </section>

    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>

  </middle>

  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="Scott Bradner"/>
            <date year="1997" month="March"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="Barry Leiba"/>
            <date year="2017" month="May"/>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8693" target="https://www.rfc-editor.org/info/rfc8693">
          <front>
            <title>OAuth 2.0 Token Exchange</title>
            <author initials="M." surname="Jones" fullname="Michael B. Jones"/>
            <author initials="A." surname="Nadalin" fullname="Anthony Nadalin"/>
            <author initials="B." surname="Campbell" fullname="Brian Campbell" role="editor"/>
            <author initials="J." surname="Bradley" fullname="John Bradley"/>
            <author initials="C." surname="Mortimore" fullname="Chuck Mortimore"/>
            <date year="2020" month="January"/>
          </front>
          <seriesInfo name="RFC" value="8693"/>
          <seriesInfo name="DOI" value="10.17487/RFC8693"/>
        </reference>
        <reference anchor="WIMSE-ARCH" target="https://datatracker.ietf.org/doc/html/draft-ietf-wimse-arch-08">
          <front>
            <title>Workload Identity in a Multi System Environment (WIMSE) Architecture</title>
            <author initials="J. A." surname="Salowey" fullname="Joseph A. Salowey"/>
            <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho"/>
            <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig"/>
            <date year="2026" month="July" day="6"/>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-wimse-arch-08"/>
          <refcontent>Work in Progress</refcontent>
        </reference>
      </references>
    </references>

    <section anchor="changes">
      <name>Changes Since -00</name>
      <ul spacing="normal">
        <li>Added <xref target="humanauthz"/>, describing the execution-time
        human-authorization facet of the problem.</li>
        <li>Added requirement R10 (execution-time human authorization) to
        <xref target="requirements"/>, stated mechanism-independently.</li>
        <li>Added security considerations for R10 to
        <xref target="security"/>, and included R10 in the list of
        security-relevant requirements.</li>
        <li>Completed the <xref target="WIMSE-ARCH"/> informative reference
        (authors, exact title, draft name, version, and URL).</li>
        <li>Updated the facet count in <xref target="problem"/> and the
        Table of Contents; corrected an expiry-date inconsistency in the
        -00 boilerplate; editorial fixes.</li>
      </ul>
    </section>

  </back>
</rfc>
