{
  "operator": "CrawlCheck",
  "directory": "https://crawlcheck.io/.well-known/http-message-signatures-directory",
  "rotation_record": "https://crawlcheck.io/.well-known/security-key-rotation.json",
  "generated_at": "2026-10-07T17:47:10.111Z",
  "entries": 3,
  "head": "8b9e4f47245c3324f88704d7880d7e203acec175a7873421f8680f643c9ac5d6",
  "chain": {
    "ok": true,
    "entries": 3,
    "from_genesis": true,
    "why": "checked from the genesis entry"
  },
  "covers_directory": {
    "ok": true,
    "directory_keys": 1,
    "missing": [],
    "why": "every key the directory publishes must appear here. chain.ok says the log was not altered; this says it is not incomplete."
  },
  "how_to_check": "Each entry hashes {at, event, prev, reason, seq, storage, thumbprint} as canonical JSON with sorted keys; its prev is the hash of the entry before it, and the first entry points at 64 zeroes. Recompute the chain and it must reach head. A key that signed something last month appears here even if it no longer appears in the directory.",
  "log": [
    {
      "seq": 0,
      "at": "2026-09-12T04:42:56.843Z",
      "event": "active",
      "thumbprint": "hcIAczGf-8EFBnkunmZlvFWnD2nHHeHeC9cM4BTiBVo",
      "storage": "worker-secret",
      "reason": null,
      "prev": "0000000000000000000000000000000000000000000000000000000000000000",
      "hash": "e092e9199a0eee4994ef534d932cb57d331bc32c892c0675dd0afc45b6f069cb"
    },
    {
      "seq": 1,
      "at": "2026-09-16T12:26:27.773Z",
      "event": "publishing",
      "thumbprint": "0zNVreNVKdaTFJjtRJtvcFiesmG2qgWvvIBL_zbgwko",
      "storage": "kv",
      "reason": "published during overlap rotation; created 2026-08-21T03:07:11.000Z",
      "prev": "e092e9199a0eee4994ef534d932cb57d331bc32c892c0675dd0afc45b6f069cb",
      "hash": "08d7e8ec87b75230ca3964b8a845efecca17d08cef4419e989bc2d287b40d0f1"
    },
    {
      "seq": 2,
      "at": "2026-09-18T21:17:40.318Z",
      "event": "retired",
      "thumbprint": "0zNVreNVKdaTFJjtRJtvcFiesmG2qgWvvIBL_zbgwko",
      "storage": null,
      "reason": "moved from KV storage to a Worker secret",
      "prev": "08d7e8ec87b75230ca3964b8a845efecca17d08cef4419e989bc2d287b40d0f1",
      "hash": "8b9e4f47245c3324f88704d7880d7e203acec175a7873421f8680f643c9ac5d6"
    }
  ]
}