TRAIL Protocol · Technical Whitepaper
Technical Whitepaper · v1.0

TRAIL Protokoll: Technisches Whitepaper TRAIL Protocol: Technical Whitepaper

Trust Registry for AI Identity Layer: Kryptographische Architektur, did:trail-Methode und dezentrale CA-Infrastruktur Trust Registry for AI Identity Layer: Cryptographic architecture, did:trail method, and decentralised CA infrastructure
Version: 1.0 Status: VeröffentlichtPublished Date: March 2026 License: CC BY 4.0 Contact: christian.hommrich@gmail.com
Abstract

TRAIL (Trust Registry for AI Identity Layer) ist ein offenes, dezentrales Identitätsprotokoll für KI-Agenten und autonome Systeme, basierend auf W3C Decentralized Identifiers v1.1 [DID-CORE] und Verifiable Credentials 2.0 [VC-DATA-MODEL]. Das Protokoll definiert eine neue DID-Methode (did:trail) mit drei Modi (org, agent, self), kryptographische Integritätsnachweise via Ed25519 DataIntegrityProof (eddsa-jcs-2023) und JSON Canonicalization Scheme (JCS, RFC 8785), sowie ein dreistufiges Trust-Modell (Tier 0–2) mit dezentraler CA-Infrastruktur. TRAIL zielt darauf ab, die fehlende Vertrauensschicht zwischen KI-Infrastruktur (LLMs, Agenten, Automatisierungsplattformen) und menschlichen Entscheidungsträgern zu schließen, rechtskonform nach EU AI Act Art. 13/14 und datenschutzkonform nach DSGVO.

TRAIL (Trust Registry for AI Identity Layer) is an open, decentralised identity protocol for AI agents and autonomous systems, built on W3C Decentralized Identifiers v1.1 [DID-CORE] and Verifiable Credentials 2.0 [VC-DATA-MODEL]. The protocol defines a new DID method (did:trail) with three modes (org, agent, self), cryptographic integrity proofs via Ed25519 DataIntegrityProof (eddsa-jcs-2023) and JSON Canonicalization Scheme (JCS, RFC 8785), and a three-tier trust model (Tier 0–2) with decentralised CA infrastructure. TRAIL addresses the missing trust layer between AI infrastructure (LLMs, agents, automation platforms) and human decision-makers, compliant with EU AI Act Art. 13/14 and GDPR by design.

InhaltsverzeichnisTable of Contents

  1. Problemraum und MotivationProblem Space and Motivation
  2. Design-Ziele und AnforderungenDesign Goals and Requirements
  3. ArchitekturüberblickArchitecture Overview
  4. did:trail: DID-Methodedid:trail: DID Method
  5. Kryptographisches Design: FingerprintingCryptographic Design: Fingerprinting
  6. Verifiable Credential ProfilVerifiable Credential Profile
  7. Dezentrale CA-InfrastrukturDecentralised CA Infrastructure
  8. Trust Registry: API-SpezifikationTrust Registry: API Specification
  9. Trust Badge: JS-WidgetTrust Badge: JS Widget
  10. Compliance-Mapping: EU AI Act & DSGVOCompliance Mapping: EU AI Act & GDPR
  11. Sicherheitsanalyse und BedrohungsmodellSecurity Analysis and Threat Model
  12. Privacy by DesignPrivacy by Design
  13. ReferenzenReferences

§1 Problemraum und Motivation Problem Space and Motivation

Die Proliferation autonomer KI-Agenten im B2B-Umfeld (insbesondere im Bereich der Outreach-Automatisierung, der Entscheidungsunterstützung und der agentenbasierten Prozessautomation) erzeugt ein fundamentales Vertrauensproblem: Es gibt keinen standardisierten Weg, zu verifizieren, wer oder was hinter einem KI-System steht.

The proliferation of autonomous AI agents in B2B contexts (particularly in outreach automation, decision support, and agent-based process automation) creates a fundamental trust problem: there is no standardised mechanism to verify who or what is behind an AI system.

Konkret ergeben sich drei Problemkategorien:

Specifically, three problem categories emerge:

ProblemProblem Heutiger ZustandCurrent State KonsequenzConsequence
AnonymitätAnonymity KI-Agenten agieren ohne überprüfbare IdentitätAI agents act without verifiable identity Phishing, Social Engineering, HaftungsvakuumPhishing, social engineering, liability vacuum
IntransparenzOpacity Keine Offenlegung, ob mit KI oder Mensch kommuniziert wirdNo disclosure of whether communication is human or AI Täuschung, EU AI Act-Verstoß (Art. 52)Deception, EU AI Act violation (Art. 52)
ZentralisierungCentralisation Vertrauenssilos pro Plattform (OpenAI, Anthropic, …)Trust silos per platform (OpenAI, Anthropic, …) Kein plattformübergreifendes Vertrauen möglichNo cross-platform trust possible

TRAIL adressiert primär die Ebene der Agenten-zu-Mensch (A2H) und Agenten-zu-Agenten (A2A) Interaktionen. Es ersetzt keine bestehenden Authentifizierungsstandards, sondern ergänzt diese um eine vertrauenszertifizierte Identitätsebene.

TRAIL primarily addresses Agent-to-Human (A2H) and Agent-to-Agent (A2A) interaction layers. It does not replace existing authentication standards but augments them with a trust-certified identity layer.

§2 Design-Ziele und Anforderungen Design Goals and Requirements

TRAIL ist nach folgenden nicht-verhandelbaren Anforderungen entworfen:

TRAIL is designed according to the following non-negotiable requirements:

§3 Architekturüberblick Architecture Overview

┌─────────────────────────────────────────────────────────────────────┐ │ APPLICATION LAYER │ │ AI Agents · Outreach Bots · Automation Platforms │ └──────────────────────────┬──────────────────────────────────────────┘did:trail resolve / VC present ┌──────────────────────────▼──────────────────────────────────────────┐ │ TRAIL PROTOCOL LAYER │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │ │ DID Method │ │ VC Profile │ │ Proof Engine │ │ │ │ did:trail │ │ VC 2.0 │ │ Ed25519 + JCS (8785) │ │ │ └──────┬───────┘ └──────┬───────┘ └────────────┬─────────────┘ │ └─────────┼─────────────────┼───────────────────────┼───────────────┘ │ │ │ ┌─────────▼─────────────────▼─────────────────────── ▼───────────────┐ │ TRUST INFRASTRUCTURE │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────────────────┐ │ │ │ TRAIL │ │ CA Network │ │ Trust Badge Widget │ │ │ │ Registry │ │ (Founding + │ │ (JS, 1-line embed) │ │ │ │ (REST API) │ │ Accredited) │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘┌─────────▼───────────────────────────────────────────────────────────┐ │ STANDARDS LAYER │ │ W3C DID Core v1.1 · W3C VC 2.0 · RFC 8785 (JCS) │ │ Ed25519 (eddsa-jcs-2023) · eIDAS 2.0 · EU AI Act Art.13/14 │ └─────────────────────────────────────────────────────────────────────┘

§4 did:trail: DID-Methode Spezifikation did:trail: DID Method Specification

4.1 DID-SyntaxDID Syntax

Die did:trail-Methode folgt der formalen ABNF-Syntax gemäß [DID-CORE §8.1]:

The did:trail method follows the formal ABNF syntax per [DID-CORE §8.1]:

ABNF Grammar
trail-did    = "did:trail:" trail-specific-id
trail-id     = 8HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 4HEXDIG "-" 12HEXDIG
trail-tag    = 1*(ALPHA / DIGIT / "-")   ; optional agent type label

; Example: did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f
; Example: did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f#agent-type=sales-sdr

4.2 DID-Dokument StrukturDID Document Structure

DID Document: JSON-LD (W3C DID Core v1.1)
{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://trailprotocol.org/ns/v1"
  ],
  "id": "did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f",
  "verificationMethod": [{
    "id": "did:trail:3a8f7c21...#key-1",
    "type": "JsonWebKey2020",
    "controller": "did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f",
    "publicKeyJwk": {
      "kty": "EC",
      "crv": "P-256",
      "x": "f83OJ3D2xF1Bg8vub9tLe1gHMzV76e8Tus9OQoVv",
      "y": "x_FEzRu9m36HLN_tue659LNpXW6pCyStikYjKIWI"
    }
  }],
  "authentication": ["did:trail:3a8f7c21...#key-1"],
  "assertionMethod": ["did:trail:3a8f7c21...#key-1"],

  // TRAIL-specific extensions
  "trail:agentType": "sales-sdr",        // agent classification
  "trail:registeredAt": "2026-03-01T00:00:00Z",
  "trail:caIssuer": "did:trail:ca:founding-ca-001",
  "trail:status": "active",              // active | suspended | revoked
  "trail:fingerprint": "hmac-sha256:a7f4..." // see §5
}

4.3 CRUD Operations

OperationMethodEndpointBeschreibungDescription
CreatePOST/v1/didsRegistrierung eines neuen did:trail IdentifiersRegister a new did:trail identifier
ReadGET/v1/dids/{did}Auflösung des DID-DokumentsResolve the DID document
UpdatePATCH/v1/dids/{did}Key-Rotation, Status-Update (nur durch Inhaber)Key rotation, status update (owner only)
DeactivateDELETE/v1/dids/{did}Soft-Delete: Status auf "revoked" setzenSoft-delete: set status to "revoked"

§5 Kryptographisches Design: Signaturen & Kanonisierung Cryptographic Design: Signatures & Canonicalization

TRAIL verwendet Ed25519-Signaturen mit der W3C-standardisierten eddsa-jcs-2023 Cryptosuite für alle DataIntegrityProofs. JSON-Dokumente werden vor dem Signieren mittels JSON Canonicalization Scheme (JCS, RFC 8785) kanonisiert. Damit ist die Signatur unabhängig von Serialisierungsreihenfolge oder Formatierung deterministisch verifizierbar.

TRAIL uses Ed25519 signatures with the W3C-standardised eddsa-jcs-2023 cryptosuite for all DataIntegrityProofs. JSON documents are canonicalised using JSON Canonicalization Scheme (JCS, RFC 8785) before signing. Signatures are therefore deterministically verifiable regardless of serialisation order or formatting.

DataIntegrityProof: Signaturerzeugung (Pseudocode)DataIntegrityProof: Signature Creation (Pseudocode)
// Step 1: Generate Ed25519 key pair
{ publicKey, privateKey } = crypto.generateKeyPairSync("ed25519")

// Step 2: Canonicalise document using JCS (RFC 8785)
// Sorted keys (UTF-16 order), normalised numbers, deterministic output
canonical = JCS.canonicalize(document)

// Step 3: Sign canonical form with Ed25519
signature = crypto.sign(null, canonical, privateKey)

// Step 4: Encode as Multibase (base58btc, z-prefix)
proofValue = "z" + base58btc.encode(signature)

// Verification: re-canonicalise + verify signature → deterministic
valid = crypto.verify(null, JCS.canonicalize(document), publicKey, signature)

5.1 DID-Suffix: Content-Addressable HashDID Suffix: Content-Addressable Hash

Für Org- und Agent-DIDs wird der DID-Suffix aus einem SHA-256-Hash der Initialwerte berechnet, trunkiert auf 12 Hex-Zeichen (48 Bit). Dies bindet den Identifier kryptographisch an seinen Ursprung und verhindert Namespace-Squatting.

For org and agent DIDs, the DID suffix is computed from a SHA-256 hash of the initial values, truncated to 12 hex characters (48 bits). This cryptographically binds the identifier to its origin and prevents namespace squatting.

Hash-BerechnungHash Computation
hash = SHA-256("{slug}|{publicKeyMultibase}|{timestamp}")
suffix = hash.hex().substring(0, 12)
// → did:trail:org:acme-corp-a7f3b2c1e9d0

Die JCS-Implementierung der Referenzimplementierung (@trailprotocol/core) hat null externe Abhängigkeiten und folgt strikt RFC 8785, einschließlich korrekter UTF-16-Sortierung, -0 zu 0-Normalisierung und NaN/Infinity-Ablehnung. Die Ed25519-Signatur wird über die kanonisierte Bytefolge berechnet, nicht über die Stringrepräsentation.

The JCS implementation in the reference package (@trailprotocol/core) has zero external dependencies and strictly follows RFC 8785, including correct UTF-16 sorting, -0 to 0 normalisation, and NaN/Infinity rejection. The Ed25519 signature is computed over the canonicalised byte sequence, not the string representation.

§6 Verifiable Credential Profil (VC 2.0) Verifiable Credential Profile (VC 2.0)

Eine CA stellt einem registrierten KI-Agenten ein Verifiable Credential aus, das die Identität und den Vertrauensstatus bestätigt:

A CA issues a Verifiable Credential to a registered AI agent confirming its identity and trust status:

TRAIL Agent Credential: VC 2.0 (JSON-LD)
{
  "@context": [
    "https://www.w3.org/ns/credentials/v2",
    "https://trailprotocol.org/ns/credentials/v1"
  ],
  "type": ["VerifiableCredential", "TrailAgentCredential"],
  "id": "https://registry.trailprotocol.org/credentials/vc-a4f92b1c",
  "issuer": {
    "id": "did:trail:ca:founding-ca-001",
    "name": "TRAIL Founding CA"
  },
  "validFrom": "2026-03-01T00:00:00Z",
  "validUntil": "2027-03-01T00:00:00Z",  // annual renewal
  "credentialSubject": {
    "id": "did:trail:agent:acme-sales-sdr-a7f3b2c1e9d0",
    "trail:agentType":    "sales-sdr",
    "trail:trustLevel":   "verified",   // basic | verified | certified
    "trail:operatorDID":  "did:web:acme-corp.example.com",
    "trail:auditLog":     "https://registry.trailprotocol.org/audit/3a8f7c21",
    "trail:euAiActScope": ["art13", "art14"],
    "trail:trailTrustTier": 1
  },
  "proof": {
    "type":               "DataIntegrityProof",
    "cryptosuite":        "eddsa-jcs-2023",
    "created":            "2026-03-01T00:00:00Z",
    "verificationMethod": "did:trail:ca:founding-ca-001#key-1",
    "proofPurpose":       "assertionMethod",
    "proofValue":         "z58DAdFfa9MzHUxPeVXVKTJnnJBkv..."
  }
}

§7 Dezentrale CA-Infrastruktur Decentralised CA Infrastructure

TRAIL verwendet ein zweistufiges, dezentrales CA-Modell, analog zu X.509 PKI, jedoch ohne Single-Root-of-Trust:

TRAIL uses a two-tier, decentralised CA model, analogous to X.509 PKI but without a single root of trust:

┌────────────────────────────────────────────────────────┐ │ TRAIL ROOT ANCHORS (Dezentral) │ │ Kein Single Root, konsensbasiertes Vertrauen │ │ Governance: Community-Abstimmung (geplant 2027) │ └───────────────┬────────────────────────────────────────┘cross-signs / audits ┌───────────────▼────────────────────────────────────────┐ │ FOUNDING CAs (Tier 1) │ │ • TrailSign AI GmbH (Gründungs-CA) │ │ • Akkreditierte EU-Partner (ab Q3 2026 geplant) │ │ • Mindestanforderung: WebTrust-Audit oder ETSI 319 │ └───────────────┬────────────────────────────────────────┘issues credentials to ┌───────────────▼────────────────────────────────────────┐ │ REGISTERED AI AGENTS (Tier 2) │ │ • did:trail Identitäten mit aktiven VCs │ │ • Jährliche Renewal-Pflicht │ │ • Widerruf innerhalb 24h möglich │ └────────────────────────────────────────────────────────┘
CA-TypCA Type AnforderungenRequirements Ausstellbare VCsIssuable VCs
Founding CA TrailSign AI GmbH-Audit, technische ZertifizierungTrailSign AI GmbH audit, technical certification basic, verified
Accredited CA WebTrust oder ETSI EN 319 401, EU-AkkreditierungWebTrust or ETSI EN 319 401, EU accreditation basic, verified, certified

§8 Trust Registry: API-Spezifikation Trust Registry: API Specification

Die TRAIL Registry exponiert eine REST-API mit OpenAPI 3.0-Spezifikation. Basis-URL: https://registry.trailprotocol.org/v1

The TRAIL Registry exposes a REST API with an OpenAPI 3.0 specification. Base URL: https://registry.trailprotocol.org/v1

EndpointMethodBeschreibungDescriptionAuth
/dids/{did}GETDID-Dokument auflösen (öffentlich)Resolve DID document (public)-
/didsPOSTNeue DID registrierenRegister new DIDCA-Key
/verifyPOSTVC-Präsentation verifizierenVerify VC presentationAPI-Key
/credentials/{id}GETVC-Status prüfen (aktiv/widerrufen)Check VC status (active/revoked)-
/audit/{did}GETÖffentliches Audit-Log (Hash-only)Public audit log (hash-only)-
Example: Verify a TRAIL credential
POST /v1/verify
Content-Type: application/json
X-API-Key: <api-key>

{
  "presentation": {
    "@context": ["https://www.w3.org/ns/credentials/v2"],
    "type": ["VerifiablePresentation"],
    "holder": "did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f",
    "verifiableCredential": ["..."]  // compact JWT or JSON-LD
  }
}

// Response
{
  "verified": true,
  "did":      "did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f",
  "agentType": "sales-sdr",
  "trustLevel": "verified",
  "status": "active",
  "validUntil": "2027-03-01T00:00:00Z"
}

§9 Trust Badge: JS-Widget Spezifikation Trust Badge: JS Widget Specification

Das Trust Badge Widget ermöglicht die 1-Zeilen-Integration von TRAIL-Vertrauensstatus in beliebige Web-Frontends:

The Trust Badge Widget enables 1-line integration of TRAIL trust status into any web frontend:

Integration (1 Zeile)Integration (1 line)
<script src="https://cdn.trailprotocol.org/badge.js"
        data-did="did:trail:3a8f7c21-b19e-4d02-a7f3-9c1e2b4d8a6f"
        data-theme="dark"
        data-lang="de"></script>

Das Widget holt den aktuellen Vertrauensstatus live vom Registry und rendert ein standardisiertes Badge (SVG). Parameter:

The widget fetches the current trust status live from the registry and renders a standardised badge (SVG). Parameters:

ParameterTypeBeschreibungDescriptionPflichtRequired
data-didstringdid:trail Identifier des AgentenAgent's did:trail identifier
data-themelight|darkVisuelles Theme des BadgesVisual theme of badge-
data-langde|enSprache des Badge-LabelsBadge label language-
data-compactbooleanMinimalmodus (nur Icon)Compact mode (icon only)-
data-callbackfunctionJS-Callback bei Status-ÄnderungJS callback on status change-

§10 Compliance-Mapping: EU AI Act & DSGVO Compliance Mapping: EU AI Act & GDPR

NormRegulation Artikel / AnforderungArticle / Requirement TRAIL-UmsetzungTRAIL Implementation Status
EU AI Act Art. 13: Transparenz (Hochrisiko-KI)Transparency (high-risk AI) KI-Agenten-Typ im DID-Dokument · öffentlich auflösbarAI agent type in DID document · publicly resolvable ✓ Design
EU AI Act Art. 14: Menschliche AufsichtHuman oversight Audit-Log-URL im VC · Operator-DID verknüpftAudit log URL in VC · Operator DID linked ✓ Design
EU AI Act Art. 52: Offenlegungspflicht (Chatbots)Disclosure obligation (chatbots) Trust Badge Signal: "Diese Nachricht kommt von KI-Agent [DID]"Trust Badge signal: "This message is from AI agent [DID]" → Q3 2026
DSGVO Art. 5: DatensparsamkeitData minimisation Kein Personenbezug im DID-Dokument. Signaturen enthalten nur öffentliche Schlüssel.No personal data in DID document. Signatures contain only public keys. ✓ Design
DSGVO Art. 25: Privacy by DesignPrivacy by design Fingerprint-Schema ermöglicht Verifikation ohne DatenweitergabeFingerprint scheme enables verification without data disclosure ✓ Design
eIDAS 2.0 EUDIW-KompatibilitätEUDIW compatibility VC 2.0-Profil kompatibel mit EUDIW-VC-SpezifikationVC 2.0 profile compatible with EUDIW VC specification → Evaluation

§11 Sicherheitsanalyse und Bedrohungsmodell Security Analysis and Threat Model

BedrohungThreat AngriffsvektorAttack Vector TRAIL-GegenmaßnahmeTRAIL Countermeasure
IdentitätsfälschungIdentity forgery Angreifer gibt sich als registrierten Agenten ausAttacker impersonates a registered agent Ed25519-Signatur erfordert den privaten Schlüssel; Proof-Verifikation über öffentlichen Schlüssel im DID-DokumentEd25519 signature requires private key; proof verification via public key in DID document
Registry Compromise Angreifer kompromittiert das zentrale RegistryAttacker compromises the central registry Dezentrale CA-Signaturen; kompromittiertes Registry kann VCs nicht fälschenDecentralised CA signatures; compromised registry cannot forge VCs
Replay Attack Wiederverwendung eines alten, gültigen VCsReuse of an old, valid VC VCs enthalten validUntil und Challenge-Nonce in der PresentationVCs contain validUntil and challenge nonce in presentation
CA-KompromittierungCA Compromise Rogue CA stellt ungültige VCs ausRogue CA issues invalid VCs Kein Single Root of Trust; Community kann CA aus vertrautem Set entfernenNo single root of trust; community can remove CA from trusted set
DID HijackingDID Hijacking Angreifer übernimmt eine DID-IdentitätAttacker takes over a DID identity Kontrolle über DID erfordert den privaten Ed25519-Schlüssel; Hash-Suffix im DID ist an den Initialschlüssel gebundenControl over DID requires the private Ed25519 key; hash suffix in DID is bound to the initial key

§12 Privacy by Design

TRAIL-DID-Dokumente enthalten keinerlei personenbezogene Daten. DataIntegrityProofs ermöglichen kryptographische Verifizierung allein über öffentliche Schlüssel. Self-Mode-DIDs (did:trail:self:z...) ermöglichen vollständig pseudonyme Identitäten ohne Registry.

TRAIL DID documents contain no personal data whatsoever. DataIntegrityProofs enable cryptographic verification using only public keys. Self-mode DIDs (did:trail:self:z...) enable fully pseudonymous identities without any registry.

Folgende Privacy-Eigenschaften sind im Protokolldesign verankert:

The following privacy properties are anchored in the protocol design:

§13 Referenzen References