<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.38 (Ruby 4.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ayerbe-trip-protocol-04" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="TRIP">TRIP: Trajectory-based Recognition of Identity Proof</title>
    <seriesInfo name="Internet-Draft" value="draft-ayerbe-trip-protocol-04"/>
    <author initials="C." surname="Ayerbe Posada" fullname="Camilo Ayerbe Posada">
      <organization>ULISSY s.r.l.</organization>
      <address>
        <postal>
          <street>Via Gaetano Sacchi 16</street>
          <city>Roma</city>
          <region>RM</region>
          <code>00153</code>
          <country>Italy</country>
        </postal>
        <email>cayerbe@gmail.com</email>
      </address>
    </author>
    <author initials="M." surname="Usama Sardar" fullname="Muhammad Usama Sardar">
      <organization>TU Dresden</organization>
      <address>
        <postal>
          <city>Dresden</city>
          <country>Germany</country>
        </postal>
        <email>muhammad_usama.sardar@tu-dresden.de</email>
      </address>
    </author>
    <date year="2026" month="May" day="08"/>
    <area>Security</area>
    <workgroup>RATS</workgroup>
    <keyword>trajectory</keyword>
    <keyword>identity</keyword>
    <keyword>proof-of-humanity</keyword>
    <keyword>breadcrumb</keyword>
    <keyword>attestation</keyword>
    <keyword>RATS</keyword>
    <keyword>criticality</keyword>
    <abstract>
      <?line 138?>

<t>This document specifies the Trajectory-based Recognition of
Identity Proof (TRIP) protocol, a decentralized mechanism for
establishing claims of physical-world presence through
cryptographically signed, spatially quantized location
attestations called "breadcrumbs." Breadcrumbs are chained into
an append-only log, bundled into verifiable epochs, and
distilled into a Trajectory Identity Token (TIT) that serves
as a persistent pseudonymous identifier.</t>
      <t>The protocol employs a Criticality Engine grounded in
statistical physics to distinguish biological movement from
synthetic trajectories. Power Spectral Density (PSD) analysis
detects the 1/f signature of Self-Organized Criticality in
human mobility through the PSD scaling exponent alpha. A
six-component Hamiltonian energy function scores each
breadcrumb against the identity's learned behavioral profile
in real time.</t>
      <t>This revision (-03) addresses three areas identified through
expert review by researchers in the statistical physics
community: it replaces informal terminology with standard
spectral analysis nomenclature; it provides the analytical
and numerical bridge between the Levy flight displacement
exponent and the PSD scaling exponent; and it introduces a
convergence analysis framework for quantifying the minimum
trajectory length required for reliable single-trajectory
classification. Additionally, this revision removes Passive
Verification mode entirely, requiring all Attestation Results
to be bound to Relying Party nonces via the Active
Verification Protocol.</t>
      <t>TRIP is designed to be transport-agnostic and operates
independently of any particular naming system, blockchain,
or application layer.</t>
    </abstract>
  </front>
  <middle>
    <?line 175?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Conventional approaches to proving that an online actor
corresponds to a physical human being rely on biometric
capture, government-issued documents, or knowledge-based
challenges. Each technique introduces a centralized trust
anchor, creates honeypots of personally identifiable
information (PII), and is susceptible to replay or deepfake
attacks.</t>
      <t>TRIP takes a fundamentally different approach: it treats
sustained physical movement through the real world as evidence
of embodied existence. A TRIP-enabled device periodically
records its position as a "breadcrumb" -- a compact,
privacy-preserving, cryptographically signed attestation that
the holder of a specific Ed25519 key pair was present in a
particular spatial cell at a particular time. An adversary who
controls only digital infrastructure cannot fabricate a
plausible trajectory because doing so requires controlling
radio-frequency environments (GPS, Wi-Fi, cellular, IMU) at
many geographic locations over extended periods.</t>
      <t>This document specifies the data structures, algorithms,
and verification procedures that constitute the TRIP
protocol. It intentionally omits transport bindings,
naming-system integration, and blockchain anchoring, all
of which are expected to be addressed in companion
specifications.</t>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>Terms defined in the RATS Architecture <xref target="RFC9334"/>
(Attester, Evidence, Verifier, Attestation Result, Relying
Party) are used throughout this document with their RFC 9334
meanings. Additional terms specific to TRIP:</t>
        <dl>
          <dt>Breadcrumb:</dt>
          <dd>
            <t>A single, signed attestation of spatiotemporal presence.
The atomic unit of TRIP Evidence.</t>
          </dd>
          <dt>Trajectory:</dt>
          <dd>
            <t>An ordered, append-only chain of breadcrumbs produced by
a single identity key pair.</t>
          </dd>
          <dt>Epoch:</dt>
          <dd>
            <t>A bundle of breadcrumbs (default 100) sealed with a
Merkle root, forming a verifiable checkpoint.</t>
          </dd>
          <dt>Trajectory Identity Token (TIT):</dt>
          <dd>
            <t>A pseudonymous identifier derived from an Ed25519 public
key paired with trajectory metadata.</t>
          </dd>
          <dt>Criticality Engine:</dt>
          <dd>
            <t>The analytical subsystem that evaluates trajectory
statistics for signs of biological Self-Organized Criticality
(SOC). In RATS terms, the Criticality Engine is a component
of the Verifier.</t>
          </dd>
          <dt>PSD Scaling Exponent (alpha):</dt>
          <dd>
            <t>The slope of the Power Spectral Density of the
displacement time series in log-log space. This quantity is
referred to in the spectral analysis literature as the
"spectral exponent" or "scaling exponent." Human mobility
produces alpha values in the range [0.30, 0.80],
corresponding to 1/f pink noise -- the spectral signature
of systems operating at criticality, as demonstrated by
Parisi's work on scale-free correlations in biological
systems <xref target="PARISI-NOBEL"/>.</t>
          </dd>
          <dt>Hamiltonian (H):</dt>
          <dd>
            <t>A weighted energy function that quantifies how much a
new breadcrumb deviates from the identity's learned
behavioral profile.</t>
          </dd>
          <dt>Anchor Cell:</dt>
          <dd>
            <t>An H3 cell where an identity has historically spent
significant time (e.g., home, workplace).</t>
          </dd>
          <dt>Flock:</dt>
          <dd>
            <t>The set of co-located TRIP entities whose aggregate
movement provides a reference signal for alignment
verification.</t>
          </dd>
          <dt>Proof-of-Humanity (PoH) Certificate:</dt>
          <dd>
            <t>A compact Attestation Result containing only statistical
exponents derived from the trajectory, with no raw location
data.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="rats-mapping">
      <name>RATS Architecture Mapping</name>
      <t>TRIP implements the Remote ATtestation procedureS (RATS)
architecture defined in <xref target="RFC9334"/>. This section
provides the normative mapping between TRIP components and
RATS roles, establishes the attestation topology, and
frames the detailed protocol mechanics defined in
subsequent sections.</t>
      <section anchor="role-mapping">
        <name>Role Mapping</name>
        <table anchor="rats-roles">
          <name>TRIP-to-RATS Role Mapping</name>
          <thead>
            <tr>
              <th align="left">RATS Role</th>
              <th align="left">TRIP Component</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Attester</td>
              <td align="left">TRIP-enabled mobile device</td>
              <td align="left">Collects breadcrumbs, signs them with the identity Ed25519 private key, chains them into the append-only trajectory log, and transmits H3-quantized Evidence to the Verifier.</td>
            </tr>
            <tr>
              <td align="left">Evidence</td>
              <td align="left">Breadcrumbs and epoch records</td>
              <td align="left">H3-quantized spatiotemporal claims including cell identifiers, timestamps, context digests, chain hashes, and Ed25519 signatures. Evidence is transmitted from Attester to Verifier.</td>
            </tr>
            <tr>
              <td align="left">Verifier</td>
              <td align="left">Criticality Engine</td>
              <td align="left">Receives Evidence, performs chain verification, computes PSD scaling exponents (<xref target="psd-analysis"/>), fits Levy flight parameters (<xref target="levy-flights"/>), evaluates the six-component Hamiltonian (<xref target="hamiltonian"/>), and produces Attestation Results.</td>
            </tr>
            <tr>
              <td align="left">Attestation Result</td>
              <td align="left">PoH Certificate and trust score</td>
              <td align="left">Contains only statistical exponents (alpha, beta, kappa) and aggregate scores. No raw Evidence (cell IDs, timestamps, chain hashes) is included in the Attestation Result. See <xref target="poh-certificate"/>.</td>
            </tr>
            <tr>
              <td align="left">Relying Party</td>
              <td align="left">Any service consuming PoH Certificates</td>
              <td align="left">Evaluates the Attestation Result against its own policy. Does not receive or process raw Evidence.</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="attestation-topology">
        <name>Attestation Topology</name>
        <t>TRIP's Active Verification Protocol (<xref target="active-verification"/>)
implements the RATS <strong>background-check model</strong>: the Relying
Party initiates verification by sending the identity's public
key and a freshness nonce to the Verifier, which challenges the
Attester, evaluates the Evidence, and returns a PoH Certificate
(Attestation Result) to the Relying Party.</t>
        <artwork><![CDATA[
Background-Check Model (normative):

  Relying Party ---[nonce, identity_key]---> Verifier
                                               |
                                    Verifier --[challenge]--> Attester
                                    Verifier <-[response]--- Attester
                                               |
  Relying Party <---[PoH Certificate]------- Verifier
]]></artwork>
        <t>The background-check model is the <bcp14>REQUIRED</bcp14> attestation topology
for TRIP. It ensures that every Attestation Result is bound to
a specific Relying Party challenge, preventing replay of
certificates across contexts.</t>
        <t>A <strong>passport-model</strong> deployment, where the Attester obtains a
PoH Certificate in advance and presents it directly to Relying
Parties, is not prohibited but provides weaker freshness
guarantees. In the passport model, the certificate's validity
duration (field 11 of the PoH Certificate, <xref target="poh-certificate"/>)
and the chain head hash (field 13) provide the only freshness
binding. Relying Parties accepting passport-model certificates
<bcp14>SHOULD</bcp14> require short validity durations.</t>
        <t>TRIP proposes the use of post-handshake attestation via
<xref target="I-D.fossati-seat-expat"/> for integration with standard RATS
attestation flows.</t>
      </section>
      <section anchor="evidence-flow">
        <name>Evidence Flow</name>
        <t>H3-quantized Evidence is transmitted from the Attester to
the Verifier. This is an explicit design choice: the Verifier
requires access to the full breadcrumb chain to compute PSD
scaling exponents, fit Levy flight parameters, and evaluate
the Hamiltonian.</t>
        <t>Privacy preservation derives from the H3 quantization
transform applied by the Attester before any data leaves the
device, NOT from data locality. Raw GPS coordinates <bcp14>MUST NOT</bcp14>
be transmitted. The quantization transform is lossy and
irreversible.</t>
        <t>The Verifier <bcp14>MUST NOT</bcp14> forward raw Evidence to Relying
Parties. Only the Attestation Result (PoH Certificate) is
disclosed to Relying Parties.</t>
      </section>
      <section anchor="verifier-trust">
        <name>Verifier Trust Model</name>
        <t>The Relying Party <bcp14>MUST</bcp14> trust the Verifier that produced the
Attestation Result. The TRIP protocol supports multiple
independent Verifiers. An Attester <bcp14>MAY</bcp14> submit Evidence to
more than one Verifier. A Relying Party <bcp14>MAY</bcp14> accept
Attestation Results from any Verifier it trusts.</t>
        <t>Each Verifier <bcp14>MUST</bcp14> have its own Ed25519 key pair. The
Verifier signs PoH Certificates with its private key
(field 14). Relying Parties verify this signature against
the Verifier's published public key.</t>
      </section>
    </section>
    <section anchor="breadcrumb">
      <name>Breadcrumb Data Structure</name>
      <t>A breadcrumb is encoded as a CBOR map <xref target="RFC8949"/>
with the following fields:</t>
      <table anchor="breadcrumb-fields">
        <name>Breadcrumb CBOR Fields</name>
        <thead>
          <tr>
            <th align="left">Key</th>
            <th align="left">CBOR Type</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">uint</td>
            <td align="left">Index (sequence number)</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">bstr (32)</td>
            <td align="left">Identity public key (Ed25519)</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">uint</td>
            <td align="left">Timestamp (Unix seconds)</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">uint</td>
            <td align="left">H3 cell index</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">uint</td>
            <td align="left">H3 resolution (7-10)</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">bstr (32)</td>
            <td align="left">Context digest (SHA-256)</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">bstr (32) / null</td>
            <td align="left">Previous block hash</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">map</td>
            <td align="left">Meta flags</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">bstr (64)</td>
            <td align="left">Ed25519 signature</td>
          </tr>
        </tbody>
      </table>
      <section anchor="spatial-quantization">
        <name>Spatial Quantization</name>
        <t>The H3 geospatial indexing system <xref target="H3"/>
partitions the Earth's surface into hexagonal cells at
multiple resolutions. TRIP employs resolutions 7 through 10:</t>
        <table anchor="h3-resolutions">
          <name>H3 Resolution Parameters</name>
          <thead>
            <tr>
              <th align="left">Resolution</th>
              <th align="left">Avg. Area</th>
              <th align="left">Edge Length</th>
              <th align="left">Use Case</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">7</td>
              <td align="left">~5.16 km^2</td>
              <td align="left">~1.22 km</td>
              <td align="left">Rural / low-density</td>
            </tr>
            <tr>
              <td align="left">8</td>
              <td align="left">~0.74 km^2</td>
              <td align="left">~0.46 km</td>
              <td align="left">Suburban / general</td>
            </tr>
            <tr>
              <td align="left">9</td>
              <td align="left">~0.11 km^2</td>
              <td align="left">~0.17 km</td>
              <td align="left">Urban / high-density</td>
            </tr>
            <tr>
              <td align="left">10</td>
              <td align="left">~0.015 km^2</td>
              <td align="left">~0.07 km</td>
              <td align="left">Default / standard verification</td>
            </tr>
          </tbody>
        </table>
        <t>A conforming implementation <bcp14>MUST</bcp14> quantize raw GPS coordinates
to an H3 cell before any signing or storage operation. Raw
coordinates <bcp14>MUST NOT</bcp14> appear in breadcrumbs or in any protocol
message transmitted between TRIP entities.</t>
        <t>H3 resolution is a configurable protocol parameter.
Implementations <bcp14>SHOULD</bcp14> default to resolution 10. Deployments
<bcp14>MAY</bcp14> select alternative resolutions based on jurisdictional
requirements, population density, and use-case sensitivity.
Lower resolutions (larger cells) provide stronger location
privacy at the cost of reduced spatial discrimination for
trust computation.</t>
      </section>
      <section anchor="context-digest">
        <name>Context Digest Computation</name>
        <t>The context digest binds ambient environmental signals to
the breadcrumb without revealing them. The digest is
computed as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>Construct a pipe-delimited string of tagged components
in the following order:  </t>
            <ul spacing="normal">
              <li>
                <t>"h3:" followed by the H3 cell hex string</t>
              </li>
              <li>
                <t>"ts:" followed by the timestamp bucketed to 5-minute
intervals (floor(Unix_minutes / 5) * 5)</t>
              </li>
              <li>
                <t>"wifi:" followed by the first 16 hex characters of
SHA-256(sorted comma-joined BSSIDs), if Wi-Fi scan data
is available</t>
              </li>
              <li>
                <t>"cell:" followed by the first 16 hex characters of
SHA-256(sorted comma-joined tower IDs), if cellular data
is available</t>
              </li>
              <li>
                <t>"imu:" followed by the first 16 hex characters of
SHA-256(IMU vector string), if inertial sensor data is
available</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Compute SHA-256 over the UTF-8 encoding of the resulting
string.</t>
          </li>
        </ol>
        <t>Absent components <bcp14>MUST</bcp14> be omitted entirely, not represented
as empty strings.</t>
      </section>
      <section anchor="signature-production">
        <name>Signature Production</name>
        <t>The signable payload is the deterministic CBOR encoding (per
Section 4.2 of <xref target="RFC8949"/>) of a CBOR map
containing fields 0 through 7, with map keys sorted in
ascending integer order. The Ed25519 signature
<xref target="RFC8032"/> is computed over the raw bytes of
this CBOR encoding and stored at key 8.</t>
        <artwork><![CDATA[
signable_payload = CBOR-Deterministic(fields[0..7])
signature        = Ed25519-Sign(private_key, signable_payload)
]]></artwork>
        <t>Deterministic CBOR encoding ensures that any conforming
implementation produces identical byte sequences for the same
logical content, which is essential for reproducible signature
verification across heterogeneous platforms.</t>
      </section>
      <section anchor="block-hash">
        <name>Block Hash and Chaining</name>
        <t>The block hash is the SHA-256 digest of the complete
deterministic CBOR encoding of the breadcrumb (fields 0
through 8 inclusive, i.e., including the signature):</t>
        <artwork><![CDATA[
BreadcrumbHash(B) = SHA-256(CBOR-Deterministic(B[0..8]))
B[N+1].field[6]   = BreadcrumbHash(B[N])
B[0].field[6]     = null
]]></artwork>
        <t>Each breadcrumb at index &gt; 0 <bcp14>MUST</bcp14> carry the block hash of
its immediate predecessor in field 6, forming an append-only
hash chain. The genesis breadcrumb (index 0) <bcp14>MUST</bcp14> set
field 6 to null (CBOR simple value 22).</t>
      </section>
    </section>
    <section anchor="chain-management">
      <name>Chain Management</name>
      <section anchor="deduplication">
        <name>Location Deduplication</name>
        <t>Proof-of-Trajectory requires demonstrated movement. A
conforming implementation <bcp14>MUST</bcp14> reject a breadcrumb if the H3
cell is identical to the immediately preceding breadcrumb.
Implementations <bcp14>SHOULD</bcp14> also enforce a cap (default 10) on the
number of breadcrumbs recordable at any single H3 cell to
prevent stationary farming.</t>
      </section>
      <section anchor="min-interval">
        <name>Minimum Collection Interval</name>
        <t>Breadcrumbs <bcp14>SHOULD</bcp14> be collected at intervals of no less than
15 minutes. An implementation <bcp14>MAY</bcp14> allow shorter intervals
during explicit "exploration" sessions but <bcp14>MUST NOT</bcp14> accept
intervals shorter than 5 minutes.</t>
      </section>
      <section anchor="chain-verification">
        <name>Chain Verification</name>
        <t>A Verifier <bcp14>MUST</bcp14> check:</t>
        <ol spacing="normal" type="1"><li>
            <t>Index values form a contiguous sequence starting at 0.</t>
          </li>
          <li>
            <t>Timestamps are monotonically non-decreasing.</t>
          </li>
          <li>
            <t>Each previousHash matches the block hash of the prior
breadcrumb.</t>
          </li>
          <li>
            <t>Each Ed25519 signature verifies against the identity
public key and the canonical signed data.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="epochs">
      <name>Epochs</name>
      <t>An epoch seals a batch of breadcrumbs (default 100) under a
Merkle root. The epoch record is a CBOR map containing:</t>
      <table anchor="epoch-fields">
        <name>Epoch CBOR Fields</name>
        <thead>
          <tr>
            <th align="left">Key</th>
            <th align="left">Type</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">uint</td>
            <td align="left">Epoch number</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">bstr (32)</td>
            <td align="left">Identity public key</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">uint</td>
            <td align="left">First breadcrumb index</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">uint</td>
            <td align="left">Last breadcrumb index</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">uint</td>
            <td align="left">Timestamp of first breadcrumb</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">uint</td>
            <td align="left">Timestamp of last breadcrumb</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">bstr (32)</td>
            <td align="left">Merkle root of breadcrumb hashes</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">uint</td>
            <td align="left">Count of unique H3 cells</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">bstr (64)</td>
            <td align="left">Ed25519 signature over fields 0-7</td>
          </tr>
        </tbody>
      </table>
      <t>The Merkle tree <bcp14>MUST</bcp14> use SHA-256 and a canonical left-right
ordering of breadcrumb block hashes. An epoch is sealed when
the breadcrumb count reaches the epoch size threshold.</t>
    </section>
    <section anchor="tit">
      <name>Trajectory Identity Token (TIT)</name>
      <t>A TIT is the externally presentable identity derived from a
TRIP trajectory. It consists of:</t>
      <ul spacing="normal">
        <li>
          <t>The Ed25519 public key (32 bytes).</t>
        </li>
        <li>
          <t>The current epoch count.</t>
        </li>
        <li>
          <t>The total breadcrumb count.</t>
        </li>
        <li>
          <t>The count of unique H3 cells visited.</t>
        </li>
        <li>
          <t>A trust score (see <xref target="trust-scoring"/>).</t>
        </li>
      </ul>
      <t>A TIT <bcp14>SHOULD</bcp14> be encoded as a CBOR map for machine consumption
and <bcp14>MAY</bcp14> additionally be represented as a Base64url string for
URI embedding.</t>
    </section>
    <section anchor="criticality-engine">
      <name>The Criticality Engine</name>
      <t>The Criticality Engine is the core analytical component of the
TRIP Verifier. It evaluates whether a trajectory exhibits the
statistical signature of biological Self-Organized Criticality
(SOC) -- the phenomenon where living systems operate at the
boundary between order and chaos, producing scale-free
correlations that are mathematically distinct from synthetic or
automated movement.</t>
      <t>The theoretical foundation rests on three pillars:</t>
      <t>First, Parisi's demonstration <xref target="PARISI-NOBEL"/>
that flocking organisms such as starling murmurations exhibit
scale-free correlations <xref target="CAVAGNA-STARLINGS"/>
where perturbations propagate across the entire group regardless
of size. Crucially, Ballerini et al. showed that these
interactions are topological (based on nearest k neighbors)
rather than metric (based on distance)
<xref target="BALLERINI-TOPOLOGICAL"/>. TRIP exploits this
through Power Spectral Density analysis (<xref target="psd-analysis"/>): human
movement produces characteristic 1/f pink noise that synthetic
trajectories cannot replicate.</t>
      <t>Second, Barabasi et al.'s discovery
<xref target="BARABASI-MOBILITY"/> that human displacement
follows truncated Levy flights with approximately 93%
predictability <xref target="SONG-LIMITS"/>. TRIP learns each
identity's mobility profile -- displacement distribution,
anchor transition patterns, and circadian rhythms -- and
detects deviations from these learned baselines (<xref target="mobility"/>).</t>
      <t>Third, a six-component Hamiltonian energy function (<xref target="hamiltonian"/>)
that combines spatial, temporal, kinetic, flock-alignment,
contextual, and structural analysis into a single anomaly score
for each incoming breadcrumb. The Hamiltonian provides real-time
detection while the PSD and mobility statistics provide
aggregate trajectory assessment.</t>
      <section anchor="psd-analysis">
        <name>Power Spectral Density Analysis</name>
        <t>The primary diagnostic is the Power Spectral Density (PSD) of
the displacement time series. Given a trajectory of N
breadcrumbs with displacements d(i) between consecutive
breadcrumbs, the PSD is computed via the Discrete Fourier
Transform:</t>
        <artwork><![CDATA[
S(f) = |DFT(d)|^2

where d = [d(0), d(1), ..., d(N-1)]
and d(i) = haversine_distance(cell(i), cell(i-1))
]]></artwork>
        <t>The PSD is then fitted to a power-law model:</t>
        <artwork><![CDATA[
S(f) ~ 1 / f^alpha
]]></artwork>
        <t>The exponent alpha is the PSD scaling exponent -- referred to
in the spectral analysis literature as the "spectral exponent"
or "scaling exponent." In the context of human mobility, this
quantity captures the degree of long-range temporal correlation
in movement patterns. The theoretical significance of this
exponent derives from Parisi's work demonstrating that
biological systems operating at criticality produce
characteristic scale-free correlations
<xref target="PARISI-NOBEL"/>. The PSD scaling exponent
is the critical diagnostic:</t>
        <table anchor="alpha-ranges">
          <name>PSD Scaling Exponent Classification</name>
          <thead>
            <tr>
              <th align="left">Alpha Range</th>
              <th align="left">Noise Type</th>
              <th align="left">Classification</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0.00 - 0.15</td>
              <td align="left">White noise</td>
              <td align="left">Synthetic / automated script</td>
            </tr>
            <tr>
              <td align="left">0.15 - 0.30</td>
              <td align="left">Near-white</td>
              <td align="left">Suspicious (possible sophisticated bot)</td>
            </tr>
            <tr>
              <td align="left">0.30 - 0.80</td>
              <td align="left">Pink noise (1/f)</td>
              <td align="left">Biological / human</td>
            </tr>
            <tr>
              <td align="left">0.80 - 1.20</td>
              <td align="left">Near-brown</td>
              <td align="left">Suspicious (possible replay with drift)</td>
            </tr>
            <tr>
              <td align="left">1.20+</td>
              <td align="left">Brown noise</td>
              <td align="left">Drift anomaly / sensor failure</td>
            </tr>
          </tbody>
        </table>
        <t>A conforming implementation <bcp14>MUST</bcp14> compute the PSD scaling
exponent over a sliding window of the most recent 64
breadcrumbs (minimum) to 256 breadcrumbs (recommended).
The alpha value <bcp14>MUST</bcp14> fall within [0.30, 0.80] for the
trajectory to be classified as biological.</t>
        <t>The key insight is that automated movement generators lack
the long-range temporal correlations ("memory") inherent in
a system operating at criticality. A random walk produces
white noise (alpha near 0). A deterministic replay produces
brown noise (alpha near 2). Only a biological system
operating at the critical point produces pink noise in the
characteristic [0.30, 0.80] range.</t>
        <t>NOTE: The alpha range [0.30, 0.80] is a protocol-specified
classification boundary constructed from combined literature.
The boundaries are informed by empirical studies demonstrating
1/f-like spectral properties in human GPS trajectories
<xref target="VADAI-GPS"/> and general spectral
characteristics of human physical activity
<xref target="MACZAK-SPECTRAL"/>. Deployments <bcp14>MAY</bcp14> adjust
these boundaries based on population-specific calibration
data, provided that the biological range remains centered
near alpha = 0.55 and excludes the white noise (alpha &lt;
0.15) and brown noise (alpha &gt; 1.20) regions.</t>
      </section>
      <section anchor="criticality-confidence">
        <name>Criticality Confidence Score</name>
        <t>The Criticality Confidence is a value in [0, 1] computed
from the PSD scaling exponent and the goodness-of-fit
(R-squared) of the power-law regression:</t>
        <artwork><![CDATA[
alpha_score = 1.0 - |alpha - 0.55| / 0.25

criticality_confidence = alpha_score * R_squared

where:
  0.55 is the center of the biological range
  0.25 is the half-width of the biological range
  R_squared is the coefficient of determination of the
    log-log linear regression
]]></artwork>
        <t>A criticality_confidence below 0.5 <bcp14>SHOULD</bcp14> trigger elevated
monitoring. A value below 0.3 <bcp14>SHOULD</bcp14> flag the trajectory for
manual review or additional verification challenges.</t>
      </section>
      <section anchor="levy-psd-bridge">
        <name>Levy-PSD Bridge</name>
        <t>This section establishes the mathematical relationship
between the truncated Levy flight displacement exponent beta
(<xref target="levy-flights"/>) and the PSD scaling exponent alpha
(<xref target="psd-analysis"/>). Previous revisions of this specification
asserted both as independent properties of human mobility.
This section demonstrates that they are related through the
spectral properties of heavy-tailed random processes.</t>
        <section anchor="analytical-relationship">
          <name>Analytical Relationship</name>
          <t>For a stationary stochastic process with displacement
increments drawn from a symmetric stable distribution with
stability index mu (where mu = beta - 1 for the Levy
flight exponent beta used in <xref target="levy-flights"/>), the Power
Spectral Density of the cumulative displacement series
scales as:</t>
          <artwork><![CDATA[
S(f) ~ f^{-alpha}

where alpha = 2 - mu = 2 - (beta - 1) = 3 - beta

For pure (non-truncated) Levy flights.
]]></artwork>
          <t>However, human displacement follows TRUNCATED Levy flights
with an exponential cutoff at distance kappa
(<xref target="levy-flights"/>). The truncation modifies the spectral
relationship: at low frequencies (long time scales), the
exponential cutoff causes the process to resemble
Brownian motion (alpha approaching 2), while at high
frequencies (short time scales), the pure Levy scaling
dominates. For the intermediate frequency range relevant
to TRIP's sliding window (64-256 breadcrumbs collected
at 15-minute intervals, spanning approximately 16-64
hours of movement data), the effective PSD scaling
exponent is:</t>
          <artwork><![CDATA[
alpha_eff ~ (3 - beta) * g(N, kappa, delta_t)

where:
  beta    = Levy flight exponent (typically 1.50 - 1.90)
  g(...)  = correction factor for truncation and finite window
  N       = number of breadcrumbs in the analysis window
  kappa   = truncation distance (km)
  delta_t = mean inter-breadcrumb interval

For typical human values:
  beta  ~ 1.75  =>  3 - beta = 1.25
  g(...)  ~ 0.4 - 0.6  (empirically observed)
  alpha_eff ~ 0.50 - 0.75

This falls squarely within the biological range [0.30, 0.80].
]]></artwork>
        </section>
        <section anchor="empirical-evidence">
          <name>Empirical Evidence</name>
          <t>The analytical relationship above is supported by empirical
studies:</t>
          <ul spacing="normal">
            <li>
              <t>Vadai et al. <xref target="VADAI-GPS"/> analyzed GPS
trajectory data and demonstrated 1/f-like spectral
characteristics in human daily motion, with PSD scaling
exponents consistent with the predicted range.</t>
            </li>
            <li>
              <t>Maczak et al. <xref target="MACZAK-SPECTRAL"/> studied
42 human subjects and found spectral exponents close to
1 in general physical activity data, confirming the
presence of long-range temporal correlations consistent
with Self-Organized Criticality.</t>
            </li>
            <li>
              <t>The original Levy flight analysis by Gonzalez, Hidalgo,
and Barabasi <xref target="BARABASI-MOBILITY"/> reported
beta values of approximately 1.75 +/- 0.15 across a
population of 100,000 mobile phone users, which through
the bridge equation predicts alpha_eff in [0.40, 0.70]
-- consistent with the biological classification range.</t>
            </li>
          </ul>
        </section>
        <section anchor="numerical-validation">
          <name>Numerical Validation</name>
          <t>Implementers <bcp14>SHOULD</bcp14> validate the Levy-PSD bridge for their
specific deployment by conducting Monte Carlo simulations:</t>
          <ol spacing="normal" type="1"><li>
              <t>Generate 10,000 synthetic trajectories using truncated
Levy flights with beta drawn uniformly from [1.50, 1.90]
and kappa drawn from a log-normal distribution matching
the target population.</t>
            </li>
            <li>
              <t>Quantize each trajectory to H3 resolution 10 and apply
the deduplication rules of <xref target="deduplication"/>.</t>
            </li>
            <li>
              <t>Compute the PSD scaling exponent alpha for each
synthetic trajectory.</t>
            </li>
            <li>
              <t>Verify that the (beta, alpha) pairs fall within the
expected relationship with the correction factor g in the
range [0.3, 0.7].</t>
            </li>
          </ol>
          <t>Additionally, generate control trajectories from:</t>
          <ul spacing="normal">
            <li>
              <t>Pure random walks (expected: alpha near 0)</t>
            </li>
            <li>
              <t>Deterministic replays of recorded trajectories
(expected: alpha near 2)</t>
            </li>
            <li>
              <t>Correlated random walks with Gaussian increments
(expected: alpha outside [0.30, 0.80])</t>
            </li>
          </ul>
          <t>The Monte Carlo validation confirms that the [0.30, 0.80]
classification boundary correctly separates biological
from synthetic trajectories with quantifiable error rates
(see <xref target="convergence-analysis"/>).</t>
        </section>
      </section>
      <section anchor="convergence-analysis">
        <name>Convergence Analysis</name>
        <t>The PSD scaling exponent, Levy flight parameters, and flock
alignment metrics are fundamentally ensemble properties
derived from statistical physics. Applying them to a single
trajectory raises the question: how many breadcrumbs are
required for these ensemble properties to converge on an
individual trajectory with a given confidence level?</t>
        <t>This section provides guidance on convergence behavior.
Definitive false positive and false negative rates require
empirical validation against real-world datasets (e.g.,
GeoLife, MDC), which is planned for a companion
publication. The framework below describes the expected
convergence properties and the protocol's mitigation
strategies.</t>
        <section anchor="convergence-regimes">
          <name>Convergence Regimes</name>
          <t>The reliability of TRIP's statistical classifiers depends
on trajectory length. Three regimes are identified:</t>
          <table anchor="convergence-table">
            <name>Convergence Regimes</name>
            <thead>
              <tr>
                <th align="left">Breadcrumbs</th>
                <th align="left">Regime</th>
                <th align="left">PSD Reliability</th>
                <th align="left">Levy Fit Reliability</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0 - 63</td>
                <td align="left">Bootstrap</td>
                <td align="left">Not computed (insufficient data for DFT)</td>
                <td align="left">Not reliable</td>
              </tr>
              <tr>
                <td align="left">64 - 199</td>
                <td align="left">Provisional</td>
                <td align="left">Computed but with wide confidence intervals; alpha estimate variance ~ 0.15</td>
                <td align="left">Beta estimated but kappa poorly constrained</td>
              </tr>
              <tr>
                <td align="left">200+</td>
                <td align="left">Stable</td>
                <td align="left">Alpha estimate variance &lt; 0.05; R-squared meaningful</td>
                <td align="left">Both beta and kappa well-constrained</td>
              </tr>
            </tbody>
          </table>
          <t>The trust scoring formula (<xref target="trust-scoring"/>) incorporates
profile maturity through the factor
min(breadcrumb_count / 200, 1.0), which scales Hamiltonian
weights during the bootstrap and provisional regimes.</t>
        </section>
        <section anchor="composition-defense">
          <name>Composition of Independent Tests</name>
          <t>TRIP does not rely on any single statistical test. The
six-component Hamiltonian (<xref target="hamiltonian"/>) combines independent
classifiers: spatial Levy fit, temporal Markov properties,
kinetic transition analysis, flock alignment, IMU
cross-correlation, and chain structural integrity. Even if
each individual test has a significant error rate on a
short trajectory, the composition of independent tests
reduces the combined error probability.</t>
          <t>For k independent tests each with false positive rate p_i,
the probability that a synthetic trajectory passes ALL
tests simultaneously is:</t>
          <artwork><![CDATA[
P(false_positive_all) = product(p_i, i=1..k)

For k = 6 tests each with p_i = 0.1 (conservative):
P(false_positive_all) = 0.1^6 = 10^{-6}
]]></artwork>
          <t>In practice the tests are not perfectly independent
(spatial and kinetic components share displacement data),
so the actual combined false positive rate will be higher
than the product bound. Empirical measurement is required.</t>
        </section>
        <section anchor="cost-asymmetry">
          <name>Error Cost Asymmetry</name>
          <t>TRIP's classification errors have asymmetric costs:</t>
          <ul spacing="normal">
            <li>
              <t><strong>False negative</strong> (human classified as bot):
Low cost. The identity accumulates more breadcrumbs and is
reclassified correctly as the trajectory lengthens.
No permanent damage occurs.</t>
            </li>
            <li>
              <t><strong>False positive</strong> (bot classified as human):
Higher cost, but requires simultaneous spoofing across
all six Hamiltonian components -- spatial displacement
statistics, temporal circadian patterns, Markov transition
probabilities, flock alignment, IMU cross-correlation,
and chain timing regularity. This represents a
significantly harder adversarial problem than defeating
any single test.</t>
            </li>
          </ul>
        </section>
        <section anchor="minimum-breadcrumbs">
          <name>Minimum Breadcrumbs for Classification</name>
          <t>Based on the convergence analysis above, the minimum
trajectory lengths for classification decisions are:</t>
          <ul spacing="normal">
            <li>
              <t><strong>64 breadcrumbs</strong>: Minimum for PSD
computation. Sufficient for preliminary screening
(reject obvious bots) but not for positive human
classification.</t>
            </li>
            <li>
              <t><strong>100 breadcrumbs</strong>: Minimum for handle
claiming (<xref target="trust-scoring"/>). The Levy fit becomes usable
and the Markov transition matrix begins to stabilize.</t>
            </li>
            <li>
              <t><strong>200 breadcrumbs</strong>: <bcp14>RECOMMENDED</bcp14> for
reliable positive human classification. At this length,
the PSD alpha estimate has variance below 0.05 and the
Levy parameters are well-constrained.</t>
            </li>
            <li>
              <t><strong>256+ breadcrumbs</strong>: Sufficient for
high-confidence classification suitable for
high-stakes Relying Party decisions.</t>
            </li>
          </ul>
          <t>Determining precise false positive and false negative
rates at each breadcrumb count requires empirical
validation. Implementers <bcp14>SHOULD</bcp14> conduct the Monte Carlo
simulations described in <xref target="numerical-validation"/> and test against
publicly available human mobility datasets to establish
ROC curves and confidence intervals for their specific
deployment parameters.</t>
        </section>
      </section>
    </section>
    <section anchor="mobility">
      <name>Mobility Statistics</name>
      <t>This section defines the mobility model that enforces known
constraints of human movement, as established by Barabasi et al.
<xref target="BARABASI-MOBILITY"/>.</t>
      <section anchor="levy-flights">
        <name>Truncated Levy Flights</name>
        <t>Human displacement between consecutive recorded locations
follows a truncated power-law distribution:</t>
        <artwork><![CDATA[
P(delta_r) ~ delta_r^(-beta) * exp(-delta_r / kappa)

where:
  delta_r = displacement distance (km)
  beta    = power-law exponent (typically 1.50 - 1.90)
  kappa   = exponential cutoff distance (km)
]]></artwork>
        <t>The exponent beta captures the heavy-tailed nature of human
movement: most displacements are short (home to office) but
occasional long jumps (travel) follow a predictable
distribution. The cutoff kappa is learned per identity and
represents the characteristic maximum range.</t>
        <t>A conforming implementation <bcp14>MUST</bcp14> maintain a running estimate
of beta and kappa for each identity by fitting the
displacement histogram using maximum likelihood estimation
over the most recent epoch (100 breadcrumbs).</t>
        <t>A new displacement that falls outside the 99.9th percentile
of the fitted distribution <bcp14>MUST</bcp14> increment the spatial
anomaly counter.</t>
        <t>The relationship between beta and the PSD scaling exponent
alpha is established in <xref target="levy-psd-bridge"/>. Implementations
<bcp14>SHOULD</bcp14> verify internal consistency between the fitted beta
value and the observed alpha value; a discrepancy exceeding
the expected range of the correction factor g (<xref target="analytical-relationship"/>)
<bcp14>MAY</bcp14> indicate data quality issues or adversarial manipulation
of one metric.</t>
      </section>
      <section anchor="predictability">
        <name>Trajectory Predictability</name>
        <t>Research has demonstrated that approximately 93% of human
movement is predictable based on historical patterns
<xref target="SONG-LIMITS"/>. TRIP exploits this by
maintaining a Markov Transition Matrix over anchor cells:</t>
        <artwork><![CDATA[
T[a_i][a_j] = count(transitions from a_i to a_j)
               / count(all departures from a_i)

where a_i, a_j are anchor cells.
]]></artwork>
        <t>An anchor cell is defined as any H3 cell where the identity
has recorded 5 or more breadcrumbs. The transition matrix is
rebuilt at each epoch boundary.</t>
        <t>The predictability score Pi for an identity is the fraction
of observed transitions that match the highest-probability
successor in the Markov matrix. Human identities converge
toward Pi values in the range [0.80, 0.95] after
approximately 200 breadcrumbs. Deviations below 0.60 are
anomalous.</t>
      </section>
      <section anchor="circadian">
        <name>Circadian and Weekly Profiles</name>
        <t>The implementation <bcp14>SHOULD</bcp14> maintain two histogram profiles:</t>
        <ul spacing="normal">
          <li>
            <t>A circadian profile C[hour] recording the probability of
activity in each hour of the day (24 bins).</t>
          </li>
          <li>
            <t>A weekly profile W[day] recording the probability of
activity on each day of the week (7 bins).</t>
          </li>
        </ul>
        <t>These profiles provide the temporal baseline for the
Hamiltonian temporal energy component (<xref target="h-temporal"/>).</t>
      </section>
    </section>
    <section anchor="hamiltonian">
      <name>The Six-Component Hamiltonian</name>
      <t>To assess each incoming breadcrumb, the Criticality Engine
computes a weighted energy score H that quantifies how much
the breadcrumb deviates from the identity's learned behavioral
profile. High energy indicates anomalous behavior; low energy
indicates normalcy.</t>
      <artwork><![CDATA[
H = w_1 * H_spatial
  + w_2 * H_temporal
  + w_3 * H_kinetic
  + w_4 * H_flock
  + w_5 * H_contextual
  + w_6 * H_structure
]]></artwork>
      <table anchor="hamiltonian-weights">
        <name>Hamiltonian Component Weights</name>
        <thead>
          <tr>
            <th align="left">Component</th>
            <th align="left">Weight</th>
            <th align="left">Diagnostic Target</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">H_spatial</td>
            <td align="left">0.25</td>
            <td align="left">Displacement anomalies (teleportation)</td>
          </tr>
          <tr>
            <td align="left">H_temporal</td>
            <td align="left">0.20</td>
            <td align="left">Circadian rhythm violations</td>
          </tr>
          <tr>
            <td align="left">H_kinetic</td>
            <td align="left">0.20</td>
            <td align="left">Anchor transition improbability</td>
          </tr>
          <tr>
            <td align="left">H_flock</td>
            <td align="left">0.15</td>
            <td align="left">Misalignment with local human flow</td>
          </tr>
          <tr>
            <td align="left">H_contextual</td>
            <td align="left">0.10</td>
            <td align="left">Sensor cross-correlation failure</td>
          </tr>
          <tr>
            <td align="left">H_structure</td>
            <td align="left">0.10</td>
            <td align="left">Chain integrity and timing regularity</td>
          </tr>
        </tbody>
      </table>
      <t>Weights are modulated by the profile maturity m, defined as
min(breadcrumb_count / 200, 1.0). During the bootstrap phase
(m &lt; 1.0), all weights are scaled by m, widening the
acceptance threshold for new identities.</t>
      <section anchor="h-spatial">
        <name>H_spatial: Displacement Anomaly</name>
        <t>Given the identity's fitted truncated Levy distribution
P(delta_r), the spatial energy for a displacement delta_r
is the negative log-likelihood (surprise):</t>
        <artwork><![CDATA[
H_spatial = -log(P(delta_r))

where P(delta_r) = C * delta_r^(-beta) * exp(-delta_r / kappa)
and C is the normalization constant.
]]></artwork>
        <t>Typical displacements yield H_spatial near the identity's
historical baseline. A displacement that exceeds the
identity's learned kappa cutoff by more than a factor of 3
produces an H_spatial value in the CRITICAL range.</t>
      </section>
      <section anchor="h-temporal">
        <name>H_temporal: Rhythm Anomaly</name>
        <artwork><![CDATA[
H_temporal = -log(C[current_hour]) - log(W[current_day])
]]></artwork>
        <t>Activity at 3:00 AM for an identity with a 9-to-5 circadian
profile yields high H_temporal. Activity at 8:00 AM on a
Tuesday for the same identity yields low H_temporal.</t>
      </section>
      <section anchor="h-kinetic">
        <name>H_kinetic: Transition Anomaly</name>
        <artwork><![CDATA[
from_anchor = nearest anchor to previous breadcrumb
to_anchor   = nearest anchor to current breadcrumb
H_kinetic   = -log(max(T[from_anchor][to_anchor], epsilon))

where epsilon = 0.001 (floor to prevent log(0))
]]></artwork>
        <t>A home-to-office transition at 8:00 AM yields low H_kinetic.
An office-to-unknown-city transition yields high H_kinetic.</t>
      </section>
      <section anchor="h-flock">
        <name>H_flock: Topological Alignment</name>
        <t>Inspired by Parisi's finding that starlings track their k
nearest topological neighbors (k approximately 6-7) rather
than all birds within a metric radius
<xref target="BALLERINI-TOPOLOGICAL"/>, the flock energy
measures alignment between the identity's velocity vector
and the aggregate velocity of co-located TRIP entities.</t>
        <artwork><![CDATA[
v_self  = displacement vector of current identity
v_flock = mean displacement vector of k nearest
          co-located identities (k = 7)

alignment = dot(v_self, v_flock)
            / (|v_self| * |v_flock|)

H_flock = 1.0 - max(alignment, 0)
]]></artwork>
        <t>When flock data is unavailable (sparse network or privacy
constraints), the implementation <bcp14>SHOULD</bcp14> fall back to comparing
the current velocity against the identity's own historical
velocity distribution at the same location and time-of-day.</t>
        <t>H_flock defeats GPS replay attacks: an adversary replaying a
previously recorded trajectory will find that the ambient
flock has changed since the recording, producing a
misalignment signal.</t>
      </section>
      <section anchor="h-contextual">
        <name>H_contextual: Sensor Cross-Correlation</name>
        <artwork><![CDATA[
H_contextual = divergence(
  observed_imu_magnitude,
  expected_imu_magnitude_for(gps_displacement)
)
]]></artwork>
        <t>Implementations that lack IMU access <bcp14>MUST</bcp14> set H_contextual = 0
and <bcp14>SHOULD</bcp14> increase the weights of other components
proportionally.</t>
      </section>
      <section anchor="h-structure">
        <name>H_structure: Chain Structural Integrity</name>
        <ul spacing="normal">
          <li>
            <t>Inter-breadcrumb timing regularity: excessively uniform
intervals suggest automation.</t>
          </li>
          <li>
            <t>Hash chain continuity: any break in the chain produces
maximum H_structure.</t>
          </li>
          <li>
            <t>Phase-space smoothness: the velocity-acceleration phase
portrait of a human trajectory traces smooth loops, while
bots produce either chaotic blobs or tight limit cycles.</t>
          </li>
        </ul>
      </section>
      <section anchor="alert-classification">
        <name>Alert Classification</name>
        <t>The total Hamiltonian H maps to an alert level. The baseline
H_baseline is the rolling median of the identity's own recent
energy values, making the threshold self-calibrating per
identity:</t>
        <table anchor="alert-levels">
          <name>Hamiltonian Alert Levels</name>
          <thead>
            <tr>
              <th align="left">H Range</th>
              <th align="left">Level</th>
              <th align="left">Action</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">[0, H_baseline * 1.5)</td>
              <td align="left">NOMINAL</td>
              <td align="left">Normal operation</td>
            </tr>
            <tr>
              <td align="left">[H_baseline * 1.5, 3.0)</td>
              <td align="left">ELEVATED</td>
              <td align="left">Increase sampling frequency, log</td>
            </tr>
            <tr>
              <td align="left">[3.0, 5.0)</td>
              <td align="left">SUSPICIOUS</td>
              <td align="left">Flag for review, require reconfirmation</td>
            </tr>
            <tr>
              <td align="left">[5.0, infinity)</td>
              <td align="left">CRITICAL</td>
              <td align="left">Freeze trust score, trigger challenge</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="poh-certificate">
      <name>Proof-of-Humanity Certificate</name>
      <t>A PoH Certificate is a compact, privacy-preserving Attestation
Result (in the RATS sense) asserting that an identity has
demonstrated biological movement characteristics. It contains
ONLY statistical exponents derived from the trajectory -- no
raw location data, no GPS coordinates, no cell identifiers.</t>
      <t>The certificate is encoded as a CBOR map:</t>
      <table anchor="poh-fields">
        <name>PoH Certificate CBOR Fields</name>
        <thead>
          <tr>
            <th align="left">Key</th>
            <th align="left">Type</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">0</td>
            <td align="left">bstr (32)</td>
            <td align="left">Identity public key</td>
          </tr>
          <tr>
            <td align="left">1</td>
            <td align="left">uint</td>
            <td align="left">Issuance timestamp</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">uint</td>
            <td align="left">Epoch count at issuance</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">float</td>
            <td align="left">PSD scaling exponent alpha</td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">float</td>
            <td align="left">Levy beta exponent</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">float</td>
            <td align="left">Levy kappa cutoff (km)</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">float</td>
            <td align="left">Predictability score Pi</td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">float</td>
            <td align="left">Criticality confidence</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">float</td>
            <td align="left">Trust score T</td>
          </tr>
          <tr>
            <td align="left">9</td>
            <td align="left">uint</td>
            <td align="left">Unique cell count</td>
          </tr>
          <tr>
            <td align="left">10</td>
            <td align="left">uint</td>
            <td align="left">Total breadcrumb count</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="left">uint</td>
            <td align="left">Validity duration (seconds)</td>
          </tr>
          <tr>
            <td align="left">12</td>
            <td align="left">bstr (16)</td>
            <td align="left">Relying Party nonce (<bcp14>REQUIRED</bcp14>)</td>
          </tr>
          <tr>
            <td align="left">13</td>
            <td align="left">bstr (32)</td>
            <td align="left">Chain head hash at issuance (<bcp14>REQUIRED</bcp14>)</td>
          </tr>
          <tr>
            <td align="left">14</td>
            <td align="left">bstr (64)</td>
            <td align="left">Verifier Ed25519 signature</td>
          </tr>
        </tbody>
      </table>
      <t>Fields 12 and 13 are <bcp14>REQUIRED</bcp14> in all PoH Certificates. Every
certificate <bcp14>MUST</bcp14> be issued in response to an Active
Verification request (<xref target="replay-protection"/>). There is no passive issuance
mode.</t>
      <t>A Relying Party receiving a PoH Certificate can verify:</t>
      <ol spacing="normal" type="1"><li>
          <t>The Verifier signature (field 14) is valid against a trusted
Verifier public key.</t>
        </li>
        <li>
          <t>The PSD scaling exponent alpha (field 3) falls within
[0.30, 0.80].</t>
        </li>
        <li>
          <t>The criticality confidence (field 7) exceeds the Relying
Party's policy threshold.</t>
        </li>
        <li>
          <t>The trust score (field 8) meets application
requirements.</t>
        </li>
        <li>
          <t>The certificate has not expired (field 1 + field 11 &gt;
current time).</t>
        </li>
        <li>
          <t>The nonce (field 12) matches the Relying Party's original
challenge.</t>
        </li>
        <li>
          <t>The chain head hash (field 13) provides freshness
binding.</t>
        </li>
      </ol>
      <t>The certificate reveals NOTHING about where the identity has
been -- only that it has moved through the world in a manner
statistically consistent with a biological organism.</t>
    </section>
    <section anchor="trust-scoring">
      <name>Trust Scoring</name>
      <artwork><![CDATA[
T = 0.40 * min(breadcrumb_count / 200, 1.0)
  + 0.30 * min(unique_cells / 50, 1.0)
  + 0.20 * min(days_since_first / 365, 1.0)
  + 0.10 * chain_integrity

chain_integrity = 1.0 if chain verification passes, else 0.0
T is expressed as a percentage in [0, 100].
]]></artwork>
      <t>The threshold for claiming a handle (binding a human-readable
name to a TIT) requires breadcrumb_count &gt;= 100 and T &gt;= 20.</t>
      <t>A trajectory that fails the criticality test (alpha outside
[0.30, 0.80]) <bcp14>MUST</bcp14> have its trust score capped at 50,
regardless of other factors.</t>
    </section>
    <section anchor="replay-protection">
      <name>Replay Protection and Active Verification</name>
      <t>TRIP provides replay protection at two distinct layers:
protection of the Evidence chain against tampering, and
protection of Attestation Results against replay to Relying
Parties. All Attestation Results <bcp14>MUST</bcp14> be issued via the Active
Verification Protocol described in this section.</t>
      <section anchor="chain-replay">
        <name>Chain-Level Replay Protection</name>
        <t>The monotonically increasing index and the chaining via the
previous block hash field provide replay protection within a
single trajectory. A replayed breadcrumb will fail the chain
integrity check. Cross-trajectory replay will fail Ed25519
signature verification.</t>
      </section>
      <section anchor="active-verification">
        <name>Active Verification Protocol</name>
        <t>The Active Verification Protocol provides cryptographic
freshness guarantees by binding the Attestation Result to a
Relying Party-supplied nonce, the current chain head, and the
current time. This is the ONLY verification mode supported
by TRIP. There is no passive verification mode.</t>
        <t>The protocol proceeds as follows:</t>
        <ol spacing="normal" type="1"><li>
            <t>The Relying Party generates an unpredictable nonce
(<bcp14>RECOMMENDED</bcp14>: 16 bytes from a cryptographically secure
random number generator) and sends a Verification Request
to the Verifier:  </t>
            <artwork><![CDATA[
VerificationRequest = {
  0 => bstr .size 32,   ; identity public key
  1 => bstr .size 16,   ; nonce
  2 => uint,            ; request timestamp
  3 => uint,            ; requested freshness window (seconds)
}
]]></artwork>
          </li>
          <li>
            <t>The Verifier delivers a Liveness Challenge to the
Attester via a real-time channel (e.g., WebSocket push,
push notification):  </t>
            <artwork><![CDATA[
LivenessChallenge = {
  0 => bstr .size 16,   ; nonce (from Relying Party)
  1 => bstr .size 32,   ; verifier identity (public key)
  2 => uint,            ; challenge timestamp
  3 => uint,            ; response deadline (seconds)
}
]]></artwork>
          </li>
          <li>
            <t>The Attester constructs and signs a Liveness Response
binding the nonce to the current chain state:  </t>
            <artwork><![CDATA[
LivenessResponse = {
  0 => bstr .size 16,   ; nonce echo
  1 => bstr .size 32,   ; chain_head_hash
  2 => uint,            ; response timestamp
  3 => uint,            ; current breadcrumb index
  4 => bstr .size 64,   ; Ed25519 signature over fields 0-3
}
]]></artwork>
          </li>
          <li>
            <t>The Verifier validates the Liveness Response by
checking:  </t>
            <ul spacing="normal">
              <li>
                <t>The Ed25519 signature (field 4) is valid against the
identity's public key over fields 0-3.</t>
              </li>
              <li>
                <t>The nonce echo (field 0) matches the original
Verification Request.</t>
              </li>
              <li>
                <t>The chain_head_hash (field 1) is consistent with the
Verifier's stored trajectory state.</t>
              </li>
              <li>
                <t>The response timestamp (field 2) is within the
deadline.</t>
              </li>
              <li>
                <t>The breadcrumb index (field 3) matches or exceeds
the Verifier's last known index.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Upon successful validation, the Verifier produces a fresh
PoH Certificate with field 12 set to the nonce and field 13
set to the chain_head_hash, signs it, and returns it to the
Relying Party.</t>
          </li>
          <li>
            <t>The Relying Party verifies the PoH Certificate per
<xref target="poh-certificate"/>, confirming that field 12 matches its original
nonce.</t>
          </li>
        </ol>
        <t>If the Attester does not respond within the deadline, the
Verifier <bcp14>MUST</bcp14> return an error. The Verifier <bcp14>MUST NOT</bcp14> issue a
PoH Certificate without a valid Liveness Response.</t>
      </section>
      <section anchor="active-cddl">
        <name>Active Verification CDDL</name>
        <t>The following CDDL <xref target="RFC8610"/> schema defines the Active
Verification messages:</t>
        <artwork><![CDATA[
; Active Verification Protocol CDDL Schema

verification-request = {
  0 => bstr .size 32,        ; identity_key
  1 => bstr .size 16,        ; nonce
  2 => uint,                 ; request_timestamp
  3 => uint,                 ; freshness_window_seconds
}

liveness-challenge = {
  0 => bstr .size 16,        ; nonce
  1 => bstr .size 32,        ; verifier_key
  2 => uint,                 ; challenge_timestamp
  3 => uint,                 ; response_deadline_seconds
}

liveness-response = {
  0 => bstr .size 16,        ; nonce_echo
  1 => bstr .size 32,        ; chain_head_hash
  2 => uint,                 ; response_timestamp
  3 => uint,                 ; current_breadcrumb_index
  4 => bstr .size 64,        ; ed25519_signature
}
]]></artwork>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="gps-replay">
        <name>GPS Replay Attacks</name>
        <t>An adversary records a legitimate trajectory and replays the
GPS coordinates on a different device. TRIP detects this
through multiple channels:</t>
        <ul spacing="normal">
          <li>
            <t>H_flock: the ambient flock has changed since the
recording.</t>
          </li>
          <li>
            <t>H_contextual: unless the adversary also replays Wi-Fi
BSSIDs, cellular tower IDs, and IMU data, the context digest
will not match.</t>
          </li>
          <li>
            <t>H_structure: the timing regularity of a replay is
typically either too perfect or shifted in a detectable
pattern.</t>
          </li>
        </ul>
      </section>
      <section anchor="synthetic-walk">
        <name>Synthetic Walk Generators</name>
        <ul spacing="normal">
          <li>
            <t>PSD scaling exponent test: random walk generators produce
white noise (alpha approximately 0). Brownian motion
generators produce alpha approximately 2. Neither falls in
the biological [0.30, 0.80] range.</t>
          </li>
          <li>
            <t>Levy flight fitting: synthetic displacements rarely match
the truncated power-law distribution with biologically
plausible beta and kappa values.</t>
          </li>
          <li>
            <t>Predictability test: synthetic trajectories either show
near-zero predictability (random) or near-perfect
predictability (scripted), both outside the human [0.80,
0.95] range.</t>
          </li>
        </ul>
      </section>
      <section anchor="emulator">
        <name>Emulator Injection</name>
        <t>An adversary runs the TRIP client on an Android/iOS emulator
with spoofed GPS. Detection relies on H_contextual (emulators
lack real IMU data) and context digest (emulators lack real
Wi-Fi and cellular data).</t>
      </section>
      <section anchor="robot-dog">
        <name>Device Strapping (Robot Dog Attack)</name>
        <t>An adversary straps a phone to a mobile robot or drone. This
is the most sophisticated attack because it produces real GPS,
Wi-Fi, cellular, and IMU data from actual physical movement.
Mitigation relies on PSD analysis (robotic movement lacks 1/f
noise), phase-space smoothness (H_structure), and circadian
profiles. This attack remains an active area of research.</t>
      </section>
      <section anchor="verifier-compromise">
        <name>Verifier Compromise</name>
        <t>A compromised Verifier could issue fraudulent PoH
Certificates. Mitigations: Relying Parties <bcp14>SHOULD</bcp14> accept
certificates from multiple independent Verifiers; key
rotation and revocation procedures <bcp14>SHOULD</bcp14> be established;
the Active Verification Protocol ensures even a compromised
Verifier cannot produce a valid certificate without the
Attester's cooperation.</t>
      </section>
      <section anchor="dos">
        <name>Denial of Service</name>
        <t>Verifiers <bcp14>SHOULD</bcp14> rate-limit requests per identity and per
Relying Party. The Active Verification Protocol's real-time
requirement provides an inherent rate limit on valid
completions.</t>
      </section>
      <section anchor="statistical-classifier-limits">
        <name>Statistical Classifier Limitations</name>
        <t>The Criticality Engine applies ensemble statistical properties
(PSD scaling exponent, Levy flight parameters, flock
alignment) to individual trajectories. As discussed in
<xref target="convergence-analysis"/>, the reliability of these classifiers depends on
trajectory length. Implementers <bcp14>MUST</bcp14> be aware that:</t>
        <ul spacing="normal">
          <li>
            <t>Classification confidence is low during the bootstrap
regime (fewer than 64 breadcrumbs) and moderate during the
provisional regime (64-199 breadcrumbs).</t>
          </li>
          <li>
            <t>The alpha range [0.30, 0.80] is a protocol-specified
boundary informed by, but not directly taken from, a single
peer-reviewed source. Deployments <bcp14>SHOULD</bcp14> calibrate this range
against population-specific data.</t>
          </li>
          <li>
            <t>The composition of six independent Hamiltonian components
provides defense in depth, but the actual combined error rate
depends on the degree of independence between components,
which requires empirical measurement.</t>
          </li>
          <li>
            <t>Definitive ROC curves and confidence intervals require
validation against real-world human mobility datasets. This
validation is planned for a companion publication and is
outside the scope of this protocol specification.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="privacy">
      <name>Privacy Considerations</name>
      <section anchor="quantization-privacy">
        <name>Quantization-Based Privacy</name>
        <t>TRIP's privacy model is based on lossy spatial quantization,
not on data locality. H3-quantized Evidence is transmitted
from the Attester to the Verifier. Raw GPS coordinates <bcp14>MUST
NOT</bcp14> be transmitted. At the default resolution 10, each cell
covers approximately 15,000 m^2, providing meaningful
ambiguity in populated areas.</t>
      </section>
      <section anchor="verifier-data">
        <name>Verifier Data Handling</name>
        <t>The Verifier <bcp14>MUST NOT</bcp14> forward raw Evidence to Relying Parties.
The Verifier <bcp14>MUST</bcp14> disclose its data retention policy. The
Verifier <bcp14>SHOULD</bcp14> retain only statistical aggregates and <bcp14>MAY</bcp14>
discard individual breadcrumbs after incorporation. The
Verifier <bcp14>MUST</bcp14> support data deletion where required by law.</t>
      </section>
      <section anchor="rp-minimization">
        <name>Relying Party Data Minimization</name>
        <t>The PoH Certificate reveals statistical exponents and
aggregate counts. A Relying Party does NOT learn which
cities or specific locations the identity has visited, the
identity's home or workplace, the identity's daily schedule,
or any raw trajectory data.</t>
      </section>
      <section anchor="sybil">
        <name>Trajectory Correlation and Sybil Resistance</name>
        <t>A single physical entity operating multiple TRIP identities
simultaneously constitutes a Sybil attack. TRIP raises the
cost: each identity requires a separate physical device,
weeks of sustained movement, and independent trajectory
accumulation. The H_flock component provides detection of
co-located trajectories with identical displacement vectors.</t>
      </section>
      <section anchor="population-density">
        <name>Population Density Considerations</name>
        <t>In sparsely populated areas, even cell-level granularity may
narrow identification. Implementations <bcp14>SHOULD</bcp14> use lower
resolution in rural areas and <bcp14>MAY</bcp14> allow users to override to
a lower resolution at any time.</t>
      </section>
    </section>
    <section anchor="deployment">
      <name>Deployment Considerations</name>
      <section anchor="multi-verifier">
        <name>Multiple Verifier Deployments</name>
        <t>Any entity that implements the verification procedures defined
in this specification <bcp14>MAY</bcp14> operate as a TRIP Verifier. An
Attester <bcp14>MAY</bcp14> submit Evidence to more than one Verifier.</t>
      </section>
      <section anchor="verifier-interop">
        <name>Verifier Interoperability</name>
        <t>All conforming Verifiers <bcp14>MUST</bcp14> implement chain integrity
verification, PSD scaling exponent classification, and the
PoH Certificate format. Two Verifiers processing the same
Evidence <bcp14>SHOULD</bcp14> produce consistent alpha, beta, and kappa
values within numerical precision bounds.</t>
      </section>
      <section anchor="transport-binding">
        <name>Transport Binding</name>
        <t>This specification does not mandate a specific transport.
Implementations <bcp14>MAY</bcp14> use HTTPS, WebSocket, CoAP, or any
transport providing confidentiality and integrity protection.
The Active Verification Protocol requires a real-time channel.</t>
      </section>
      <section anchor="naming">
        <name>Naming System Integration</name>
        <t>The binding of human-readable names to TRIP identities is
outside the scope of this specification and is expected to
be addressed in a companion document.</t>
      </section>
      <section anchor="accessibility">
        <name>Accessibility and Low-Mobility Users</name>
        <t>TRIP does not require geographic travel. It requires sustained
physical existence over time. A person who remains in a
single H3 cell generates a valid trajectory; the trust
scoring formula assigns 20% weight to temporal continuity
and 40% to breadcrumb count, both accumulating regardless
of spatial diversity. The context digest provides
environmental diversity even without movement. The
Hamiltonian is self-calibrating per identity. For stationary
users, implementations <bcp14>SHOULD</bcp14> supplement spatial PSD with
temporal PSD (analyzing inter-breadcrumb timing patterns).
Deployments <bcp14>MUST NOT</bcp14> impose minimum spatial diversity
requirements that would exclude users with mobility
limitations.</t>
      </section>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions at this time. Future
revisions may request CBOR tag assignments and a media
type registration for application/trip+cbor.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9334"/>
          <seriesInfo name="DOI" value="10.17487/RFC9334"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-rats-eat">
          <front>
            <title>The Entity Attestation Token (EAT)</title>
            <author fullname="Laurence Lundblade" initials="L." surname="Lundblade">
              <organization>Security Theory LLC</organization>
            </author>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
              <organization>Mediatek USA</organization>
            </author>
            <author fullname="Jeremy O'Donoghue" initials="J." surname="O'Donoghue">
              <organization>Qualcomm Technologies Inc.</organization>
            </author>
            <author fullname="Carl Wallace" initials="C." surname="Wallace">
              <organization>Red Hound Software, Inc.</organization>
            </author>
            <date day="6" month="September" year="2024"/>
            <abstract>
              <t>   An Entity Attestation Token (EAT) provides an attested claims set
   that describes state and characteristics of an entity, a device like
   a smartphone, IoT device, network equipment or such.  This claims set
   is used by a relying party, server or service to determine the type
   and degree of trust placed in the entity.

   An EAT is either a CBOR Web Token (CWT) or JSON Web Token (JWT) with
   attestation-oriented claims.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-eat-31"/>
        </reference>
        <reference anchor="I-D.mandyam-rats-proxlocclaim">
          <front>
            <title>The Proximate Location Claim</title>
            <author fullname="Giridhar Mandyam" initials="G." surname="Mandyam">
         </author>
            <date day="17" month="January" year="2024"/>
            <abstract>
              <t>   The Entity Attestation Token (EAT) is an extensible attestation
   version of a CBOR Web Token (CWT).  EAT defines a location claim, but
   does not define a proximate location claim.  This document proposes a
   claim in which an attester can relay detected relative location of a
   target.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mandyam-rats-proxlocclaim-01"/>
        </reference>
        <reference anchor="I-D.lkspa-wimse-verifiable-geo-fence">
          <front>
            <title>Privacy Preserving Verifiable Geofencing with Residency Proofs for Sovereign Workloads</title>
            <author fullname="Ramki Krishnan" initials="R." surname="Krishnan">
              <organization>JPMorgan Chase &amp; Co.</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel</organization>
            </author>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
              <organization>Telefonica</organization>
            </author>
            <author fullname="A Prasad" initials="A." surname="Prasad">
              <organization>Oracle</organization>
            </author>
            <author fullname="Srinivasa Addepalli" initials="S." surname="Addepalli">
              <organization>Aryaka</organization>
            </author>
            <date day="1" month="March" year="2026"/>
            <abstract>
              <t>   Modern cloud and distributed computing rely heavily on software-only
   identities and bearer tokens that are easily stolen, replayed, or
   used from unauthorized locations.  Furthermore, traditional methods
   of location verification - such as IP-address-based geolocation - are
   easily spoofed via VPNs or proxies and significantly compromise
   infrastructure security and privacy for *Sovereign Workloads* and
   high-assurance environments.  This document defines a *High-Assurance
   Profile* designed to solve these challenges through hardware-rooted
   cryptographic verifiability.

   A host machine runs a workload identity agent for managing the
   workload identities on that platform.  This proposal replaces
   implicit trust and spoofable indicators with cryptographically
   verifiable hardware-rooted evidence of integrity and location for
   this agent.  Critically, this framework prioritizes *Location
   Privacy* by utilizing Zero-Knowledge Proofs (ZKP), allowing a
   workload to prove it is within a compliant "Sovereign Zone" without
   disclosing precise coordinates that could be used for tracking or
   exploitation.

   By binding software identities to persistent silicon identities and
   verified physical residency, this solution establishes a "Silicon-to-
   Workload" chain of trust.  It ensures that sensitive operations are
   only performed by authorized workloads running on untampered hardware
   in cryptographically verified, privacy-preserving geographic
   boundaries, fulfilling the high-assurance requirements of the *WIMSE
   Architecture* [[I-D.ietf-wimse-architecture]].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lkspa-wimse-verifiable-geo-fence-04"/>
        </reference>
        <reference anchor="I-D.richardson-rats-pop-endorsement">
          <front>
            <title>Proof of Position for Auditor managed Endorsements</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="13" month="May" year="2025"/>
            <abstract>
              <t>   Some aspects of a device can not be intuited by the device itself.
   For instance, a router platform may have no way to know what color
   the case is, where in a cabinet it is located, or which electrical
   circuit it is connected to.  This kind of information must be
   provided through an Endorsement: a statement from a third party.

   These statements may require human audiitors to inspect the device
   physically.  But, which device is really in front of an auditor?
   This document describes a mechanism by which an auditor can make
   physical contact with a device and collect information to identify
   the device in a cryptographically strong manner.

   This protocol is not designed to run over Internet Protocol cabling,
   but rather over mechanisms such as USB cables, or serial consoles.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-rats-pop-endorsement-00"/>
        </reference>
        <reference anchor="H3" target="https://h3geo.org/">
          <front>
            <title>H3: Uber's Hexagonal Hierarchical Spatial Index</title>
            <author>
              <organization>Uber Technologies</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="PARISI-NOBEL" target="https://www.nobelprize.org/prizes/physics/2021/parisi/facts/">
          <front>
            <title>Nobel Prize in Physics 2021: Giorgio Parisi</title>
            <author>
              <organization>The Nobel Foundation</organization>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="CAVAGNA-STARLINGS" target="https://doi.org/10.1073/pnas.1005766107">
          <front>
            <title>Scale-free correlations in starling flocks</title>
            <author initials="A." surname="Cavagna" fullname="A. Cavagna">
              <organization/>
            </author>
            <author initials="A." surname="Cimarelli" fullname="A. Cimarelli">
              <organization/>
            </author>
            <author initials="I." surname="Giardina" fullname="I. Giardina">
              <organization/>
            </author>
            <author initials="G." surname="Parisi" fullname="G. Parisi">
              <organization/>
            </author>
            <author initials="R." surname="Santagati" fullname="R. Santagati">
              <organization/>
            </author>
            <author initials="F." surname="Stefanini" fullname="F. Stefanini">
              <organization/>
            </author>
            <author initials="M." surname="Viale" fullname="M. Viale">
              <organization/>
            </author>
            <date year="2010"/>
          </front>
          <seriesInfo name="DOI" value="10.1073/pnas.1005766107"/>
        </reference>
        <reference anchor="BALLERINI-TOPOLOGICAL" target="https://doi.org/10.1073/pnas.0711437105">
          <front>
            <title>Interaction ruling animal collective behavior depends on topological rather than metric distance</title>
            <author initials="M." surname="Ballerini" fullname="M. Ballerini">
              <organization/>
            </author>
            <author initials="N." surname="Cabibbo" fullname="N. Cabibbo">
              <organization/>
            </author>
            <author initials="R." surname="Candelier" fullname="R. Candelier">
              <organization/>
            </author>
            <author initials="A." surname="Cavagna" fullname="A. Cavagna">
              <organization/>
            </author>
            <author initials="E." surname="Cisbani" fullname="E. Cisbani">
              <organization/>
            </author>
            <author initials="I." surname="Giardina" fullname="I. Giardina">
              <organization/>
            </author>
            <author initials="V." surname="Lecomte" fullname="V. Lecomte">
              <organization/>
            </author>
            <author initials="A." surname="Orlandi" fullname="A. Orlandi">
              <organization/>
            </author>
            <author initials="G." surname="Parisi" fullname="G. Parisi">
              <organization/>
            </author>
            <author initials="A." surname="Procaccini" fullname="A. Procaccini">
              <organization/>
            </author>
            <author initials="M." surname="Viale" fullname="M. Viale">
              <organization/>
            </author>
            <author initials="V." surname="Zdravkovic" fullname="V. Zdravkovic">
              <organization/>
            </author>
            <date year="2008"/>
          </front>
          <seriesInfo name="DOI" value="10.1073/pnas.0711437105"/>
        </reference>
        <reference anchor="BARABASI-MOBILITY" target="https://doi.org/10.1038/nature06958">
          <front>
            <title>Understanding individual human mobility patterns</title>
            <author initials="M.C." surname="Gonzalez" fullname="M.C. Gonzalez">
              <organization/>
            </author>
            <author initials="C.A." surname="Hidalgo" fullname="C.A. Hidalgo">
              <organization/>
            </author>
            <author initials="A.-L." surname="Barabasi" fullname="A.-L. Barabasi">
              <organization/>
            </author>
            <date year="2008"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/nature06958"/>
        </reference>
        <reference anchor="SONG-LIMITS" target="https://doi.org/10.1126/science.1177170">
          <front>
            <title>Limits of Predictability in Human Mobility</title>
            <author initials="C." surname="Song" fullname="C. Song">
              <organization/>
            </author>
            <author initials="Z." surname="Qu" fullname="Z. Qu">
              <organization/>
            </author>
            <author initials="N." surname="Blumm" fullname="N. Blumm">
              <organization/>
            </author>
            <author initials="A.-L." surname="Barabasi" fullname="A.-L. Barabasi">
              <organization/>
            </author>
            <date year="2010"/>
          </front>
          <seriesInfo name="DOI" value="10.1126/science.1177170"/>
        </reference>
        <reference anchor="VADAI-GPS" target="https://doi.org/10.1142/S0219477519500287">
          <front>
            <title>Spectral Analysis of Fluctuations in Humans' Daily Motion</title>
            <author initials="G." surname="Vadai" fullname="G. Vadai">
              <organization/>
            </author>
            <author initials="A." surname="Antal" fullname="A. Antal">
              <organization/>
            </author>
            <author initials="Z." surname="Gingl" fullname="Z. Gingl">
              <organization/>
            </author>
            <date year="2019"/>
          </front>
          <seriesInfo name="DOI" value="10.1142/S0219477519500287"/>
        </reference>
        <reference anchor="MACZAK-SPECTRAL" target="https://doi.org/10.1038/s41598-024-54165-4">
          <front>
            <title>General spectral characteristics of human activity</title>
            <author initials="B." surname="Maczak" fullname="B. Maczak">
              <organization/>
            </author>
            <date year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.1038/s41598-024-54165-4"/>
        </reference>
        <reference anchor="I-D.fossati-seat-expat">
          <front>
            <title>Remote Attestation with Exported Authenticators</title>
            <author fullname="Muhammad Usama Sardar" initials="M. U." surname="Sardar">
              <organization>TU Dresden</organization>
            </author>
            <author fullname="Thomas Fossati" initials="T." surname="Fossati">
              <organization>Linaro</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Yaron Sheffer" initials="Y." surname="Sheffer">
              <organization>Intuit</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <author fullname="Ionuț Mihalcea" initials="I." surname="Mihalcea">
              <organization>Arm Limited</organization>
            </author>
            <date day="26" month="February" year="2026"/>
            <abstract>
              <t>   This specification defines a method for two parties in a
   communication interaction to exchange Evidence and Attestation
   Results using exported authenticators, as defined in [RFC9261].
   Additionally, it introduces the cmw_attestation extension, which
   allows attestation credentials to be included directly in the
   Certificate message sent during the Exported Authenticator-based
   post-handshake authentication.  The approach supports both the
   passport and background check models from the RATS architecture while
   ensuring that attestation remains bound to the underlying
   communication channel.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-fossati-seat-expat-02"/>
        </reference>
      </references>
    </references>
    <?line 1502?>

<section anchor="related-work">
      <name>Relationship to Other Geo-Location Proposals</name>
      <t>Several Internet-Drafts proposed in the RATS and WIMSE working groups
address aspects of location attestation. This appendix positions
TRIP relative to four such proposals.</t>
      <section anchor="related-eat">
        <name>EAT Location Claim</name>
        <t>The Entity Attestation Token <xref target="I-D.ietf-rats-eat"/> defines a
location claim that conveys a single point-in-time geographic
position in WGS-84 coordinates. The claim provides no temporal
depth, no privacy quantization, and no behavioral context. TRIP
could emit its Trajectory Identity Token or Proof-of-Humanity
Certificate as an EAT claim, providing longitudinal behavioral
evidence within an EAT-formatted Attestation Result. The two are
complementary.</t>
      </section>
      <section anchor="related-proxloc">
        <name>Proximate Location Claim</name>
        <t>The Proximate Location Claim <xref target="I-D.mandyam-rats-proxlocclaim"/>
defines evidence of relative position derived from secure
ranging between two devices, typically using ultra-wideband
(UWB) radio per FiRa Consortium specifications. Proximate
Location is instantaneous and pairwise; TRIP is longitudinal
and self-attested. Proximate Location requires dedicated radio
hardware in both endpoints; TRIP uses commodity GNSS and
ambient signals already present on consumer mobile devices.</t>
      </section>
      <section anchor="related-geofence">
        <name>Verifiable Geofencing for Workloads</name>
        <t>The Verifiable Geofencing draft
<xref target="I-D.lkspa-wimse-verifiable-geo-fence"/> targets confidential
computing workloads, providing cryptographically verifiable
proof-of-residency that binds a workload identity to a host
platform and a geographic boundary. Verifiable Geofencing
answers "where is this workload executing?". TRIP answers "who
is the human or autonomous entity behind this identity, and how
has that entity moved over time?". The two address orthogonal
concerns: residency versus operator integrity.</t>
      </section>
      <section anchor="related-pop-endorse">
        <name>Proof of Position for Auditor Endorsements</name>
        <t>The Proof of Position draft
<xref target="I-D.richardson-rats-pop-endorsement"/> defines a mechanism by
which a human auditor establishes physical contact with a
device, typically via USB or serial console, and produces an
endorsement asserting properties that the device cannot
self-claim, including its physical location. Proof of Position
is one-time, human-mediated, and locally delivered. TRIP is
continuous, self-attested, and remotely verifiable.</t>
      </section>
      <section anchor="related-summary">
        <name>Comparison Summary</name>
        <table>
          <thead>
            <tr>
              <th align="left">Proposal</th>
              <th align="left">Temporal Model</th>
              <th align="left">Evidence Source</th>
              <th align="left">Primary Question</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">EAT Location</td>
              <td align="left">Instantaneous</td>
              <td align="left">Self-reported coordinate</td>
              <td align="left">Where is this device right now?</td>
            </tr>
            <tr>
              <td align="left">Proximate Location</td>
              <td align="left">Instantaneous</td>
              <td align="left">Secure ranging hardware</td>
              <td align="left">Is device X near device Y?</td>
            </tr>
            <tr>
              <td align="left">Verifiable Geofence</td>
              <td align="left">Continuous (workload lifetime)</td>
              <td align="left">TPM + sensor attestation</td>
              <td align="left">Is this workload inside the boundary?</td>
            </tr>
            <tr>
              <td align="left">PoP Endorsement</td>
              <td align="left">One-time</td>
              <td align="left">Human auditor, side-channel</td>
              <td align="left">Did a trusted human visit this device?</td>
            </tr>
            <tr>
              <td align="left">TRIP</td>
              <td align="left">Longitudinal</td>
              <td align="left">Self-attested behavioral trajectory</td>
              <td align="left">Has this identity moved like a biological entity over time?</td>
            </tr>
          </tbody>
        </table>
        <t>TRIP is the only proposal in this set that uses behavioral
trajectory over time as its source of evidence. The others
provide instantaneous location claims, jurisdictional residency
proofs, or one-time endorsements. TRIP is intended to coexist
with these specifications, supplying a distinct dimension of
evidence -- continuity of physical existence -- that none of
them addresses.</t>
      </section>
    </section>
    <section anchor="history">
      <name>History</name>
      <t>Version -01 introduced a Criticality Engine grounded in
Giorgio Parisi's Nobel Prize-winning work on scale-free
correlations <xref target="PARISI-NOBEL"/> and
Albert-Laszlo Barabasi's research on the fundamental limits
of human mobility <xref target="BARABASI-MOBILITY"/>.</t>
      <t>Version -02 formalized the mapping to the RATS Architecture
<xref target="RFC9334"/>, introduced the Active Verification
Protocol with cryptographic freshness guarantees, and corrected
the privacy model.</t>
      <t>This revision (-03) addresses three substantive issues
identified through expert review by researchers working in
the statistical physics of complex systems:</t>
      <t>First, it replaces the informal term "Parisi Factor" with
the standard spectral analysis term "PSD scaling exponent
alpha," properly attributing the theoretical foundation to
Parisi's work without conflating tribute with established
nomenclature.</t>
      <t>Second, it provides the missing analytical and numerical
bridge between the Levy flight displacement exponent beta
(<xref target="levy-flights"/>) and the PSD scaling exponent alpha
(<xref target="psd-analysis"/>). Previous revisions asserted both as
independent properties of human mobility without
demonstrating their mathematical relationship.</t>
      <t>Third, it introduces a convergence analysis framework
(<xref target="convergence-analysis"/>) that addresses the fundamental question of
applying ensemble statistical properties to single
trajectories, including guidance on minimum trajectory
length and error rate estimation.</t>
      <t>Additionally, this revision removes Passive Verification
mode entirely. All Attestation Results <bcp14>MUST</bcp14> now be bound
to Relying Party nonces via the Active Verification
Protocol (<xref target="replay-protection"/>), eliminating the replay vulnerability
identified in -02 review.</t>
      <section anchor="changes">
        <name>Changes from -02</name>
        <t>This section summarizes the substantive changes from
draft-ayerbe-trip-protocol-02:</t>
        <ul spacing="normal">
          <li>
            <t>Replaced the term "Parisi Factor" with the standard
spectral analysis term "PSD scaling exponent alpha"
throughout the document. The theoretical contribution of
Parisi's work is acknowledged in the motivation and
terminology, not in the variable naming.</t>
          </li>
          <li>
            <t>Added <xref target="levy-psd-bridge"/> (Levy-PSD Bridge) providing the
analytical relationship between the Levy flight displacement
exponent beta and the PSD scaling exponent alpha, with
supporting references to empirical studies
<xref target="MACZAK-SPECTRAL"/> <xref target="VADAI-GPS"/>.</t>
          </li>
          <li>
            <t>Added <xref target="convergence-analysis"/> (Convergence Analysis) addressing the
application of ensemble statistical properties to single
trajectories, including minimum trajectory length guidance
and error rate estimation framework.</t>
          </li>
          <li>
            <t>Removed Passive Verification mode entirely
(<xref target="replay-protection"/>). All Attestation Results <bcp14>MUST</bcp14> now be produced
via the Active Verification Protocol with Relying
Party-supplied nonces. The PoH Certificate fields for
nonce (field 12) and chain head hash (field 13) are now
<bcp14>REQUIRED</bcp14>, not optional.</t>
          </li>
          <li>
            <t>Updated the PoH Certificate (<xref target="poh-certificate"/>) to reflect
mandatory Active Verification fields.</t>
          </li>
          <li>
            <t>Added references to recent empirical studies on spectral
properties of human GPS trajectories.</t>
          </li>
        </ul>
      </section>
      <section anchor="changes-03">
        <name>Changes from -03</name>
        <t>This section summarizes the changes from
draft-ayerbe-trip-protocol-03:</t>
        <ul spacing="normal">
          <li>
            <t>Added <xref target="related-work"/> (Relationship to Other Geo-Location
Proposals) positioning TRIP relative to four parallel
proposals: EAT Location Claim, Proximate Location,
Verifiable Geofencing, and PoP Endorsement, per the
commitment made on rats@ietf.org in February.</t>
          </li>
          <li>
            <t>Added RFC 8610 reference and citation in <xref target="active-cddl"/>.</t>
          </li>
          <li>
            <t>Editorial cleanup of <xref target="iana"/>.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The TRIP protocol builds upon foundational work in cryptographic
identity systems, geospatial indexing, statistical physics, and
network science. The author thanks the contributors to the H3
geospatial system, the Ed25519 specification authors, and the
broader IETF community for establishing the standards that TRIP
builds upon. The Criticality Engine framework is inspired by the
work of Giorgio Parisi on scale-free correlations in biological
systems and Albert-Laszlo Barabasi on the fundamental limits of
human mobility.</t>
      <t>The authors thank Jun Zhang for raising critical questions about
accessibility and the applicability of mobility models to users
with limited physical mobility, leading to the Accessibility and
Low-Mobility Users section.</t>
      <t>The authors thank an anonymous reviewer from the statistical
physics community for identifying three critical issues addressed
in this revision: the need for standard spectral analysis
terminology, the missing analytical bridge between Levy flight
parameters and PSD scaling exponents, and the fundamental
question of applying ensemble properties to single trajectories.
These contributions led to Sections 6.3 and 6.4 and the new
Section 13.7 on statistical classifier limitations.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
j/lQBEzEJ5eYRszD/wYWWIoRlvgAAA==

-->

</rfc>
