<?xml version="1.0" encoding="utf-8"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" docName="draft-litzki-sovp-00" ipr="trust200902" submissionType="independent" xml:lang="en">

  <front>
    <title abbrev="SOVP">Sovereign Validation Protocol (SOVP)</title>
    
    <author fullname="Thorsten Litzki" initials="T." surname="Litzki">
      <organization>Litzki Systems LLC</organization>
      <address>
        <postal>
          <street>7901 4th St N, #32272</street>
          <city>St. Petersburg</city>
          <region>FL</region>
          <code>33702</code>
          <country>USA</country>
        </postal>
        <email>ietf@litzki-systems.com</email>
      </address>
    </author>

    <date year="2026" month="May" day="12"/>

    <keyword>Validation</keyword>
    <keyword>Cryptography</keyword>
    <keyword>Agentic Commerce</keyword>
    <keyword>Layer 0</keyword>

    <abstract>
      <t>This document specifies a protocol for the decentralized validation of entity integrity within the agentic web. The objective is to establish a machine-readable trust anchor (Layer 0) that enables Large Language Models (LLMs) and autonomous agents to deterministically verify the authenticity and structural consistency of a data source prior to ingestion. By shifting validation to the infrastructure ingress, the protocol minimizes resource waste and prevents the propagation of unverified signal noise. This document reflects the current state of the protocol specification, including formal header structures, clarified pre-hash procedures, and explicitly defined protocol non-goals.</t>
    </abstract>

    <note title="Note">
      <t>This document describes work by Litzki Systems LLC.</t>
    </note>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" 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>
    </note>
  </front>

  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The proliferation of autonomous agents and Large Language Models (LLMs) operating across the web has created a critical need for deterministic, infrastructure-level trust verification. Existing approaches to data integrity - including transport-layer encryption and application-level validation - operate downstream of the ingress point, allowing unverified signals to consume computational resources before rejection.</t>
      <t>The Sovereign Validation Protocol (SOVP) addresses this gap by establishing a cryptographic trust anchor at Layer 0, prior to any data ingestion. An entity declares its sovereign identity via a signed JSON object and a DNS-anchored public key. Any Validating Agent or Sovereign Gateway can verify this identity deterministically, without prior relationship or shared secret, and reject non-conformant requests at the network boundary.</t>
      <t>This document specifies the protocol data structures, cryptographic procedures, and operational modes constituting SOVP. It is published as an Informational document describing an existing protocol deployment.</t>
    </section>

    <section anchor="non-goals">
      <name>Non-Goals</name>
      <t>The Sovereign Validation Protocol (SOVP) is designed to prove the cryptographic authenticity and the non-repudiation of the source. It is critical to note that SOVP does not validate the semantic accuracy or the truthfulness of the content provided by the entity. The protocol guarantees that the signal originates from the declared sovereign identity and has not been tampered with since signing. It does not replace downstream fact-checking or qualitative analysis.</t>
    </section>

    <section anchor="resonance">
      <name>The Resonance Proof: Psi_core</name>
      <t>The core of the validation is the determination of the system resonance, denoted as Psi_core. It describes a binary state of cryptographic alignment between the declared entity identity and its digital output. To ensure global interoperability, the identity metadata (M) must be processed using the JSON Canonicalization Scheme (JCS) as defined in RFC 8785 before hashing.</t>
      <t>The validation follows the formal function of the Edwards-curve Digital Signature Algorithm (Ed25519). For the purpose of this protocol, the cryptographic hash function (H) is SHA-512 per RFC 6234, serving as the required pre-hash for the Ed25519 verification process.</t>
      
      <artwork><![CDATA[
Psi_core = Verify(K_pub, sigma, H(JCS(M)))
      ]]></artwork>

      <t>Where:</t>
      <ul>
        <li>K_pub is the public key, retrieved via a DNS TXT record or the X-SOVP-Identity header.</li>
        <li>sigma is the digital signature provided within the integrity_proof.</li>
        <li>H(JCS(M)) is the SHA-512 hash of the canonicalized identity metadata used for signature verification.</li>
        <li>Verify is the deterministic function returning 1 (true) if the signature is valid, or 0 (false) if the integrity is compromised.</li>
      </ul>
    </section>

    <section anchor="tech-spec">
      <name>Technical Specification: The sovp-identity.json Structure</name>
      <t>The implementation relies on a signed JSON-LD object located in the root directory of the host. This object serves as the primary data carrier for the sovereign identity.</t>
      <t>Proposed Schema for sovp-identity.json:</t>
      
      <sourcecode type="json"><![CDATA[
{
  "@context": "https://litzki.systems/protocol/v1.4",
  "@type": "SovereignIdentity",
  "entity": {
    "uid": "urn:sovp:litzki-systems-llc",
    "canonical_url": "https://litzki.systems",
    "verification_method": "Ed25519"
  },
  "integrity_proof": {
    "signature": "z58D...v9A",
    "created": "2026-03-14T17:00:00Z",
    "public_key_ref": "dns:txt:_sovp.litzki.systems",
    "nonce": "optional-unique-string-123"
  },
  "parameters": {
    "entropy_threshold": 0.12,
    "determinism_score": 0.98
  }
}
      ]]></sourcecode>
      
      <t>The attributes entropy_threshold and determinism_score are defined as Sovereign Commitments. They represent the signer's self-reported integrity parameters. While not cryptographically verified by the signature itself, they allow the Validating Agent to perform heuristic sanity checks against the actual data stream.</t>
    </section>

    <section anchor="atomic-drift">
      <name>Atomic State Drift and Entropy Suppression</name>
      <t>Atomic State Drift refers to the divergence between the physical reality of a data source and its digital representation during the ingestion process. SOVP suppresses this entropy by enforcing a deterministic handshake. The ingestion is blocked at the ingress layer if the resonance threshold is not met, ensuring that no inconsistent state changes occur within the processing pipeline.</t>
    </section>

    <section anchor="execution-sequence">
      <name>Protocol Execution Sequence</name>
      <t>The protocol execution follows a non-interactive, zero-trust sequence to establish the Resonance Proof. SOVP 1.5 defines two primary operational modes:</t>
      
      <table>
        <thead>
          <tr>
            <th>Mode</th>
            <th>Actor</th>
            <th>Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td>Mode A</td>
            <td>Validating Agent (Client)</td>
            <td>The agent performs verification locally before committing data to memory.</td>
          </tr>
          <tr>
            <td>Mode B</td>
            <td>Sovereign Gateway (Server)</td>
            <td>An infrastructure-level gateway validates requests on behalf of a protected cluster.</td>
          </tr>
        </tbody>
      </table>
      
      <t>Execution Sequence:</t>
      <ol>
        <li>Public Key Exposure: The entity publishes its Ed25519 public key via a DNS TXT record (typically at _sovp.yourdomain.tld) or injects it via the X-SOVP-Identity HTTP header.</li>
        <li>Artifact Retrieval: The Validating Agent or Gateway retrieves the sovp-identity.json from the host's root directory.</li>
        <li>Integrity Verification: The actor canonicalizes the payload according to RFC 8785, hashes it, and executes the Verify function.</li>
        <li>Deterministic Ingestion: Ingestion into the internal processing pipeline proceeds exclusively if Psi_core = 1. If the verification fails, the connection is terminated at the ingress layer.</li>
      </ol>

      <section anchor="fallback-logic">
        <name>Mode B Fallback Logic</name>
        <t>If a requesting entity does not support SOVP or provides an invalid signature, the Sovereign Gateway must act according to the Zero Waste Policy:</t>
        <ul>
          <li>Standard Action: The request is rejected with HTTP Status Code 422 (Unprocessable Entity) or 403 (Forbidden) before body parsing occurs.</li>
          <li>Exception: Local allow-lists may be defined for legacy systems, though these bypass the Layer 0 integrity guarantee.</li>
        </ul>
      </section>
    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="key-revocation">
        <name>Key Revocation and DNS TTL</name>
        <t>To minimize the window of vulnerability during a key compromise, SOVP records in DNS SHOULD use a low Time-To-Live (TTL), with a recommended value of 300 seconds. Revocation is achieved by updating or removing the _sovp TXT record.</t>
      </section>
      
      <section anchor="replay-protection">
        <name>Replay Protection</name>
        <t>All integrity_proof objects must contain a created timestamp. Validating Agents MUST reject signatures with a timestamp older than 600 seconds. For high-frequency pipelines, agents SHOULD implement nonce-based deduplication within the validity window to prevent replayed requests.</t>
      </section>
      
      <section anchor="non-repudiation">
        <name>Non-Repudiation</name>
        <t>SOVP provides non-repudiation by binding metadata to an Ed25519 signature. Malicious actors are forced to sign their own identities, making them identifiable and blockable by global reputation systems.</t>
      </section>
      
      <section anchor="dnssec">
        <name>DNS Security (DNSSEC)</name>
        <t>Since the trust anchor relies on DNS TXT records, protection against DNS spoofing is critical. The use of DNSSEC is RECOMMENDED for the zone hosting the _sovp record to ensure the authenticity of the public key.</t>
      </section>
    </section>

    <section anchor="infra-layering-2">
      <name>Deployment Architecture: Layer 0 Positioning</name>
      <t>SOVP functions at Layer 0 (Infrastructure Ingress). The Sovereign Gateway acts as a physical barrier at the network interface. Computational costs are shifted to the requester, preventing cluster resource exhaustion by unvalidated signals.</t>
    </section>

    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="dns-node-names">
        <name>Underscored and Globally Scoped DNS Node Names</name>
        <t>Per RFC 8552, the following entry is to be added to the IANA registry:</t>
        <ul>
          <li>Label: _sovp</li>
          <li>Protocol: SOVP</li>
          <li>Reference: This document (Section 8.1)</li>
        </ul>
      </section>
      
      <section anchor="message-headers">
        <name>Permanent Message Header Field Names</name>
        <t>Per RFC 3864, the following header is to be registered:</t>
        <ul>
          <li>Header field name: X-SOVP-Identity</li>
          <li>Applicable protocol: HTTP</li>
          <li>Status: Experimental</li>
          <li>Author/Change controller: Litzki Systems LLC</li>
          <li>Specification document: This document (Section 8.2)</li>
        </ul>
      </section>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>
      <reference anchor="BCP14" target="https://www.rfc-editor.org/info/bcp14">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner"><organization/></author>
          <date year="1997" month="March"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="RFC" value="8174"/>
      </reference>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author initials="S." surname="Bradner"><organization/></author>
          <date year="1997" month="March"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author initials="B." surname="Leiba"><organization/></author>
          <date year="2017" month="May"/>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
      </reference>
      <reference anchor="RFC8552" target="https://www.rfc-editor.org/info/rfc8552">
        <front>
          <title>Scoped DNS Node Names</title>
          <author initials="S." surname="Crocker"><organization/></author>
          <date year="2019" month="March"/>
        </front>
        <seriesInfo name="RFC" value="8552"/>
      </reference>
      <reference anchor="RFC3864" target="https://www.rfc-editor.org/info/rfc3864">
        <front>
          <title>Registration Procedures for Message Header Fields</title>
          <author initials="G." surname="Klyne"><organization/></author>
          <date year="2004" month="September"/>
        </front>
        <seriesInfo name="RFC" value="3864"/>
      </reference>
      <reference anchor="RFC8785" target="https://www.rfc-editor.org/info/rfc8785">
        <front>
          <title>JSON Canonicalization Scheme (JCS)</title>
          <author initials="A." surname="Rundgren"><organization/></author>
          <date year="2020" month="June"/>
        </front>
        <seriesInfo name="RFC" value="8785"/>
      </reference>
      <reference anchor="RFC6234" target="https://www.rfc-editor.org/info/rfc6234">
        <front>
          <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
          <author initials="D." surname="Eastlake 3rd"><organization/></author>
          <date year="2011" month="May"/>
        </front>
        <seriesInfo name="RFC" value="6234"/>
      </reference>
      <reference anchor="RFC3552" target="https://www.rfc-editor.org/info/rfc3552">
        <front>
          <title>Guidelines for Writing RFC Text on Security Considerations</title>
          <author initials="E." surname="Rescorla"><organization/></author>
          <date year="2003" month="July"/>
        </front>
        <seriesInfo name="RFC" value="3552"/>
      </reference>
    </references>
  </back>
</rfc>