{
  "entry": {
    "seq": 31282,
    "at": "2026-11-10T18:20:47.912Z",
    "type": "safety.rating",
    "subject": "skill:firecrawl-dev-alexandria-categories-people-03498464f6",
    "payload": {
      "as_of": "2026-11-10T17:28:24.220Z",
      "band": "Good public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "4397cc4c3795eb30e38c6b2874a67fc17084e6ca2b0b29cec0a35e672bb8a03f",
      "id": "firecrawl-dev-alexandria-categories-people-03498464f6",
      "kind": "skill",
      "rating_sha256": "7c01695f27a1985de08876c431acf1f51ca4ee871038976f595b1a119cb8a426",
      "score": 71,
      "stream": "safety_ratings"
    },
    "payload_hash": "ade0b0bcb902f7343d35fc66dd77e00ef7ab38254c0b74bb7be8c3a7182271a4",
    "leaf_hash": "a5b6f68eb658c0c42e3a2994ed625cfd45963f58cb23fbc1a07f1308241a1dd5",
    "block_height": 5761,
    "texts": {},
    "data": {
      "as_of": "2026-11-10T17:28:24.220Z",
      "band": "Good public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "4397cc4c3795eb30e38c6b2874a67fc17084e6ca2b0b29cec0a35e672bb8a03f",
      "id": "firecrawl-dev-alexandria-categories-people-03498464f6",
      "kind": "skill",
      "rating_sha256": "7c01695f27a1985de08876c431acf1f51ca4ee871038976f595b1a119cb8a426",
      "score": 71,
      "stream": "safety_ratings"
    }
  },
  "status": "sealed",
  "block": {
    "v": 1,
    "height": 5761,
    "prev_hash": "41d93f1d4815a374ec9df5afbb18c54fff9b1dca2d52229b75b0e18abf2961a1",
    "merkle_root": "8496913c48385e5bfb9976fa4106e25cb6e58360b9db2a0e353175a3c2a8acd0",
    "first_seq": 31282,
    "last_seq": 31286,
    "entry_count": 5,
    "at": "2026-11-10T18:20:48.065Z",
    "key_id": "key_41eb7b6d1b11968a",
    "block_hash": "38b321452b369a3b6d26ec1e6caee89eacd0cab7939d6e4aa7f605c53de439cf",
    "signature": "m9Rp3JPuRHiaGRM6B6Wrh547BvT9DwS/s0VDw2mQT1obFHBh2XkPaQnEPP/o68Afea56FjxBZ/IpoPEGpRcABg==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAEYWJAvPDwdwiByA4ucuPBAV0jLWwXGgtbZqbyrLNMiM=\n-----END PUBLIC KEY-----\n"
  },
  "proof": {
    "leaf_hash": "a5b6f68eb658c0c42e3a2994ed625cfd45963f58cb23fbc1a07f1308241a1dd5",
    "index": 0,
    "path": [
      {
        "side": "R",
        "hash": "e75e5288e1f0c9c08df175415cc2e763c1d3568d6d91663b2ae6c65b1ef185b8"
      },
      {
        "side": "R",
        "hash": "695d84c6bdeb455f722dc0b6a9134b06fe97d68206b44ffbd828159c36fd65ec"
      },
      {
        "side": "R",
        "hash": "250b8ce34b352c906950c30819fd7310b8f449362b5ea7f6a6319e4b25626bde"
      }
    ],
    "merkle_root": "8496913c48385e5bfb9976fa4106e25cb6e58360b9db2a0e353175a3c2a8acd0",
    "how_to_verify": "payload_hash = sha256(canonical(payload)); leaf = sha256('leaf:' + canonical({seq, at, type, subject, payload_hash})); fold the path (R: sha256('node:' + acc + hash), L: sha256('node:' + hash + acc)) to merkle_root; verify the Ed25519 signature over canonical(block header)."
  },
  "finality": {
    "state": "bitcoin-anchored",
    "final": false,
    "witnesses": 0,
    "witnesses_confirmed_unaffiliated": 0,
    "witnesses_total": 0,
    "required": 2,
    "finalized_through": null,
    "bitcoin": {
      "anchored": true,
      "block_height": 975333,
      "confirmed_through": 6047
    },
    "states": [
      "recorded",
      "sealed",
      "bitcoin-anchored",
      "witness-quorum",
      "final"
    ],
    "rule": "States climb recorded -> sealed -> bitcoin-anchored -> witness-quorum -> final. A block is final only once its hash is confirmed in Bitcoin AND 2 confirmed-unaffiliated witnesses on distinct registrable domains with distinct keys have cosigned it or any later block; each header commits to every earlier block. Cosignatures from affiliated, unconfirmed, pending or challenged witnesses are public evidence but never count toward quorum. The quorum steps up on a published schedule as confirmed-unaffiliated witnesses grow: 2 required while fewer than 5 are confirmed, 3 at 5, 4 at 10, 6 at 20, 8 at 40. Every tier's requirement sits well below the count that triggers it, so churn is weather, not a freeze; the requirement is recomputed from the live count on every read."
  }
}