Skip to content

Implement

Terminal window
npm i @real-life/trust-protocol

@real-life/trust-protocol is the executable form of the specification, published with provenance. Zero dependencies, WebCrypto only (Ed25519, X25519, HKDF, AES-256-GCM). It runs in browsers, Node 20 and later, Deno and Bun. It has no DOM, no storage and no network: the library computes and verifies, the host decides where bytes live.

Its modules mirror the documents: identity, encounter, delivery, ceremony, visibility, and beside them core and crypto.

import { ceremony, visibility } from '@real-life/trust-protocol'
import { introduce, membership } from '@real-life/trust-protocol/probe'

The /probe subpath carries the converged semantics of Vorstellung Der Akt, in dem ein Vermittler, der Kontakt beider ist, eine anfragende Person mit einer Zielperson bekannt macht: fünf Nachrichten (Anfrage, Weiterleitung, Antwort, Bestätigung, Voucher) über die bestehenden Beziehungskanäle. Der Vermittler überträgt Nachrichten, nie stehende Anker; die frischen Paaranker der neuen Beziehung stellen ihre Inhaber selbst aus. Die Beziehung trägt die Herkunft „Vorstellung“, bis der erste vollzogene Begegnungsvorgang sie auf „Begegnung“ hebt, nie umgekehrt. GlossarIntroduction The act by which a mediator who is a contact of both makes a requester known to a target: five messages (request, forward, reply, acknowledgement, voucher) over the existing relationship channels. The mediator transfers messages, never standing anchors; the fresh pair anchors of the new relationship are issued by their owners. The relationship carries the provenance introduction until its first completed enactment upgrades it to encounter, never downward. Glossary and group membership, but its transport shapes are not wire-normative yet. Do not treat them as an interoperability target.

The library README lists every module with the document it answers to.

vectors/ holds deterministic test vectors: the sealed envelope, identity derivation, encounter cards, DTG credentials, visibility. An implementation must reproduce them byte for byte.

Terminal window
git clone https://github.com/real-life-org/trust-protocol
cd trust-protocol
node conformance/runner.mjs

The runner recomputes every cryptographic claim of the shipped vectors from their documented inputs, validates every schema claim against the shipped schemas, and checks that every negative fails at its declared stage. Zero dependencies.

npm run validate runs the publication checks: schemas compile, vectors recompute, and the must-fail fixtures fail.