{
  "entry": {
    "seq": 31133,
    "at": "2026-11-10T17:18:18.263Z",
    "type": "safety.rating",
    "subject": "skill:blog-cloudflare-com-zero-wire-02c72e1ca9",
    "payload": {
      "as_of": "2026-11-10T16:20:26.549Z",
      "band": "Good public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "ff25536d399098b8a2c1c69a94628dc9b1b050a77df4456800943a2be9a40dbd",
      "id": "blog-cloudflare-com-zero-wire-02c72e1ca9",
      "kind": "skill",
      "rating_sha256": "1e8921688ecf4bfafc17ac30da15eaf63d659932bf7d67fdb62b38b5444b8c68",
      "score": 71,
      "stream": "safety_ratings"
    },
    "payload_hash": "2c9dd11b814ae29d8690b1396da37c69ed3f8d24d5b088bf22236a1a7a26bbe9",
    "leaf_hash": "1b3103da2bcd8af1b7c737c9b24dc23ee2491af890819d7533d816937b32d3ca",
    "block_height": 5746,
    "texts": {},
    "data": {
      "as_of": "2026-11-10T16:20:26.549Z",
      "band": "Good public signals",
      "check_version": "rs-safety-checks-2.0",
      "evidence_sha256": "ff25536d399098b8a2c1c69a94628dc9b1b050a77df4456800943a2be9a40dbd",
      "id": "blog-cloudflare-com-zero-wire-02c72e1ca9",
      "kind": "skill",
      "rating_sha256": "1e8921688ecf4bfafc17ac30da15eaf63d659932bf7d67fdb62b38b5444b8c68",
      "score": 71,
      "stream": "safety_ratings"
    }
  },
  "status": "sealed",
  "block": {
    "v": 1,
    "height": 5746,
    "prev_hash": "f1416ee504c510f5ae360d3223c9aef7d9a2b9a6685cecace369e4562b2f5b84",
    "merkle_root": "b11ec641f83b537735e7e90f6ba2d59b37a6703048fb54137ff22d7e1e610ddc",
    "first_seq": 31133,
    "last_seq": 31137,
    "entry_count": 5,
    "at": "2026-11-10T17:18:18.335Z",
    "key_id": "key_41eb7b6d1b11968a",
    "block_hash": "f67b4e9f9d9a7280f416c2402eaffe27827b7fa642a681b324591626dc4494bb",
    "signature": "KcdD31snwLVGNzoKG5E6UL0EZQtTK7jrjCGrzUw4pCNFcmGf7lNY5yYZGAMYTnigwjhMC+4QPbMQLKrOUEPkCQ==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAEYWJAvPDwdwiByA4ucuPBAV0jLWwXGgtbZqbyrLNMiM=\n-----END PUBLIC KEY-----\n"
  },
  "proof": {
    "leaf_hash": "1b3103da2bcd8af1b7c737c9b24dc23ee2491af890819d7533d816937b32d3ca",
    "index": 0,
    "path": [
      {
        "side": "R",
        "hash": "90d3adbfa163f66098650c83fa3fc4fa9d6089e7555c737fe214b004bbe0f9e4"
      },
      {
        "side": "R",
        "hash": "a628f08335185a1d29dd2cce746235fd0d81f96aee05002433b43ec08d5610d8"
      },
      {
        "side": "R",
        "hash": "e05b5936c0e8e9707ff0fba8b30e09e1813cb0855b5dd5358836bbc45743b171"
      }
    ],
    "merkle_root": "b11ec641f83b537735e7e90f6ba2d59b37a6703048fb54137ff22d7e1e610ddc",
    "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": 975331,
      "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."
  }
}