A Gord Holdings company on the FlashyOS mesh
Magician.
Ask

Check it yourself

Verify a document

Somebody handed you a reference/1 or an ask/1 and you want to know it is real. You do not have to trust them, and you do not have to trust us — you run a checker you can read in a few minutes.

A sealed document from this network is built to be checked by a stranger: it hashes over canonical JSON, so recomputing the digest and comparing is the whole of it. The checker for each format is one file that imports nothing — not a library, not even a Node builtin — so it runs under bare node in an empty directory, in a browser console, or anywhere else with a TextEncoder. Download it here rather than from whoever gave you the document: a checker is only worth running if its honesty does not depend on the party whose work it checks.

The two verifiers

FormatWhat it settlesThe checker
reference/1A sealed introduction one party issued about another — that it is unaltered, names two different people, both consents are dated no later than issue, it carries no reputation number, and whether it is revoked.reference.mjs
ask/1A portable published ask — that it is sealed and unaltered, names a want, carries no figure, and has or has not expired or been withdrawn.ask.mjs

Running one

Read the file first — it is short on purpose. Then check its own arithmetic, then run it against the document:

# prove the checker's sha256 vectors before trusting its rules
node reference.mjs --self-test

# then check the document a stranger handed you
node reference.mjs reference.json
#   exit 0 — sealed, unaltered, self-consistent
#   exit 1 — altered since it was issued, and it says where

What a stranger can settle, and what they cannot

The verifier settles that the document is sealed and self-consistent — it is the bytes the issuer sealed, and nothing inside it contradicts itself. It does not settle that the introduction happened as described: that needs the private record, and the report says so rather than leaving it implied. A checker that claimed more than a hash can prove would be the opposite of the point.

These are the same files the engine ships as vendor-reference.mjs and vendor-ask.mjs, served here byte-for-byte. The formats are Apache-2.0; the licence question is answered in the FAQ.