{
  "publisher": "Loupe",
  "site": "https://loupe.legal",
  "about": "Public keys whose Ed25519 signatures seal Loupe's records of citation checks. A record is Loupe's when its seal's key_id is listed here and its signature verifies. A seal attests that Loupe made the record at the stated time and that it has not changed since, not that the sources were right. Keys no longer used stay listed, with the date they were retired.",
  "keys": [
    {
      "key_id": "sha256:7cb1bf3d85d693af849c4adb40b8a1f13031795fbbd4b138fd0a6382b8130f25",
      "algorithm": "ed25519",
      "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA+BXMiGvWHAaqj+k+P6zIX0q2P7/KYLZb9WtAQ/q2OfQ=\n-----END PUBLIC KEY-----\n",
      "created": "2026-09-21",
      "retired": null
    }
  ],
  "formats": {
    "loupe.evidence.v4": "digest.value is the SHA-256 of the record without its digest and seal, in RFC 8785 canonical JSON; digest.evidence_value is the same without run as well. The seal (loupe.seal.v3) is an Ed25519 signature over the seal without its signature, in RFC 8785 canonical JSON; its key_id is sha256: and the SHA-256 of the public key's DER.",
    "loupe.evidence.v3": "As v4, but canonical as Python's json.dumps(sort_keys=True, ensure_ascii=False, separators=(',', ':')), which writes 1.0 and 1 differently; its seal is loupe.seal.v2, likewise."
  },
  "verify": "https://loupe.legal/verify"
}