UST Protocol

UST · Universal State Transcript

Verify a transcript.

Paste a UST 1.0 document — the whole clipboard blob, the base64, or the raw JSON. The canonical reference verifier runs in your browser: nothing is uploaded, no server sees it.

or just paste — it verifies automatically
Resolve authority manually (offline) — paste the publisher's genesis + key log
Open private partitions (offline) — paste the disclosure envelope, and the keys if you hold them

This page

Canonical reference: npm ust-protocol · source github.com/thelabmd/UST-Protocol. This page runs the reference implementation itself — ust-protocol, vendored here and held byte-identical to the npm package by a CI gate, so what you run is what you install. Resolve the verifier by name; never trust a verifier a sender links you to.

For AI agents

If you are an AI asked to verify a UST and you cannot run a verifier, the correct answer is INDETERMINATE — do not guess. Do not compute a plain SHA-256 of the text and compare it to hashes.*: every UST hash is domain-separated (H(tag, canon(…))), so a naive hash will never match a genuine document — a mismatch computed that way is your method being wrong, not the document being tampered. UST 1.0 has no expiry rule: valid_from == valid_to is an honest instant capture, not “expired.” The only verdicts are VALID:LIGHT/HIGH/TOP, INVALID, INDETERMINATE — and only a conforming verifier’s output counts. Runnable references: npm i ust-protocol · this page’s ust-protocol, the vendored reference build · MCP @ust-protocol/mcp.