<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc [
<!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;">
]>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude"
     category="std"
     consensus="true"
     docName="draft-gravit-verifiable-epistemic-decision-00"
     ipr="trust200902"
     submissionType="IETF"
     xml:lang="en"
     version="3">

  <front>
    <title abbrev="Gravit VEDS">Gravit Verifiable Epistemic Decision Standard</title>

    <seriesInfo name="Internet-Draft" value="draft-gravit-verifiable-epistemic-decision-00"/>

    <author initials="A." surname="Konviser" fullname="Alex Konviser">
      <organization>Gravit Open Network</organization>
      <address>
        <postal>
          <street></street>
          <city>Zurich</city>
          <region></region>
          <code></code>
          <country>Switzerland</country>
        </postal>
        <email>ietf@gravit.space</email>
        <uri>https://gravit.space/</uri>
      </address>
    </author>

    <date/>

    <area>General</area>

    <keyword>epistemic</keyword>
    <keyword>verifiable</keyword>
    <keyword>decision-making</keyword>
    <keyword>traceability</keyword>
    <keyword>auditability</keyword>

    <abstract>
      <t>
        This document defines the normative requirements for the Gravit
        decision-making system. Gravit's core principle is to base all
        definitive decisions exclusively on verifiable epistemic grounds.
        This specification establishes mandatory rules for evidence
        admissibility, epistemic classification, traceability, failure
        handling, auditability, and security in adversarial environments,
        including a taxonomy of admissible evidence and failure outcomes,
        a required Decision Record format, and an explicit threat model
        with corresponding verification mechanisms. The goal is to ensure
        that all decisions are reproducible, auditable, and resistant to
        manipulation, thereby fostering trust and accountability in
        distributed and high-stakes settings.
      </t>
    </abstract>
  </front>

  <middle>

    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>
        Gravit is a decision-making system architected to produce outputs
        that are rigorously grounded in evidence. The foundational premise
        is that for a decision to be legitimate and trustworthy, it must be
        possible to independently verify the basis upon which it was made.
      </t>
      <t>
        The purpose of this standard is to codify this principle into a
        set of concrete, enforceable requirements. It is intended to
        prevent decisions based on unverifiable assertions, unsupported
        hypotheses, or opaque inference paths. This standard is
        particularly relevant for technical implementations in
        distributed, adversarial, or regulated environments where the
        legitimacy of a decision depends on its external verifiability
        and auditability.
      </t>
      <t>
        <xref target="requirements"/> organizes the normative requirements
        into six areas: epistemic classification
        (<xref target="epistemic-validity"/>), evidence admissibility
        (<xref target="evidence-admissibility"/>), traceability
        (<xref target="traceability-req"/>), failure handling
        (<xref target="failure-handling"/>), auditability
        (<xref target="auditability"/>), and security against adversarial
        evidence (<xref target="security-resistance"/>). Each area is
        specified through, as applicable, a taxonomy or model of the
        relevant concern, a procedure or set of mechanisms for applying
        it, and a list of normative requirements. Several
        deployment-specific parameters that this document deliberately
        leaves undefined (for example, decision-impact thresholds, or a
        Decision Record retention period) are collected under a single
        Conformance Statement mechanism defined in
        <xref target="conformance"/>.
      </t>
      <t>
        This document specifies what a conformant Gravit implementation
        must guarantee about the decisions it produces; it does not
        specify a particular protocol for performing the underlying
        evidence verification steps referenced in
        <xref target="evidence-admissibility"/> and
        <xref target="security-resistance"/>. This document is informed
        by, and intended to be usable together with, prior work referred
        to as GEVP, which defines one mechanism for evidence
        verification (see <xref target="GEVP"/>). An implementation
        satisfying the properties required by this document is not
        required to use GEVP specifically, provided its verification
        mechanism satisfies the requirements of
        <xref target="evidence-admissibility"/> and
        <xref target="security-resistance"/>.
      </t>
      <t>
        Requirements comparable to those in this document, particularly
        the marking and detectability of AI-generated or AI-manipulated
        content, are also addressed by external regulatory frameworks,
        such as Article 50 of Regulation (EU) 2024/1689
        <xref target="EU-AI-ACT-ART50"/>. This document does not
        implement or claim conformance with any specific regulatory
        framework; it is cited here only to note that a Gravit
        implementation's evidence, provenance, and traceability
        guarantees may be relevant to satisfying such external
        obligations, subject to independent legal assessment.
      </t>
    </section>

    <section anchor="terminology" numbered="true" toc="default">
      <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>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this
        document are to be interpreted as described in BCP&nbsp;14
        <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.
      </t>
      <t>
        For the purposes of this document, the following terms are defined:
      </t>
      <dl newline="false" spacing="normal">
        <dt>Verifiable Epistemic Ground:</dt>
        <dd>
          A fact, proof, data point, attestation, or inference chain that
          can be independently and objectively checked for validity,
          integrity, and correctness by a third party, without requiring
          privileged access to internal system states.
        </dd>
        <dt>Evidence:</dt>
        <dd>
          Any artifact, including data, logs, cryptographic proofs,
          attestations, or trace records, that is used to support or
          justify a decision.
        </dd>
        <dt>Traceability:</dt>
        <dd>
          The ability to reconstruct the complete, auditable chain of
          reasoning from a final decision back to the specific set of
          initial epistemic grounds and inference steps that produced it.
        </dd>
        <dt>Fallback Mode:</dt>
        <dd>
          A documented, non-default operating mode in which Gravit may
          operate with reduced decision authority or rely on explicitly
          defined and authorized heuristic processes when normal
          verification procedures fail. Authorization of a Fallback Mode
          configuration, including the conditions under which it may be
          entered and the parties responsible for approving it, is an
          operational and deployment concern outside the scope of this
          document, but implementations claiming conformance <bcp14>MUST</bcp14>
          document their authorization procedure in their Conformance
          Statement (see <xref target="conformance-statement"/>).
        </dd>
        <dt>Failure State:</dt>
        <dd>
          One of a fixed set of machine-readable outcomes (REJECTED,
          DEGRADED, or PENDING; see <xref target="failure-handling"/>)
          that Gravit reports when it does not produce an unqualified
          definitive decision. A Failure State is itself a decision
          outcome and is subject to the same traceability requirements
          as a definitive decision (see <xref target="traceability-req"/>).
        </dd>
        <dt>Decision Record:</dt>
        <dd>
          The complete, structured artifact that binds a definitive
          decision or Failure State to its evidentiary basis, provenance
          metadata, and timestamps, as required by
          <xref target="auditability"/>. The Decision Record is the unit
          of storage referenced by all retention and audit requirements
          in this document.
        </dd>
      </dl>
    </section>

    <section anchor="scope" numbered="true" toc="default">
      <name>Scope</name>
      <t>
        This document applies to all decision-making functions performed
        by the Gravit system. This includes, but is not limited to, direct
        decisions, decisions aggregated from multiple sources, and
        decisions delegated to or influenced by external subsystems.
      </t>
      <t>
        This document defines requirements for the verifiability and
        traceability of decisions, not the specific internal inference
        algorithms or machine learning models themselves. Such algorithms
        are in scope only insofar as their operation affects the system's
        ability to meet the verification, traceability, and conformance
        requirements outlined herein.
      </t>
    </section>

    <section anchor="requirements" numbered="true" toc="default">
      <name>Requirements</name>

      <section anchor="epistemic-validity" numbered="true" toc="default">
        <name>Epistemic Validity</name>

        <section anchor="epistemic-classification-taxonomy" numbered="true" toc="default">
          <name>Epistemic Classification Taxonomy</name>
          <t>
            Gravit <bcp14>MUST</bcp14> classify every epistemic ground
            into exactly one of the following classes before it may
            contribute to a decision:
          </t>
          <dl newline="false" spacing="normal">
            <dt>Verified Fact:</dt>
            <dd>
              An epistemic ground that has passed the admissibility
              procedure in <xref target="admissibility-determination"/>
              and whose content has additionally been independently
              confirmed accurate, and not merely attributable and
              intact, through reproduction, cross-corroboration, or
              equivalent means.
            </dd>
            <dt>Probabilistic Assessment:</dt>
            <dd>
              An epistemic ground that assigns a likelihood or
              confidence value to a proposition, derived from a
              documented and reproducible method (e.g., a statistical
              inference procedure or a forecasting model with disclosed
              inputs), without asserting the proposition as
              definitively true.
            </dd>
            <dt>Speculative Claim:</dt>
            <dd>
              An epistemic ground whose truth cannot currently be
              verified or falsified through reproducible means,
              including unconfirmed reports, unattributed assertions,
              or model outputs lacking a documented confidence method.
            </dd>
          </dl>
          <t>
            The Verifiable Basis requirement of
            <xref target="epistemic-requirements"/>
            <bcp14>MUST</bcp14> be satisfied using Verified Facts,
            Probabilistic Assessments, or a combination thereof only; a
            Speculative Claim <bcp14>MUST NOT</bcp14>, alone or in
            combination with other Speculative Claims, be treated as
            satisfying that requirement. Where a Probabilistic Assessment
            serves as part of the basis for a definitive decision, its
            confidence value <bcp14>SHOULD</bcp14> meet or exceed a
            documented, decision-class-specific threshold consistent with
            the Impact-Based Evidence Strength requirement in
            <xref target="admissibility-requirements"/>.
          </t>
        </section>

        <section anchor="epistemic-classification-procedure" numbered="true" toc="default">
          <name>Classification Determination and Reclassification</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Pre-Use Classification</strong>: Gravit
              <bcp14>MUST</bcp14> determine the epistemic classification
              of a ground as a discrete step, completed before that
              ground is used in decision-making, in the same manner as
              the admissibility determination in
              <xref target="admissibility-determination"/>.</t>
            </li>
            <li>
              <t><strong>No Aggregation Laundering</strong>: Gravit
              <bcp14>MUST NOT</bcp14> treat the aggregation of multiple
              Speculative Claims as producing an epistemic status
              equivalent to a Verified Fact or Probabilistic Assessment,
              unless that aggregation is performed by a documented,
              independently verifiable method that itself qualifies as
              a Probabilistic Assessment under
              <xref target="epistemic-classification-taxonomy"/>.</t>
            </li>
            <li>
              <t><strong>Reclassification on Contrary Evidence</strong>:
              Gravit <bcp14>MUST</bcp14> reclassify an epistemic ground
              upon receipt of credible evidence contradicting its prior
              classification, and <bcp14>MUST</bcp14> re-evaluate any
              definitive decision for which the reclassified ground was
              part of the necessary basis under
              <xref target="epistemic-classification-taxonomy"/>.</t>
            </li>
            <li>
              <t><strong>Reclassification Record</strong>: Gravit
              <bcp14>MUST</bcp14> record a reclassification event,
              including the prior and new classification and the
              triggering evidence, in the Decision Record of any
              decision affected by it, per
              <xref target="decision-record-content"/>.</t>
            </li>
          </ol>
        </section>

        <section anchor="epistemic-requirements" numbered="true" toc="default">
          <name>Requirements</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Verifiable Basis</strong>: Gravit <bcp14>MUST</bcp14>
              base every definitive decision on verifiable epistemic
              grounds.</t>
            </li>
            <li>
              <t><strong>Prohibition on Unverifiable Inputs</strong>: Gravit
              <bcp14>MUST NOT</bcp14> base any decision, in whole or in
              part, on an unverifiable assertion, unsupported hypothesis,
              or unvalidated inference.</t>
            </li>
            <li>
              <t><strong>Epistemic Classification</strong>: Gravit
              <bcp14>MUST</bcp14> clearly distinguish between and
              internally label different types of epistemic grounds, per
              <xref target="epistemic-classification-taxonomy"/>.</t>
            </li>
            <li>
              <t><strong>Preference for Reproducibility</strong>: Gravit
              <bcp14>SHOULD</bcp14> prefer evidence that can be
              independently reproduced or verified by a third party.</t>
            </li>
            <li>
              <t><strong>Use of Speculative Signals</strong>: Gravit
              <bcp14>MAY</bcp14> use speculative signals only as
              non-decisive inputs, provided they do not determine the
              final outcome of a definitive decision without subsequent
              verification.</t>
            </li>
          </ol>
        </section>
      </section>

      <section anchor="evidence-admissibility" numbered="true" toc="default">
        <name>Evidence Admissibility</name>

        <section anchor="admissibility-elements" numbered="true" toc="default">
          <name>Required Elements of Admissible Evidence</name>
          <t>
            Gravit <bcp14>MUST NOT</bcp14> treat an item as admissible
            unless it carries, or can be resolved to, all of the
            following:
          </t>
          <ol type="a" spacing="normal">
            <li><t><strong>Provenance</strong>: an identifiable source or
            origin (e.g., signer identity, system of record, sensor
            identifier) sufficient to attribute the item to a specific,
            nameable origin.</t></li>
            <li><t><strong>Integrity</strong>: a means of detecting
            modification since origination (e.g., a cryptographic digest
            or signature covering the item's content).</t></li>
            <li><t><strong>Freshness Bound</strong>: a timestamp or
            validity interval sufficient to determine whether the item is
            stale relative to the decision being made; Gravit
            <bcp14>MUST</bcp14> define, per deployment, the maximum age
            at which an otherwise-valid item ceases to be admissible for
            a given decision class.</t></li>
            <li><t><strong>Interpretability</strong>: a documented schema,
            encoding, or semantics sufficient for the item's content to
            be unambiguously interpreted without reliance on undocumented
            local convention.</t></li>
          </ol>
          <t>
            An item missing any element in this list <bcp14>MUST</bcp14>
            be treated as inadmissible under
            <xref target="admissibility-requirements"/>, regardless of
            the apparent plausibility of its content.
          </t>
        </section>

        <section anchor="admissibility-determination" numbered="true" toc="default">
          <name>Determination Procedure</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Pre-Use Determination</strong>: Gravit
              <bcp14>MUST</bcp14> determine admissibility as a discrete
              step that completes, with a recorded outcome, before the
              item is used in any decision-making process; admissibility
              <bcp14>MUST NOT</bcp14> be determined implicitly as a side
              effect of the decision computation itself.</t>
            </li>
            <li>
              <t><strong>Binary Outcome</strong>: The admissibility
              determination for a given item <bcp14>MUST</bcp14> produce
              exactly one of two outcomes (admissible or inadmissible)
              for a given decision context; Gravit
              <bcp14>MUST NOT</bcp14> propagate a "partially admissible"
              item into decision-making without first resolving it to
              one of these two outcomes.</t>
            </li>
            <li>
              <t><strong>Inadmissibility Recording</strong>: Gravit
              <bcp14>MUST</bcp14> record the specific element from
              <xref target="admissibility-elements"/> that caused an
              item to be found inadmissible, for inclusion in the
              Decision Record if the item's absence contributed to a
              REJECTED or DEGRADED outcome (see
              <xref target="failure-taxonomy"/>).</t>
            </li>
            <li>
              <t><strong>Non-Reuse of Rejected Items</strong>: Gravit
              <bcp14>MUST NOT</bcp14> reuse an item found inadmissible in
              a later determination for the same decision context unless
              the specific deficiency identified under requirement 3 of
              this section has been remedied.</t>
            </li>
          </ol>
        </section>

        <section anchor="admissibility-requirements" numbered="true" toc="default">
          <name>Requirements</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Source and Proof Linkage</strong>: Gravit
              <bcp14>MUST</bcp14> reject any input that cannot be linked
              to a verifiable source, a cryptographic proof, or a
              traceable inference chain.</t>
            </li>
            <li>
              <t><strong>Pre-Use Validation</strong>: Gravit
              <bcp14>MUST</bcp14> validate the admissibility of evidence
              before using it in any decision-making process, per
              <xref target="admissibility-determination"/>.</t>
            </li>
            <li>
              <t><strong>Admissibility Criteria</strong>: Gravit
              <bcp14>MUST NOT</bcp14> treat an item as admissible evidence
              if its provenance, integrity, or interpretation cannot be
              established, per <xref target="admissibility-elements"/>.</t>
            </li>
            <li>
              <t><strong>Evidence Preservation</strong>: Gravit
              <bcp14>SHOULD</bcp14> preserve evidence, including items
              found inadmissible, in a form suitable for later audit and
              independent review.</t>
            </li>
            <li>
              <t><strong>Impact-Based Evidence Strength</strong>: Gravit
              <bcp14>MAY</bcp14> require stronger forms of evidence (e.g.,
              cryptographic proofs instead of digital signatures) for
              decisions with higher potential impact, provided the
              elevated requirement is defined in terms of the elements in
              <xref target="admissibility-elements"/> and not as an
              undocumented, ad hoc criterion.</t>
            </li>
          </ol>
        </section>
      </section>

      <section anchor="traceability-req" numbered="true" toc="default">
        <name>Traceability</name>

        <section anchor="contribution-attribution-format" numbered="true" toc="default">
          <name>Contribution Attribution Format</name>
          <t>
            Where Gravit records the contribution of an evidence item to
            a decision, per the Contribution Attribution requirement in
            <xref target="traceability-requirements"/>, that record
            <bcp14>MUST</bcp14> include:
          </t>
          <ol type="a" spacing="normal">
            <li><t>a reference to the specific evidence item, resolvable
            to the item as determined admissible under
            <xref target="admissibility-determination"/>;</t></li>
            <li><t>the item's epistemic classification at the time of
            use, per <xref target="epistemic-classification-taxonomy"/>;</t></li>
            <li><t>a description of the role the item played in the
            outcome (e.g., necessary condition, weighted factor,
            corroborating support, disqualifying condition); and</t></li>
            <li><t>where the decision process is quantitative, the
            item's individual weight or score contribution to the
            outcome, to the extent the process supports isolating that
            contribution.</t></li>
          </ol>
          <t>
            An attribution record that identifies only that an item was
            "used," without the role or weight information in this
            list, <bcp14>MUST NOT</bcp14> be treated as satisfying the
            Contribution Attribution requirement.
          </t>
        </section>

        <section anchor="reconstruction-procedure" numbered="true" toc="default">
          <name>Audit Trail Reconstruction Procedure</name>
          <t>
            To satisfy the Audit Trail Completeness requirement in
            <xref target="traceability-requirements"/>, Gravit
            <bcp14>SHOULD</bcp14> support, at minimum, the following
            reconstruction steps from a Decision Record (see
            <xref target="decision-record-content"/>) alone, without
            reliance on Gravit's internal runtime state:
          </t>
          <ol type="1" spacing="normal">
            <li><t>identification of every evidence item referenced in
            the Decision Record;</t></li>
            <li><t>independent verification of each item's admissibility,
            per <xref target="admissibility-elements"/>;</t></li>
            <li><t>independent verification of each item's epistemic
            classification, per
            <xref target="epistemic-classification-taxonomy"/>; and</t></li>
            <li><t>confirmation that the recorded decision logic maps
            the referenced evidence, with its recorded roles or weights
            per <xref target="contribution-attribution-format"/>, to the
            recorded outcome.</t></li>
          </ol>
          <t>
            An implementation that cannot support step 4 of this
            procedure for a given decision <bcp14>SHOULD</bcp14> record
            that limitation explicitly as part of the assurance
            boundaries required by
            <xref target="auditability-requirements"/>.
          </t>
        </section>

        <section anchor="traceability-requirements" numbered="true" toc="default">
          <name>Requirements</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Decision-Evidence Relationship</strong>: Gravit
              <bcp14>MUST</bcp14> maintain a traceable relationship
              between each definitive decision and the evidentiary basis
              used to produce it.</t>
            </li>
            <li>
              <t><strong>Contribution Attribution</strong>: Gravit
              <bcp14>MUST</bcp14> record which specific evidence items
              influenced a decision and, where applicable, the nature and
              extent of their contribution to the final result, per
              <xref target="contribution-attribution-format"/>.</t>
            </li>
            <li>
              <t><strong>Segregation of Premises</strong>: Gravit
              <bcp14>MUST NOT</bcp14> merge verified and unverified
              premises in a way that prevents their clear and unambiguous
              separation during an audit.</t>
            </li>
            <li>
              <t><strong>Audit Trail Completeness</strong>: Gravit
              <bcp14>SHOULD</bcp14> provide an audit trail sufficient to
              fully reconstruct the decision process, per
              <xref target="reconstruction-procedure"/>.</t>
            </li>
            <li>
              <t><strong>Trace Fidelity</strong>: A recorded trace or
              explanation <bcp14>MUST NOT</bcp14> represent a reasoning
              path that did not, in fact, produce the recorded outcome;
              Gravit <bcp14>MUST NOT</bcp14> substitute a plausible
              post-hoc rationalization for the actual decision logic in
              any record used to satisfy this section.</t>
            </li>
            <li>
              <t><strong>Limited Disclosure</strong>: Gravit <bcp14>MAY</bcp14>
              expose only a limited trace when full disclosure would
              violate security, privacy, or policy constraints.</t>
            </li>
          </ol>
        </section>
      </section>

      <section anchor="failure-handling" numbered="true" toc="default">
        <name>Failure Handling</name>

        <section anchor="failure-taxonomy" numbered="true" toc="default">
          <name>Failure State Taxonomy</name>
          <t>
            Gravit <bcp14>MUST</bcp14> classify every non-definitive
            outcome into exactly one of the following Failure States, and
            <bcp14>MUST NOT</bcp14> define additional outcome types that
            are not reducible to one of these three without updating this
            specification:
          </t>
          <dl newline="false" spacing="normal">
            <dt>REJECTED:</dt>
            <dd>
              No verifiable epistemic basis exists and none is expected
              to become available without a material change in inputs.
              Gravit <bcp14>MUST NOT</bcp14> automatically retry a
              REJECTED request with the same evidence set.
            </dd>
            <dt>DEGRADED:</dt>
            <dd>
              A decision was produced, but only by operating in an
              authorized Fallback Mode (see <xref target="terminology"/>)
              with reduced decision authority. A DEGRADED outcome
              <bcp14>MUST</bcp14> be labeled as such and
              <bcp14>MUST NOT</bcp14> be represented to downstream
              consumers as equivalent to an unqualified definitive
              decision.
            </dd>
            <dt>PENDING:</dt>
            <dd>
              Verification could not be completed within the applicable
              time or resource bounds, but a verifiable basis may become
              available (e.g., outstanding corroboration, an unresolved
              proof). A PENDING outcome <bcp14>MUST</bcp14> carry either
              a retry policy or an explicit expiry, after which it
              <bcp14>MUST</bcp14> transition to REJECTED.
            </dd>
          </dl>
        </section>

        <section anchor="failure-requirements" numbered="true" toc="default">
          <name>Requirements</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Refusal with No Basis</strong>: Gravit
              <bcp14>MUST</bcp14> refuse to produce a definitive decision
              when no verifiable epistemic basis is available, and
              <bcp14>MUST</bcp14> classify the refusal as REJECTED per
              <xref target="failure-taxonomy"/>.</t>
            </li>
            <li>
              <t><strong>Fail-Closed Default</strong>: When Gravit cannot
              determine which Failure State applies, or cannot complete
              classification within the applicable time bound, it
              <bcp14>MUST</bcp14> default to REJECTED rather than
              producing an unqualified definitive decision or silently
              defaulting to a permissive outcome.</t>
            </li>
            <li>
              <t><strong>Degraded Mode Entry</strong>: Gravit
              <bcp14>MUST</bcp14> enter DEGRADED or REJECTED when
              evidence verification fails for a required decision, and
              <bcp14>MUST NOT</bcp14> enter DEGRADED except through an
              authorized Fallback Mode configuration as defined in
              <xref target="terminology"/>.</t>
            </li>
            <li>
              <t><strong>Prohibition on Unverified Heuristics</strong>:
              Gravit <bcp14>MUST NOT</bcp14> substitute heuristics or
              unverified approximations for formal verification unless
              explicitly operating in a documented and authorized
              fallback mode, as defined in <xref target="terminology"/>.</t>
            </li>
            <li>
              <t><strong>No Silent Retry with Weakened Evidence</strong>:
              Gravit <bcp14>MUST NOT</bcp14> re-attempt a decision using
              a relaxed admissibility threshold (see
              <xref target="evidence-admissibility"/>) as an automatic
              response to a REJECTED or DEGRADED outcome; any change to
              the admissibility threshold <bcp14>MUST</bcp14> be an
              explicit, separately authorized action.</t>
            </li>
            <li>
              <t><strong>PENDING Bounds</strong>: Gravit <bcp14>MUST</bcp14>
              bound the duration or resource cost of a PENDING outcome
              and <bcp14>MUST</bcp14> transition it to REJECTED upon
              expiry, as required by <xref target="failure-taxonomy"/>.</t>
            </li>
            <li>
              <t><strong>Failure Record</strong>: Gravit <bcp14>MUST</bcp14>
              produce a Decision Record (see <xref target="terminology"/>)
              for every REJECTED, DEGRADED, or PENDING outcome, subject
              to the same traceability requirements in
              <xref target="traceability-req"/> as a definitive
              decision.</t>
            </li>
            <li>
              <t><strong>Explanation of Refusal</strong>: Gravit
              <bcp14>SHOULD</bcp14> return a clear and actionable
              explanation for its refusal to decide when such disclosure
              is safe and operationally useful, and <bcp14>SHOULD</bcp14>
              include the applicable Failure State in that explanation.</t>
            </li>
            <li>
              <t><strong>Request for Additional Evidence</strong>: Gravit
              <bcp14>MAY</bcp14> request additional evidence from trusted
              sources before attempting to decide again, and
              <bcp14>MAY</bcp14> represent the interim state as PENDING
              while such evidence is outstanding.</t>
            </li>
            <li>
              <t><strong>Repeated-Failure Signaling</strong>: Gravit
              <bcp14>MAY</bcp14> escalate or flag a source or evidence
              path that produces repeated REJECTED outcomes for
              subsequent handling under
              <xref target="security-resistance"/>, but such signaling
              <bcp14>MUST NOT</bcp14> itself be used as grounds for a
              definitive decision.</t>
            </li>
          </ol>
        </section>
      </section>

      <section anchor="auditability" numbered="true" toc="default">
        <name>Auditability and Assurance</name>

        <section anchor="decision-record-content" numbered="true" toc="default">
          <name>Decision Record Content</name>
          <t>
            Each Decision Record (see <xref target="terminology"/>)
            <bcp14>MUST</bcp14> contain, at minimum:
          </t>
          <ol type="a" spacing="normal">
            <li><t>a unique, stable identifier for the decision or
            Failure State;</t></li>
            <li><t>the outcome (definitive decision value, or Failure
            State per <xref target="failure-taxonomy"/>);</t></li>
            <li><t>references to every evidence item that influenced the
            outcome, and its individual contribution where determinable,
            per <xref target="traceability-req"/>;</t></li>
            <li><t>the epistemic classification (verified fact,
            probabilistic assessment, speculative claim; see
            <xref target="epistemic-validity"/>) of each referenced
            evidence item;</t></li>
            <li><t>a verifiable timestamp of both evidence collection and
            decision production, per
            <xref target="timestamping"/>;</t></li>
            <li><t>an explicit statement of assurance boundaries, per
            requirement 3 of this section, when the decision is
            DEGRADED or relies on any non-reproducible evidence.</t></li>
          </ol>
        </section>

        <section anchor="timestamping" numbered="true" toc="default">
          <name>Timestamping and Record Integrity</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Verifiable Timestamps</strong>: Gravit
              <bcp14>MUST</bcp14> associate each Decision Record with a
              timestamp that is itself verifiable (e.g., derived from a
              trusted time source or a cryptographic timestamping
              scheme), and <bcp14>MUST NOT</bcp14> rely solely on an
              unauthenticated local clock value for records used in
              audit or dispute resolution.</t>
            </li>
            <li>
              <t><strong>Tamper Evidence</strong>: Gravit
              <bcp14>SHOULD</bcp14> store Decision Records in a form that
              is tamper-evident (e.g., via cryptographic hashing or hash
              chaining across records), such that undetected
              post-hoc modification of a stored Decision Record is
              computationally infeasible.</t>
            </li>
            <li>
              <t><strong>Immutability After Finalization</strong>: Gravit
              <bcp14>MUST NOT</bcp14> modify a finalized Decision Record
              in place; corrections <bcp14>MUST</bcp14> be represented as
              new, separately timestamped records that reference the
              record they supersede.</t>
            </li>
          </ol>
        </section>

        <section anchor="retention" numbered="true" toc="default">
          <name>Retention and Access</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Retention Period</strong>: An implementation
              claiming conformance <bcp14>MUST</bcp14> define and
              document a minimum retention period for Decision Records,
              commensurate with the operational, regulatory, or
              contractual audit requirements of its deployment context;
              this document does not mandate a specific duration.</t>
            </li>
            <li>
              <t><strong>Machine-Readable Structure</strong>: Gravit
              <bcp14>SHOULD</bcp14> store Decision Records in a
              structured, machine-readable format to support automated
              audit tooling and independent re-verification.</t>
            </li>
            <li>
              <t><strong>Access Control on Audit Data</strong>: Gravit
              <bcp14>SHOULD</bcp14> restrict write access to stored
              Decision Records to the decision-production process
              itself, and <bcp14>SHOULD</bcp14> make read access
              available to designated auditors independent of that
              process.</t>
            </li>
          </ol>
        </section>

        <section anchor="auditability-requirements" numbered="true" toc="default">
          <name>Requirements</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Decision Auditability</strong>: Gravit
              <bcp14>MUST</bcp14> ensure that definitive decisions are
              auditable against the full, recorded evidence set.</t>
            </li>
            <li>
              <t><strong>Provenance Metadata</strong>: Gravit
              <bcp14>MUST</bcp14> preserve sufficient metadata, per
              <xref target="decision-record-content"/>, to support post
              hoc verification of decision provenance.</t>
            </li>
            <li>
              <t><strong>Explicit Assurance Boundaries</strong>: Gravit
              <bcp14>SHOULD</bcp14> make assurance boundaries explicit,
              clearly documenting what was verified, what was assumed,
              and what remains unknown.</t>
            </li>
            <li>
              <t><strong>External Verification Support</strong>: Gravit
              <bcp14>MAY</bcp14> publish partial proofs or attestations
              to support external verification.</t>
            </li>
            <li>
              <t><strong>Minimizing Opaque Paths</strong>: Gravit
              <bcp14>SHOULD</bcp14> minimize the use of opaque decision
              paths where a verifiable path is feasible.</t>
            </li>
            <li>
              <t><strong>Independent Re-Verification</strong>: Gravit
              <bcp14>SHOULD</bcp14> structure Decision Records such that
              an independent auditor with access to the referenced
              evidence can reconstruct the outcome without access to
              Gravit's internal runtime state.</t>
            </li>
          </ol>
        </section>
      </section>

      <section anchor="security-resistance" numbered="true" toc="default">
        <name>Security and Adversarial Resistance</name>

        <section anchor="threat-model" numbered="true" toc="default">
          <name>Threat Model</name>
          <t>
            Gravit <bcp14>MUST</bcp14> be designed and operated under the
            assumption that an adversary may possess some or all of the
            following capabilities with respect to evidence entering the
            system:
          </t>
          <dl newline="false" spacing="normal">
            <dt>Forgery:</dt>
            <dd>
              The ability to generate evidence-like artifacts purporting
              to originate from a legitimate source that did not, in
              fact, produce them.
            </dd>
            <dt>Tampering:</dt>
            <dd>
              The ability to modify the content of evidence in transit
              or at rest, between the time it was originated and the
              time it is used in a decision.
            </dd>
            <dt>Replay:</dt>
            <dd>
              The ability to capture previously valid evidence and
              resubmit it outside the context, decision, or freshness
              window (see <xref target="admissibility-elements"/>) for
              which it was originally produced.
            </dd>
            <dt>Source Spoofing:</dt>
            <dd>
              The ability to cause evidence to be attributed to a source
              other than its actual origin, including impersonation of a
              trusted source's identity or credentials.
            </dd>
            <dt>Collusion:</dt>
            <dd>
              The ability to cause multiple, ostensibly independent
              sources to act in coordination, so as to satisfy a
              corroboration requirement without providing genuinely
              independent confirmation.
            </dd>
            <dt>Verification-Path Flooding:</dt>
            <dd>
              The ability to submit high volumes of low-quality,
              malformed, or spurious evidence with the intent of
              exhausting verification resources or inducing the system
              to relax its admissibility or verification standards under
              load.
            </dd>
          </dl>
          <t>
            This list defines the minimum threat coverage required for
            conformance; it does not preclude an implementation from
            defending against additional threats specific to its
            deployment context.
          </t>
        </section>

        <section anchor="verification-mechanisms" numbered="true" toc="default">
          <name>Required Verification Mechanisms</name>
          <t>
            For each threat identified in <xref target="threat-model"/>,
            Gravit <bcp14>MUST</bcp14> apply the corresponding
            countermeasure:
          </t>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Cryptographic Integrity Binding</strong>: To
              defend against Tampering, Gravit <bcp14>MUST</bcp14>
              verify a cryptographic digest or signature covering the
              evidence content, per the Integrity element defined in
              <xref target="admissibility-elements"/>, before the
              evidence is used.</t>
            </li>
            <li>
              <t><strong>Authenticity Binding</strong>: To defend against
              Forgery and Source Spoofing, Gravit <bcp14>MUST</bcp14>
              verify a binding between the evidence and a specific,
              nameable origin, per the Provenance element defined in
              <xref target="admissibility-elements"/>, using credentials
              or identity proofs that the claimed source could
              plausibly, and only the claimed source could plausibly,
              have produced.</t>
            </li>
            <li>
              <t><strong>Replay Defense</strong>: To defend against
              Replay, Gravit <bcp14>MUST</bcp14> enforce the Freshness
              Bound element defined in
              <xref target="admissibility-elements"/> and
              <bcp14>SHOULD</bcp14> additionally bind evidence to a
              nonce, sequence number, or decision-specific context value
              where the evidence format supports it, such that a
              previously valid item cannot be revalidated for a
              different decision without detection.</t>
            </li>
            <li>
              <t><strong>Independent Corroboration Threshold</strong>: To
              defend against Collusion, Gravit <bcp14>SHOULD</bcp14>
              require corroboration from more than one source for
              decisions above a defined impact threshold (see the
              Impact-Based Evidence Strength requirement in
              <xref target="admissibility-requirements"/>). Gravit
              <bcp14>MUST NOT</bcp14> treat two sources as independent
              for the purpose of satisfying a corroboration requirement
              when they are known to share a controlling party, a
              common infrastructure dependency, or another relationship
              that would allow a single actor to influence both.</t>
            </li>
            <li>
              <t><strong>Resource Bounding Under Load</strong>: To defend
              against Verification-Path Flooding, Gravit
              <bcp14>MUST</bcp14> bound the verification resources
              committed per source or per request, and
              <bcp14>MUST</bcp14> respond to resource exhaustion by
              producing a REJECTED or PENDING Failure State (see
              <xref target="failure-taxonomy"/>) for the affected
              requests rather than by relaxing admissibility criteria or
              verification depth to relieve load.</t>
            </li>
          </ol>
        </section>

        <section anchor="security-requirements" numbered="true" toc="default">
          <name>Requirements</name>
          <ol type="1" spacing="normal">
            <li>
              <t><strong>Adversarial Assumption</strong>: Gravit
              <bcp14>MUST</bcp14> assume that all incoming evidence may
              be incomplete, stale, malformed, or adversarially
              manipulated, consistent with the threat model in
              <xref target="threat-model"/>.</t>
            </li>
            <li>
              <t><strong>Integrity and Authenticity Verification</strong>:
              Gravit <bcp14>MUST</bcp14> verify the integrity and
              authenticity of evidence before relying on it, per
              <xref target="verification-mechanisms"/>.</t>
            </li>
            <li>
              <t><strong>Rejection of Tampered Evidence</strong>: Gravit
              <bcp14>MUST NOT</bcp14> accept forged, replayed, or
              tampered evidence as a valid basis for decision-making.</t>
            </li>
            <li>
              <t><strong>Uniform Failure Path for Verification Failure</strong>:
              Gravit <bcp14>MUST</bcp14> treat evidence that fails
              integrity, authenticity, or replay verification as
              inadmissible under <xref target="evidence-admissibility"/>
              and process it through the ordinary admissibility and
              failure-handling paths defined in
              <xref target="failure-handling"/>, rather than through a
              separate, undocumented error path.</t>
            </li>
            <li>
              <t><strong>Source-Based Verification</strong>: Gravit
              <bcp14>SHOULD</bcp14> apply stronger verification checks to
              evidence originating from untrusted or partially trusted
              sources.</t>
            </li>
            <li>
              <t><strong>Isolation of Trust Levels</strong>: Gravit
              <bcp14>SHOULD</bcp14> isolate the processing path for
              evidence from untrusted or partially trusted sources from
              privileged internal state, such that a flaw in the
              handling of a single untrusted evidence item cannot by
              itself grant broader access to, or control over, the
              decision-making process.</t>
            </li>
            <li>
              <t><strong>Source Confidence vs. Verification</strong>: Gravit
              <bcp14>MAY</bcp14> assign confidence levels to sources as an
              auxiliary signal for prioritizing or scheduling verification
              work (for example, determining the order in which evidence
              items are checked, or the amount of independent
              corroboration sought). Such confidence levels
              <bcp14>MUST NOT</bcp14> be used as a substitute for the
              direct verification of the evidence itself, and
              <bcp14>MUST NOT</bcp14> independently increase or decrease
              the admissibility of evidence as determined under
              <xref target="evidence-admissibility"/>.</t>
            </li>
          </ol>
        </section>
      </section>
    </section>

    <section anchor="conformance" numbered="true" toc="default">
      <name>Conformance</name>

      <section anchor="conformance-levels" numbered="true" toc="default">
        <name>Conformance Levels</name>
        <t>
          An implementation of Gravit conforms to this specification only
          if it satisfies all requirements marked with the keywords
          <bcp14>MUST</bcp14>, <bcp14>MUST NOT</bcp14>,
          <bcp14>REQUIRED</bcp14>, <bcp14>SHALL</bcp14>, or
          <bcp14>SHALL NOT</bcp14>.
        </t>
        <t>
          Requirements marked <bcp14>SHOULD</bcp14>, <bcp14>SHOULD NOT</bcp14>,
          or <bcp14>RECOMMENDED</bcp14> are considered best practices; any
          deviation from them <bcp14>MUST</bcp14> be explicitly justified
          by documented operational constraints and risks, and that
          justification <bcp14>MUST</bcp14> be recorded in the
          implementation's Conformance Statement (see
          <xref target="conformance-statement"/>).
        </t>
        <t>
          Requirements marked <bcp14>MAY</bcp14> or <bcp14>OPTIONAL</bcp14>
          are optional capabilities and do not affect an implementation's
          conformance.
        </t>
      </section>

      <section anchor="conformance-statement" numbered="true" toc="default">
        <name>Conformance Statement</name>
        <t>
          This document deliberately leaves a number of parameters to be
          defined at the deployment level rather than fixing them
          normatively. An implementation claiming conformance
          <bcp14>MUST</bcp14> publish and maintain a Conformance
          Statement that documents, at minimum:
        </t>
        <ol type="a" spacing="normal">
          <li><t>its Fallback Mode authorization procedure, including
          the conditions under which Fallback Mode may be entered and
          the parties responsible for approving it (see
          <xref target="terminology"/> and
          <xref target="failure-taxonomy"/>);</t></li>
          <li><t>its decision-impact classes and, for each, the
          corresponding evidence-strength requirements and, where
          applicable, the minimum Probabilistic Assessment confidence
          threshold (see <xref target="admissibility-requirements"/> and
          <xref target="epistemic-classification-taxonomy"/>);</t></li>
          <li><t>its Decision Record retention period (see
          <xref target="retention"/>);</t></li>
          <li><t>its criteria for treating two sources as independent
          for the purpose of the Independent Corroboration Threshold
          mechanism (see <xref target="verification-mechanisms"/>); and</t></li>
          <li><t>any SHOULD-level or RECOMMENDED-level deviations in
          effect and their justification, per
          <xref target="conformance-levels"/>.</t></li>
        </ol>
        <t>
          An implementation <bcp14>MUST NOT</bcp14> claim conformance to
          this specification while any parameter listed in this section
          remains undocumented. The Conformance Statement is a
          deployment-level artifact and is distinct from the Decision
          Record defined in <xref target="decision-record-content"/>;
          this document does not mandate a specific format or
          distribution mechanism for it.
        </t>
      </section>
    </section>

    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>
        This section discusses security considerations in terms of the
        threat model defined in <xref target="threat-model"/>, the
        residual risks that remain after applying the mitigations in
        <xref target="verification-mechanisms"/>, and considerations
        that fall outside the scope of the normative requirements in
        <xref target="requirements"/>.
      </t>

      <section anchor="sec-cons-evidence" numbered="true" toc="default">
        <name>Evidence Manipulation</name>
        <t>
          The primary security risk for systems like Gravit is the
          acceptance of maliciously crafted or corrupted evidence, which
          could lead to incorrect decisions. Implementations
          <bcp14>MUST</bcp14> treat all incoming evidence as untrusted
          until it has successfully passed the verification requirements
          defined in <xref target="evidence-admissibility"/> and
          <xref target="security-resistance"/>, covering, at minimum,
          the Forgery, Tampering, Replay, and Source Spoofing threat
          classes identified in <xref target="threat-model"/>.
        </t>
      </section>

      <section anchor="sec-cons-residual" numbered="true" toc="default">
        <name>Residual Risks</name>
        <t>
          The mitigations required by this document reduce, but do not
          eliminate, the risks associated with the threat model in
          <xref target="threat-model"/>. Implementers and deployers
          should be aware of the following residual risks:
        </t>
        <ul spacing="normal">
          <li>
            <t><strong>Fail-Closed as an Availability Target</strong>:
            The Fail-Closed Default and Resource Bounding Under Load
            requirements (see <xref target="failure-requirements"/> and
            <xref target="verification-mechanisms"/>) mean that an
            adversary who cannot forge admissible evidence may instead
            attempt a denial-of-service attack by flooding Gravit with
            low-quality or malformed evidence, with the goal of
            consuming verification resources and forcing legitimate
            decisions into REJECTED or PENDING. This document
            deliberately accepts unavailability as the safe failure mode
            in preference to producing an unverified decision; deployers
            requiring resilience against this specific attack
            <bcp14>SHOULD</bcp14> apply deployment-level defenses (e.g.,
            request prioritization, per-source rate limiting, or
            capacity overprovisioning) in addition to, and outside the
            scope of, the requirements in this document.
          </t>
          </li>
          <li>
            <t><strong>Collusion Resistance Is Not Absolute</strong>:
            The Independent Corroboration Threshold requirement (see
            <xref target="verification-mechanisms"/>) is stated at the
            <bcp14>SHOULD</bcp14> level and depends on an
            implementation's ability to correctly identify
            relationships between sources. An adversary capable of
            establishing sources that appear independent by every
            criterion the implementation checks, but are not in fact
            independently controlled, can defeat corroboration.
            Deployments supporting decisions with severe potential
            impact <bcp14>SHOULD</bcp14> elevate this requirement to a
            local <bcp14>MUST</bcp14> and invest in stronger,
            deployment-specific independence criteria.
          </t>
          </li>
          <li>
            <t><strong>Trust Anchor and Credential Management</strong>:
            The Authenticity Binding mechanism (see
            <xref target="verification-mechanisms"/>) presumes the
            existence of a mechanism for establishing and distributing
            the credentials, keys, or identity proofs against which
            source authenticity is checked. The provisioning, rotation,
            revocation, and compromise recovery of such trust anchors
            are deployment-specific security concerns that this document
            does not define; an otherwise-conformant implementation
            remains vulnerable to Forgery and Source Spoofing if its
            trust anchor management is weak.
          </t>
          </li>
        </ul>
      </section>

      <section anchor="sec-cons-opaque" numbered="true" toc="default">
        <name>Opaque Decision Logic</name>
        <t>
          A second significant risk is the presence of hidden or opaque
          decision logic that prevents external auditing and obscures
          the reasoning process. To address this, Gravit implementations
          <bcp14>SHOULD</bcp14> retain comprehensive provenance and
          metadata, per <xref target="decision-record-content"/>, to
          support later forensic review, especially in systems where
          decisions affect safety, access control, governance, or
          financial outcomes. Relying on heuristics or fallback modes
          outside of documented and justified circumstances, contrary to
          the Prohibition on Unverified Heuristics requirement in
          <xref target="failure-requirements"/>, introduces brittleness
          and should be considered a security vulnerability in its own
          right.
        </t>
      </section>
    </section>

    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>

  </middle>

  <back>
    <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="S. Bradner">
            <organization/>
          </author>
          <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="B. Leiba">
            <organization/>
          </author>
          <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="GEVP" target="https://datatracker.ietf.org/doc/draft-gravit-gevp/">
        <front>
          <title>Gravit Evidence Verification Protocol (GEVP)</title>
          <author initials="A." surname="Konviser" fullname="Alex Konviser">
            <organization>Gravit Open Network Foundation</organization>
          </author>
          <date year="2026"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-gravit-gevp-06"/>
      </reference>
      <reference anchor="EU-AI-ACT-ART50" target="https://eur-lex.europa.eu/eli/reg/2024/1689/oj/eng">
        <front>
          <title>Regulation (EU) 2024/1689 of the European Parliament and of
          the Council of 13 June 2024 laying down harmonised rules on
          artificial intelligence (Artificial Intelligence Act), Article 50
          (Transparency obligations for providers and deployers of certain
          AI systems)</title>
          <author>
            <organization>European Parliament and Council of the European Union</organization>
          </author>
          <date year="2024" month="June" day="13"/>
        </front>
      </reference>
    </references>

    <section anchor="acknowledgments" numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>
        This specification was informed by the requirement language
        defined in BCP&nbsp;14 <xref target="RFC2119"/>
        <xref target="RFC8174"/> and the general industry need for
        transparent, traceable, and auditable decision-making systems in
        adversarial environments.
      </t>
    </section>

    <section anchor="change-log" numbered="true" toc="default">
      <name>Change Log</name>
      <t>[This section to be removed by the RFC Editor before publication;
      retained here for -00 tracking purposes.]</t>
      <t>-00: Initial version.</t>
      <t>
        This document is a companion policy standard to
        draft-gravit-gevp (currently at -06, POSTED), which is
        maintained as a separate document line and is not renumbered or
        superseded by this document's version counter.
      </t>
    </section>

  </back>
</rfc>
