{
  "name": "The Dad Ledger",
  "description": "A tamper-evident, cryptographically signed, append-only record of whether Zack is a dad. Like a blockchain, but useful.",
  "algorithm": "Ed25519",
  "hashAlgorithm": "SHA-256",
  "publicKey": "y0Lu3dFwgTMpw5MDpy_dPl8zPCP8fa178kdQnzunp7w",
  "publicKeyEncoding": "base64url (unpadded) of the raw 32-byte Ed25519 public key",
  "publicKeyJwk": {
    "kty": "OKP",
    "crv": "Ed25519",
    "x": "y0Lu3dFwgTMpw5MDpy_dPl8zPCP8fa178kdQnzunp7w"
  },
  "canonicalisation": {
    "format": "<seq>|<at>|<status>|<note>|<prevHash>",
    "description": "Each entry is serialised as its seq (decimal integer), at (ISO-8601 UTC timestamp), status (no | soon | yes), note (free text, NFC-normalised, may contain \"|\") and prevHash (64 lowercase hex characters), joined with \"|\" and encoded as UTF-8. It is unambiguous because only the note can contain \"|\" and prevHash is always the final 64 characters.",
    "hash": "hash = lowercase hex SHA-256 of the UTF-8 bytes of the canonical string.",
    "signature": "signature = Ed25519 signature over the UTF-8 bytes of the 64-character hash hex string (not the raw digest), encoded as unpadded base64url.",
    "chain": "prevHash is the hash of the previous entry. seq starts at 0 and has no gaps.",
    "genesisPrevHash": "0000000000000000000000000000000000000000000000000000000000000000"
  },
  "verification": {
    "valid": true,
    "entries": 1,
    "note": "Checked by the server just now. Do not take its word for it: see /ledger for a verifier you can run yourself."
  },
  "count": 1,
  "head": {
    "seq": 0,
    "hash": "e10825bfadc3a651bd4daba9983498ca7a87278f65ac14c2e133edaa54e7ccde",
    "status": "no",
    "at": "2026-11-07T09:05:11.975Z"
  },
  "entries": [
    {
      "seq": 0,
      "at": "2026-11-07T09:05:11.975Z",
      "status": "no",
      "note": "Genesis. Zack is not a dad.",
      "prevHash": "0000000000000000000000000000000000000000000000000000000000000000",
      "hash": "e10825bfadc3a651bd4daba9983498ca7a87278f65ac14c2e133edaa54e7ccde",
      "signature": "O8KVpii6nNBAw4KjoK_AAs5EOVVnJw2oZ_-onK174dPhPT8x8HdOprv9x_SXz-X2CeCyaC7AUYeCopmwYyvZDw"
    }
  ],
  "links": {
    "human": "https://iszacka.dad/ledger",
    "wellKnown": "https://iszacka.dad/.well-known/dad-ledger.json",
    "verifier": "https://iszacka.dad/ledger/verify.mjs"
  }
}