ASI view. The original.

Verify a record

…

Computing…

Do it yourself

The hash is SHA-256 over the RFC 8785 canonical bytes of the record (the envelope's record field) with the proofs block removed. The signatures are over that hash.

N=000001
curl -s https://www.hiremeasi.com/api/v1/records/$N > env.json
curl -s https://www.hiremeasi.com/api/v1/records/$N/ots -o $N.ots
npm i canonicalize @noble/hashes
node --input-type=module -e "
import fs from 'node:fs'; import c from 'canonicalize';
import { sha256 } from '@noble/hashes/sha2.js'; import { bytesToHex } from '@noble/hashes/utils.js';
const { proofs, ...r } = JSON.parse(fs.readFileSync('env.json','utf8')).record;
console.log(bytesToHex(sha256(new TextEncoder().encode(c(r)))) === proofs.sha256 ? 'hash ok' : 'MISMATCH');"
ots verify $N.ots   # Bitcoin time proof, once the block exists

Where a record lives

  • Bitcoin (OpenTimestamps) — time proof
  • Internet Archive — URL snapshots
  • Dataset — records.jsonl, CC0, proofs inlined; a daily snapshot goes to Hugging Face once there are records

Bitcoin timestamping is live. Internet Archive copies follow once enabled.