<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp "&#160;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="info"
     docName="draft-baek-audit-absence-claims-00"
     ipr="trust200902"
     submissionType="IETF"
     consensus="false"
     version="3"
     xml:lang="en"
     tocInclude="true"
     sortRefs="true"
     symRefs="true">

  <front>
    <title abbrev="Interval Absence Claims">Interval Absence Claims in Agent Auditing: Problem Statement, Requirements, and Test Scenarios</title>
    <seriesInfo name="Internet-Draft" value="draft-baek-audit-absence-claims-00"/>

    <author fullname="Jungsoo Baek" initials="J." surname="Baek">
      <organization>Certum Systems</organization>
      <address>
        <postal>
          <country>Republic of Korea</country>
        </postal>
        <email>certumsystems@gmail.com</email>
      </address>
    </author>

    <date/>

    <area>Security</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>agent</keyword>
    <keyword>audit</keyword>
    <keyword>authorization</keyword>
    <keyword>revocation</keyword>
    <keyword>evidence</keyword>

    <abstract>
      <t>Audit records for software agents are designed to show what an
      agent did. Relying parties also ask a different question: whether an
      agent could have used a capability at any time during a stated
      interval. Records of actions cannot answer that question, because
      authority that goes unused leaves no record of use, even if it
      existed for part of the interval.</t>
      <t>This document describes the problem of interval absence claims,
      defines terms, lists requirements that an audit evidence system needs
      to meet before it can support such claims, and gives test scenarios
      that expose false claims of absence. It does not define a protocol,
      a data format, or a verification algorithm. It is intended as input
      to discussions of auditing for agent delegation and interactions.</t>
    </abstract>
  </front>

  <middle>

    <section anchor="intro">
      <name>Introduction</name>
      <t>Autonomous and semi-autonomous agents receive credentials, tokens,
      network routes, database privileges, and tool permissions, often for
      short periods and often through several layers of delegation. Work on
      auditing such systems, for example the architecture in
      <xref target="I-D.kuehlewind-audit-architecture"/>, focuses on linking
      user intent, delegation, authorization, and execution so that an
      auditor can reconstruct what happened.</t>
      <t>In incident response, compliance reviews, and customer due
      diligence, the question is often negative rather than positive: during
      the interval from time T0 to time T1, could this agent have used this
      capability on this resource? A "no" answer is an interval absence
      claim. It is a statement about the whole interval, not about the
      actions that happen to be recorded.</t>
      <t>Records of actions cannot carry this claim by themselves. Authority
      that was granted and removed without ever being exercised leaves no
      action record, yet the capability was usable for part of the interval.
      A snapshot of granted capabilities at T0 and another at T1 can both be
      empty in the same case. Records of authorization changes help, but
      only if the auditor also knows that every change was recorded, that
      removal of a grant actually ended its use, and that failures and
      recovery did not create changes outside the record.</t>
      <t>Existing drafts mark this limit. The audit architecture notes that,
      where attestation Evidence is unavailable, "that absence is itself an
      audit-relevant fact and can be recorded"
      (<xref target="I-D.kuehlewind-audit-architecture" section="5"
      sectionFormat="of"/>). That records the absence of evidence; it is not
      evidence of absence. The same document states that it does not solve
      the case of an adversarial service that refuses to record what
      happened at its boundary
      (<xref target="I-D.kuehlewind-audit-architecture" section="8"
      sectionFormat="of"/>). A SCITT profile for agent action receipts has a
      section titled "Absence is not a negative claim"
      (<xref target="I-D.noa-scitt-ai-agent-receipt" section="8.3"
      sectionFormat="of"/>). Several recent drafts make the same point for
      actions: a missing record does not show that an action did not occur
      (<xref target="I-D.zhang-audit-record-limits"/>,
      <xref target="I-D.sergeev-audit-task-requirements"/>).</t>
      <t>This document asks the corresponding question for authority. Its
      subject is a capability that may never have been exercised, and its
      claim covers every point of an interval rather than a particular
      action. <xref target="I-D.zhang-audit-record-limits"/> states that it
      does not address the validity of a delegation or an authorization;
      this document addresses a related question. It does not propose a
      mechanism and does not ask for a new deliverable. It is intended as
      input to the treatment of authorization as a time-evolving state in
      <xref target="I-D.kuehlewind-audit-architecture"/>. It
      describes:</t>
      <ul>
        <li>what an interval absence claim asserts and why action records do
        not establish it (<xref target="problem"/>);</li>
        <li>requirements that an evidence system needs to meet before such
        a claim can be relied on (<xref target="reqs"/>); and</li>
        <li>test scenarios that separate systems that report absence while
        the capability was in fact usable from systems that answer correctly
        (<xref target="tests"/>).</li>
      </ul>
      <t>The requirements are stated as properties of a solution, not as
      protocol conformance requirements, and this document does not use
      the requirements keywords of BCP 14.</t>
    </section>

    <section anchor="terms">
      <name>Terminology</name>
      <dl newline="false" spacing="normal">
        <dt>Capability:</dt>
        <dd>Anything that allows a principal (for example, an agent) to use
        a resource at an enforcement point: a key, token, network route,
        privilege, role membership, or tool permission.</dd>
        <dt>Usable:</dt>
        <dd>A capability is usable by a principal at a point in time if the
        principal could use it at that time to change state or obtain
        information: for example, a credential has been issued and disclosed
        to it and is still accepted where it is presented, a privilege or
        route is in effect at an enforcement point, or lingering authority
        still admits its use. Usability is distinct from use; a usable
        capability may never be exercised.</dd>
        <dt>Covering capability:</dt>
        <dd>A capability, or a combination of capabilities used together,
        that grants at least what the capability in question grants, for
        example a wildcard, a role that includes a privilege, or a policy
        binding that grants a superset of it.</dd>
        <dt>Checkpoint:</dt>
        <dd>A point in the evidence at which the state of the relevant
        records and inventories is fixed and can later be referred to.</dd>
        <dt>Interval absence claim:</dt>
        <dd>A claim that, in a named domain, a named capability and every
        covering capability were not usable by a named principal, or by any
        member of a named set of principals, at any point of an interval
        that begins and ends at checkpoints, including both
        checkpoints.</dd>
        <dt>Lingering authority:</dt>
        <dd>The ability to keep exercising a capability after the
        authoritative state has removed it, for example through an existing
        session, a cached authorization decision, or a long-lived
        connection.</dd>
        <dt>Revocation debt:</dt>
        <dd>Lingering authority, or copies held outside the domain, that
        have not been confirmed as ended after a revocation.</dd>
        <dt>False-safe outcome:</dt>
        <dd>An outcome that reports absence for a capability that was
        usable at some point in the interval.</dd>
      </dl>
      <t>This document uses three outcome categories for an interval absence
      query:</t>
      <dl newline="false" spacing="normal">
        <dt>ABSENT:</dt>
        <dd>The evidence establishes that neither the capability nor any
        covering capability was usable at any point in the interval. This
        outcome needs evidence that is complete under a stated completeness
        property (REQ-4).</dd>
        <dt>PRESENT:</dt>
        <dd>Valid evidence shows that the capability, or a covering
        capability, was usable at some point in the interval. PRESENT does
        not mean that the capability was exercised.</dd>
        <dt>INDETERMINATE:</dt>
        <dd>The evidence is insufficient for either of the other
        outcomes.</dd>
      </dl>
    </section>

    <section anchor="scope">
      <name>Scope and Assumptions</name>
      <t>A claim concerns one principal or a declared set of principals, one
      capability together with its covering capabilities, one domain, and
      one interval.</t>
      <t>The following are assumed:</t>
      <ul>
        <li>Services that grant or remove authority can fail to record, record
        late, crash between a decision and its effect, or be adversarial in
        the sense of <xref target="I-D.kuehlewind-audit-architecture"
        section="8" sectionFormat="of"/>.</li>
        <li>The principal can be adversarial. In particular, it can try to
        keep authority alive, for example by holding a session open across a
        revocation.</li>
        <li>The party that compiles evidence for a relying party is not
        trusted. The relying party, or a verifier acting for it, checks the
        evidence itself.</li>
        <li>The relying party trusts the source of checkpoints and the times
        assigned to them, the keys of the parties that sign records, and, to
        the extent a system relies on it, attestation of the configuration of
        enforcement points and of the paths by which a capability can become
        usable or stop being usable <xref target="RFC9334"/>.</li>
      </ul>
      <t>Out of scope: fabrication of evidence by a party the relying party
      trusts; compromise of the common trust base, including compromise of an
      enforcement point that its attestation does not reveal; authority
      exercised against systems outside the domain; and the separate question
      of whether the principal actually exercised a capability.</t>
    </section>

    <section anchor="problem">
      <name>Problem Statement</name>

      <section anchor="p-silent">
        <name>Action Records Do Not Establish Absence</name>
        <t>Action records describe uses. An absence claim concerns
        usability. The two diverge whenever a capability is usable but not
        exercised: a grant that is issued and withdrawn without use produces
        no action record. If the grant and the withdrawal both happen between
        two inventory snapshots, the snapshots do not show it either. An
        auditor who reasons "no recorded use, therefore no authority" reaches
        a false-safe outcome.</t>
        <t>Records of authorization transitions, such as those described in
        <xref target="I-D.kuehlewind-audit-architecture"/>, close part of
        this gap. An ordered sequence of them reconstructs the authorization
        in force at a time, but only for the transitions that were recorded.
        An absence claim additionally depends on knowing that no transition
        happened outside the record.</t>
      </section>

      <section anchor="p-removal">
        <name>Ambiguous Removals</name>
        <t>Transition records can carry the state before a change; the
        example in <xref target="I-D.kuehlewind-audit-architecture"
        section="7.4" sectionFormat="of"/> has a <tt>previous_state</tt>
        member, which records what the recording system held to be in
        force.</t>
        <t>Consider a request to remove a capability that was never granted,
        and a different case in which the capability was granted through a
        path that did not produce a record and was then removed. The
        recording system can hold the same prior state in both cases. If
        removal records do not distinguish the cases, the evidence for both
        can be the same, and an auditor cannot tell them apart.</t>
      </section>

      <section anchor="p-lingering">
        <name>Removal Is Not the End of Usability</name>
        <t>Many systems check authorization when a session or connection is
        established, or when a request is first admitted, and do not check it
        again for each use. After the authoritative state removes a
        capability, an existing session can continue to exercise it. The
        inventory then correctly shows that the capability is no longer
        granted, while the capability remains usable through lingering
        authority. An absence claim for an interval that starts after the
        removal cannot be supported unless the lingering authority was ended,
        or made unusable, before the interval began. Likewise, a use admitted
        before a removal and still in progress keeps the capability usable
        until that use ends.</t>
        <t>Revocation also does not take effect everywhere at once. OAuth
        token revocation <xref target="RFC7009"/> notes that an invalidation
        can take time to reach every server that accepts a token, and a token
        status list <xref target="I-D.ietf-oauth-status-list"/> describes the
        status of a credential that a relying party has to consult. A relying
        party that does not consult the status on every use, or that holds
        state derived from an earlier check, can still act on the credential.
        Revocation status at a point in time and usability at that point are
        therefore different facts.</t>
      </section>

      <section anchor="p-recovery">
        <name>Failures and Recovery</name>
        <t>Components that change authorization can stop or stall in the
        middle of a change. Recovery procedures then decide whether
        unfinished changes took effect. If a stalled component later resumes
        and applies a grant that recovery recorded as not having taken
        effect, the record and the actual state disagree. Changes that were
        in progress at a checkpoint raise the same question: evidence that
        ignores them can report ABSENT for an interval in which such a change
        took effect.</t>
      </section>

      <section anchor="p-coverage">
        <name>Coverage and Trust</name>
        <t>An absence claim is only as strong as the coverage of the paths
        by which a capability can become usable or stop being usable. A path
        that is not recorded, a recorder that is unavailable, or a service
        that does not record at its boundary leaves a gap. The claim also
        depends on assumptions about the operator, the enforcement point,
        and the keys that protect the evidence. These assumptions differ
        between deployments and need to be stated, because the same outcome
        means different things under different assumptions.</t>
        <t>Agents increasingly act across domains. A record, message, or
        shared state produced in one domain can be the input that makes a
        capability usable in another. An absence claim scoped to one
        domain says nothing about paths that enter it from elsewhere unless
        those paths are accounted for.</t>
      </section>
    </section>

    <section anchor="reqs">
      <name>Requirements for Evidence Systems</name>
      <t>The following requirements describe what an evidence system needs
      to provide before a relying party can treat an ABSENT outcome as
      meaningful. They are independent of record formats and of the
      mechanisms used to meet them.</t>
      <t>REQ-1, REQ-2, REQ-3, REQ-12, and REQ-13 concern the question and
      how outcomes are reported, and apply to any system. The others concern
      what the evidence of a particular deployment has to show; they are
      where that deployment's trust assumptions (REQ-12) come in.</t>
      <dl newline="true" spacing="normal">
        <dt>REQ-1 Bounded question:</dt>
        <dd>An absence claim names the principal, the capability, the
        domain, and an interval that begins and ends at checkpoints and
        includes both. An outcome applies only to that question. Any part of
        the domain excluded from the claim is stated, and the outcome is not
        ABSENT if the excluded part grew during the interval. Where the claim
        names an agent together with the sub-agents it created or delegated
        to, the set includes those that existed during the interval and
        their descendants, and the evidence shows that the set is complete
        over the interval. The outcome is then PRESENT if it is PRESENT for
        any member, and ABSENT only if it is ABSENT for every member.</dd>

        <dt>REQ-2 Three outcomes, biased against false-safe:</dt>
        <dd>A system distinguishes ABSENT, PRESENT, and INDETERMINATE. When
        the evidence for ABSENT is incomplete, it reports INDETERMINATE
        rather than ABSENT. When the evidence shows that the capability was
        usable at some point, the outcome is PRESENT, whatever gaps remain
        elsewhere. A system that always reports
        INDETERMINATE never errs but is of no use; in cases where the stated
        evidence is complete and the capability was not usable at any point,
        a system is expected to report ABSENT.</dd>

        <dt>REQ-3 Covering capabilities:</dt>
        <dd>The claim accounts for every capability that covers the named
        one. Where the covering relation can only be approximated, the
        approximation does not leave out a capability that might cover the
        named one. If the covering relation, or the way capabilities are
        named, changed during the interval, the claim accounts for the
        change. A combination of capabilities counts as usable only at points
        when all of its parts are usable at once; an outcome for a
        combination is ABSENT only if the parts are shown never to have been
        usable at the same time.</dd>

        <dt>REQ-4 Stated completeness:</dt>
        <dd>An ABSENT outcome follows from a completeness property of the
        evidence that the system states and that a verifier can check, for
        example that every path by which the capability can become usable
        was recorded throughout the interval, together with whatever
        inventories the property requires. Partial coverage is not enough.
        If the set of paths or the components that operate them changed
        during the interval, the property covers the paths before and after
        the change.</dd>

        <dt>REQ-5 Consistent endpoint inventories:</dt>
        <dd>Where a claim relies on an inventory of usable capabilities at a
        checkpoint, the inventory is complete for the relevant capabilities
        and is consistent with the record at that checkpoint. A failed or
        inconsistent inventory rules out ABSENT; the outcome is then PRESENT
        if other evidence shows that the capability was usable, and
        INDETERMINATE otherwise.</dd>

        <dt>REQ-6 Unambiguous removals:</dt>
        <dd>Where a claim relies on records of removal, the evidence lets a
        verifier distinguish the removal of a capability that was in force
        from a request concerning a capability that was not, so that the
        two cases of <xref target="p-removal"/> can be told apart.</dd>

        <dt>REQ-7 Changes in progress:</dt>
        <dd>Authorization changes that were in progress at a checkpoint are
        visible to the verifier, and the evidence shows whether any of them
        made the capability usable inside the interval.</dd>

        <dt>REQ-8 Lingering authority and revocation debt:</dt>
        <dd>For an interval that follows a removal, the evidence shows that
        lingering authority derived from the removed capability was ended or
        invalidated before the interval began, or the outcome is not
        ABSENT. Lingering authority that cannot be confirmed as ended is
        reported as revocation debt rather than as removed. Removal of an
        internal capability and deletion of copies held outside the domain
        are reported separately.</dd>

        <dt>REQ-9 Recovery:</dt>
        <dd>Before a checkpoint that follows a failure is relied on, the
        evidence shows that no change begun before the failure can still take
        effect without being recorded.</dd>

        <dt>REQ-10 Link to enforcement:</dt>
        <dd>Where usability is decided at an enforcement point, the evidence
        ties the recorded state to the configuration of the enforcement
        point across the interval. If that configuration could not be
        confirmed at a checkpoint, the outcome is not ABSENT.</dd>

        <dt>REQ-11 Cross-domain inputs:</dt>
        <dd>Where records, messages, or shared state from another domain
        can make a capability usable in the named domain, those inputs are
        treated as paths under REQ-4. An outcome for one domain does not
        imply an outcome for a combination of domains.</dd>

        <dt>REQ-12 Stated assumptions and independent checking:</dt>
        <dd>Each outcome is accompanied by the trust assumptions under
        which it holds, including assumptions about the operator, the
        enforcement point, time sources, and signing keys. A relying party
        can check the outcome against the evidence without relying on the
        operator's own conclusion.</dd>

        <dt>REQ-13 Attribution by effect:</dt>
        <dd>Events are assigned to an interval by when they took effect, not
        by when they were recorded. A removal recorded before the interval
        that takes effect inside it, for example when a lingering session
        ends, belongs to the interval, as does a removal still in progress
        at either checkpoint.</dd>
      </dl>
    </section>

    <section anchor="tests">
      <name>Test Scenarios</name>
      <t>The scenarios below describe runs in which the ground truth is known
      by construction. Each system declares its completeness property
      (REQ-4) before the evaluation, and results state which property each
      run relied on. An evaluation runs each scenario against the system
      under test and compares the reported outcome with the acceptable
      outcomes.</t>
      <t>Scenarios T-1 to T-14 check that a system does not report ABSENT
      without sufficient evidence; the primary measure over them is the
      false-safe rate. Scenarios T-15 to T-22 check usefulness: each has one
      expected outcome, and a system that reports INDETERMINATE in them never
      errs but fails the scenario. In every scenario, PRESENT is a failure
      where the ground truth is not usable. The scenarios are independent of
      any record format.</t>

      <dl newline="true" spacing="normal">
        <dt>T-1 Unused grant:</dt>
        <dd>A capability is granted inside the interval, never used, and
        removed inside the interval. Ground truth: usable. Acceptable:
        PRESENT or INDETERMINATE.</dd>

        <dt>T-2 Ambiguous removal:</dt>
        <dd>Case A: a removal is requested for a capability that was never
        granted. Case B: the capability is made usable through a path that
        produces no record and is then removed through a recorded path.
        Ground truth: A not usable, B usable. Acceptable: for A, ABSENT or
        INDETERMINATE; for B, PRESENT or INDETERMINATE. The two cases are
        scored as a pair, and reporting ABSENT for both is a failure.</dd>

        <dt>T-3 Lingering session after revocation:</dt>
        <dd>A capability is removed before the interval begins, and the
        removal is recorded. An existing session continues to be able to
        exercise the capability during the interval but does not use it.
        Ground truth: usable. Acceptable: PRESENT or INDETERMINATE.</dd>

        <dt>T-4 Late completion after recovery:</dt>
        <dd>A component begins a grant and stalls. Recovery records the
        grant as not having taken effect. The component resumes and applies
        the grant inside the interval. Ground truth: usable. Acceptable:
        PRESENT or INDETERMINATE.</dd>

        <dt>T-5 Change in progress at a checkpoint:</dt>
        <dd>A grant is in progress at the start checkpoint and takes effect
        inside the interval. Ground truth: usable. Acceptable: PRESENT or
        INDETERMINATE.</dd>

        <dt>T-6 Covering capability:</dt>
        <dd>The named capability is never granted, but a covering
        capability (for example, a role that includes it) is usable during
        part of the interval. Ground truth: usable. Acceptable: PRESENT or
        INDETERMINATE.</dd>

        <dt>T-7 Missing evidence (paired):</dt>
        <dd>Two runs leave the same evidence: in both, a piece of evidence on
        which the declared completeness property relies is missing, for
        example an endpoint inventory or the records of one path. In the
        first run the capability is not usable at any point; in the second,
        the missing part would have shown a grant. Acceptable: for the first
        run, INDETERMINATE; for the second, PRESENT or INDETERMINATE.</dd>

        <dt>T-8 Unrecorded path:</dt>
        <dd>The capability is made usable through a path that the stated
        completeness property does not cover, for example an interface added
        during the interval, which produces no record. Ground truth: usable.
        Acceptable: PRESENT or INDETERMINATE.</dd>

        <dt>T-9 Renamed resource:</dt>
        <dd>The resource is renamed during the interval. The capability is
        granted under the old name, and the claim is made under the new one.
        Ground truth: usable. Acceptable: PRESENT or INDETERMINATE.</dd>

        <dt>T-10 Inventory omission:</dt>
        <dd>The capability is usable at the start checkpoint, but the
        inventory taken there omits it. Ground truth: usable. Acceptable:
        PRESENT or INDETERMINATE.</dd>

        <dt>T-11 Record gap:</dt>
        <dd>A grant is made inside the interval, and its record falls in a
        gap in the record sequence. Ground truth: usable. Acceptable:
        PRESENT or INDETERMINATE.</dd>

        <dt>T-12 Growing exclusion:</dt>
        <dd>The excluded part of the domain grows during the interval to
        cover the enforcement point through which the capability was
        granted. Ground truth: usable in the domain as originally stated.
        Acceptable: PRESENT or INDETERMINATE.</dd>

        <dt>T-13 Early completion record:</dt>
        <dd>A grant is recorded as complete at a step that does not yet make
        the capability usable, and a later step makes it usable inside the
        interval without a further record. Ground truth: usable. Acceptable:
        PRESENT or INDETERMINATE.</dd>

        <dt>T-14 Sub-agent:</dt>
        <dd>The claim names an agent and its sub-agents. The agent never
        holds the capability, but a sub-agent holds it during part of the
        interval. In one variant the sub-agent was created before the
        interval; in another it was created during the interval by a step
        that produced no record. Ground truth: usable. Acceptable: PRESENT or
        INDETERMINATE.</dd>

        <dt>T-15 Recorded grant or removal:</dt>
        <dd>Either a grant is made inside the interval through a covered
        path, or a capability usable at the start checkpoint is removed
        inside the interval, and the evidence required by the declared
        completeness property is intact. Ground truth:
        usable. Expected: PRESENT. INDETERMINATE here shows that the system
        does not use evidence it has.</dd>

        <dt>T-16 Busy interval:</dt>
        <dd>Many capabilities that do not cover the named one are granted and
        removed during the interval, in the same domain and through the same
        paths. Neither the named capability nor any covering capability is
        usable at any point, and all evidence required by the stated
        completeness property is present. Ground truth: not usable.
        Expected: ABSENT.</dd>

        <dt>T-17 Removal of a capability not in force:</dt>
        <dd>Case A of T-2, where the evidence distinguishes a removal of a
        capability that was in force from a request concerning one that was
        not (REQ-6) and is otherwise complete. Ground truth: not usable.
        Expected: ABSENT.</dd>

        <dt>T-18 Session ended before the interval:</dt>
        <dd>As in T-3, but the session was ended before the interval began,
        and the evidence shows this (REQ-8). Ground truth: not usable.
        Expected: ABSENT.</dd>

        <dt>T-19 Denied request:</dt>
        <dd>A grant of the capability is requested during the interval and
        denied. Nothing else relevant happens, and all evidence required by
        the stated completeness property is present. Ground truth: not
        usable. Expected: ABSENT.</dd>

        <dt>T-20 Abandoned grant:</dt>
        <dd>A grant of the capability that was in progress at the start
        checkpoint is abandoned, and the evidence shows that it did not take
        effect at any point in the interval (REQ-7). Ground truth: not
        usable. Expected: ABSENT.</dd>

        <dt>T-21 Parts not usable together:</dt>
        <dd>The named capability is realized only by a combination of two
        parts. Each part is usable during the interval, but not at the same
        time, and the evidence establishes the order of each part's grants
        and removals. Ground truth: not usable. Expected: ABSENT
        (REQ-3).</dd>

        <dt>T-22 Quiet interval with complete evidence:</dt>
        <dd>Nothing relevant happens, and all evidence required by the
        system's stated completeness property is present. Ground truth: not
        usable. Expected: ABSENT. This scenario checks that a system meets
        REQ-2 by doing more than reporting INDETERMINATE.</dd>
      </dl>
      <t>Scenarios T-3, T-4, and T-18 depend on the timing of sessions and
      failures. An evaluation that reports results for these scenarios
      states how the ground truth for lingering authority and resumed
      components was established.</t>
    </section>

    <section anchor="audit">
      <name>Relationship to Agent Audit Architecture and Other Work</name>
      <t>The architecture in <xref target="I-D.kuehlewind-audit-architecture"/>
      describes Authorization Transition Records and notes that an ordered
      sequence of them reconstructs the authorization in force at any point
      in a recorded run. The
      requirements above describe what such records would additionally
      need in order to support absence claims. The following questions
      may be useful in discussions of that work:</t>
      <ul>
        <li>Can a stream of authorization transition records state which
        paths it covers, so that an auditor can tell whether a missing
        transition means "none occurred" or "not observed"
        (REQ-4)?</li>
        <li>When a transition record carries a prior state, as in
        <xref target="I-D.kuehlewind-audit-architecture" section="7.4"
        sectionFormat="of"/>, how can an auditor tell the two cases of
        <xref target="p-removal"/> apart (REQ-6)?</li>
        <li>Should an auditor-facing query interface distinguish ABSENT,
        PRESENT, and INDETERMINATE rather than return an empty result for
        "no records found" (REQ-2)?</li>
        <li>Should deployment guidance address lingering authority after
        revocation and its reporting as revocation debt (REQ-8)?</li>
      </ul>
      <t>Other individual drafts in the same discussion address neighbouring
      questions. <xref target="I-D.zhang-audit-record-limits"/> sets out
      what a check of agent audit records can and cannot establish,
      including that the absence of a record is not evidence that an action
      did not occur. <xref target="I-D.sergeev-audit-task-requirements"/>
      ties evidence requirements to specific audit questions and separates
      a missing record from a negative observation; its authority question
      concerns whether an admitted action was within the authority that
      applied at the time. <xref target="I-D.abak-agent-control-delivery-evidence"/>
      separates the decision, dispatch, receipt, enforcement, and observed
      effect of control instructions such as revocation; evidence of that
      kind is an input to REQ-8. Record formats such as
      <xref target="I-D.gilda-audit-agent-audit-record"/> and
      <xref target="I-D.izmaylov-agent-permission-receipts"/> record
      authorization decisions, permissions, cancellations, and receipts, and
      state their own limits, for example that a coverage check does not
      establish that every path was read, or that whoever keeps a log can
      leave out entries. The requirements here concern a different
      question: whether a capability, exercised or not, was usable at any
      point of an interval.</t>
      <t>Transparency services <xref target="RFC9943"/>
      and transparency logs <xref target="RFC9162"/> make the existence and
      order of registered statements verifiable. Non-inclusion of a
      statement in such a log supports an absence claim only when the log is
      known to contain every relevant event, which is a completeness
      property in the sense of REQ-4 rather than a property of the log.
      Remote attestation <xref target="RFC9334"/> can support REQ-10 by
      providing evidence about the configuration of an enforcement
      point.</t>
      <t>Continuous access evaluation events <xref target="CAEP"/>, such as
      session revocation, signal that a session has been revoked; the event
      does not show that the session ended at every place it was in
      use. A token status list
      <xref target="I-D.ietf-oauth-status-list"/> shows the status of the
      tokens it lists, not that no token was issued outside it. Both are
      useful inputs to REQ-8 and REQ-4, but neither is by itself evidence
      that those requirements are met.</t>
    </section>

    <section anchor="security">
      <name>Security Considerations</name>
      <t>The main risk addressed by this document is a false-safe outcome:
      a report that a capability was not usable when it was. Such a report
      can close an incident investigation early, misdirect responsibility,
      or support a compliance statement that is not true. The requirements
      in <xref target="reqs"/> are aimed at preventing false-safe outcomes,
      at the cost of reporting INDETERMINATE more often.</t>
      <t>An ABSENT outcome holds only under its stated assumptions
      (REQ-12). It does not hold against an operator that fabricates
      evidence or omits evidence that the stated completeness property
      relies on, against compromise of the keys that protect the evidence,
      or against a compromised enforcement point. Evidence designs that
      limit the trust placed in any single party reduce these risks but do
      not remove them.</t>
      <t>Omissions of evidence fall into three kinds. Some are visible in the
      evidence itself, such as a gap in a record sequence or a failed
      inventory; they rule out ABSENT (REQ-5, T-7, T-11). Some cannot be
      seen in the evidence but are excluded by the stated assumptions, for
      example an omission that only a trusted signer could make; an ABSENT
      outcome holds only as long as those assumptions do (REQ-12). Any
      other omission means that the stated completeness property is not
      established, and the outcome is not ABSENT (REQ-4).</t>
      <t>PRESENT says nothing about whether a capability was exercised or
      misused. A relying party that reads PRESENT as misuse, or ABSENT as
      proof that no harm occurred through other means, overstates what the
      outcome says.</t>
      <t>Checkpoints depend on time sources and ordering. Clock error and
      delayed observation can move an event across a checkpoint boundary;
      evidence systems account for them when deciding which interval an
      event belongs to.</t>
    </section>

    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <t>Evidence that one capability was absent can reveal information
      about other capabilities and principals. Deployments that share such
      evidence with external auditors consider what it discloses and may
      use selective-disclosure techniques. Absence
      evidence also links a principal to a resource and an interval and
      needs the same retention and access controls as other audit
      records.</t>
    </section>

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

  </middle>

  <back>
    <references>
      <name>Informative References</name>

      <reference anchor="I-D.kuehlewind-audit-architecture" target="https://datatracker.ietf.org/doc/html/draft-kuehlewind-audit-architecture-01">
        <front>
          <title>An Architecture for Auditing Agent Delegation and Interactions</title>
          <author initials="M." surname="Kuehlewind" fullname="Mirja Kuehlewind"/>
          <author initials="H." surname="Birkholz" fullname="Henk Birkholz"/>
          <date year="2026" month="September" day="7"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-kuehlewind-audit-architecture-01"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="I-D.noa-scitt-ai-agent-receipt" target="https://datatracker.ietf.org/doc/html/draft-noa-scitt-ai-agent-receipt-01">
        <front>
          <title>A SCITT Profile for AI-Agent Action Receipts</title>
          <author initials="T." surname="Toraman" fullname="T. Toraman"/>
          <date year="2026" month="August" day="15"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-noa-scitt-ai-agent-receipt-01"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="I-D.zhang-audit-record-limits" target="https://datatracker.ietf.org/doc/html/draft-zhang-audit-record-limits-00">
        <front>
          <title>What an Agent Audit Record Can and Cannot Establish</title>
          <author initials="K." surname="Zhang" fullname="K. Zhang"/>
          <date year="2026" month="October" day="27"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-zhang-audit-record-limits-00"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="I-D.sergeev-audit-task-requirements" target="https://datatracker.ietf.org/doc/html/draft-sergeev-audit-task-requirements-00">
        <front>
          <title>Task-Relative Evidence Requirements for Agent Auditing</title>
          <author initials="M." surname="Sergeev" fullname="M. Sergeev"/>
          <date year="2026" month="October" day="15"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-sergeev-audit-task-requirements-00"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="I-D.abak-agent-control-delivery-evidence" target="https://datatracker.ietf.org/doc/html/draft-abak-agent-control-delivery-evidence-02">
        <front>
          <title>Evidence Requirements for Agent Control Delivery and Outcome Reconciliation</title>
          <author initials="A. T." surname="Abak" fullname="A. T. Abak"/>
          <date year="2026" month="October" day="11"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-abak-agent-control-delivery-evidence-02"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="I-D.gilda-audit-agent-audit-record" target="https://datatracker.ietf.org/doc/html/draft-gilda-audit-agent-audit-record-03">
        <front>
          <title>An Audit Record Format for AI Agent Authorization Decisions</title>
          <author initials="S." surname="Gilda" fullname="S. Gilda"/>
          <date year="2026" month="October" day="29"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-gilda-audit-agent-audit-record-03"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="I-D.izmaylov-agent-permission-receipts" target="https://datatracker.ietf.org/doc/html/draft-izmaylov-agent-permission-receipts-01">
        <front>
          <title>Signed Permissions and Action Receipts for Automated Agents</title>
          <author initials="P." surname="Izmaylov" fullname="P. Izmaylov"/>
          <date year="2026" month="October" day="24"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-izmaylov-agent-permission-receipts-01"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="RFC9943" target="https://www.rfc-editor.org/info/rfc9943">
        <front>
          <title>An Architecture for Trustworthy and Transparent Digital Supply Chains</title>
          <author initials="H." surname="Birkholz" fullname="H. Birkholz"/>
          <author initials="A." surname="Delignat-Lavaud" fullname="A. Delignat-Lavaud"/>
          <author initials="C." surname="Fournet" fullname="C. Fournet"/>
          <author initials="Y." surname="Deshpande" fullname="Y. Deshpande"/>
          <author initials="S." surname="Lasker" fullname="S. Lasker"/>
          <date year="2026" month="June"/>
        </front>
        <seriesInfo name="RFC" value="9943"/>
        <seriesInfo name="DOI" value="10.17487/RFC9943"/>
      </reference>

      <reference anchor="CAEP" target="https://openid.net/specs/openid-caep-1_0.html">
        <front>
          <title>OpenID Continuous Access Evaluation Profile 1.0</title>
          <author initials="T." surname="Cappalli" fullname="T. Cappalli"/>
          <author initials="A." surname="Tulshibagwale" fullname="A. Tulshibagwale"/>
          <date year="2025" month="August"/>
        </front>
        <refcontent>OpenID Foundation</refcontent>
      </reference>

      <reference anchor="I-D.ietf-oauth-status-list" target="https://datatracker.ietf.org/doc/html/draft-ietf-oauth-status-list-21">
        <front>
          <title>Token Status List (TSL)</title>
          <author initials="T." surname="Looker" fullname="Tobias Looker"/>
          <author initials="P." surname="Bastian" fullname="Paul Bastian"/>
          <author initials="C." surname="Bormann" fullname="Christian Bormann"/>
          <date year="2026" month="June" day="21"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-oauth-status-list-21"/>
        <refcontent>Work in Progress</refcontent>
      </reference>

      <reference anchor="RFC7009" target="https://www.rfc-editor.org/info/rfc7009">
        <front>
          <title>OAuth 2.0 Token Revocation</title>
          <author initials="T." surname="Lodderstedt" fullname="T. Lodderstedt" role="editor"/>
          <author initials="S." surname="Dronia" fullname="S. Dronia"/>
          <author initials="M." surname="Scurtescu" fullname="M. Scurtescu"/>
          <date year="2013" month="August"/>
        </front>
        <seriesInfo name="RFC" value="7009"/>
        <seriesInfo name="DOI" value="10.17487/RFC7009"/>
      </reference>

      <reference anchor="RFC9162" target="https://www.rfc-editor.org/info/rfc9162">
        <front>
          <title>Certificate Transparency Version 2.0</title>
          <author initials="B." surname="Laurie" fullname="B. Laurie"/>
          <author initials="E." surname="Messeri" fullname="E. Messeri"/>
          <author initials="R." surname="Stradling" fullname="R. Stradling"/>
          <date year="2021" month="December"/>
        </front>
        <seriesInfo name="RFC" value="9162"/>
        <seriesInfo name="DOI" value="10.17487/RFC9162"/>
      </reference>

      <reference anchor="RFC9334" target="https://www.rfc-editor.org/info/rfc9334">
        <front>
          <title>Remote ATtestation procedureS (RATS) Architecture</title>
          <author initials="H." surname="Birkholz" fullname="H. Birkholz"/>
          <author initials="D." surname="Thaler" fullname="D. Thaler"/>
          <author initials="M." surname="Richardson" fullname="M. Richardson"/>
          <author initials="N." surname="Smith" fullname="N. Smith"/>
          <author initials="W." surname="Pan" fullname="W. Pan"/>
          <date year="2023" month="January"/>
        </front>
        <seriesInfo name="RFC" value="9334"/>
        <seriesInfo name="DOI" value="10.17487/RFC9334"/>
      </reference>
    </references>
  </back>
</rfc>
