{
  "schema": "bsn-corrections/2",
  "kind": 1111,
  "spec": "NIP-22 Comment on external web content",
  "topic": "correction",
  "required_tags": [
    "r",
    "src",
    "v"
  ],
  "optional_tags": [
    "claim"
  ],
  "tags": {
    "r": "canonical URL of the basicsecurity.net record being corrected",
    "I": "NIP-22 root: same record URL",
    "K": "NIP-22 root kind: \"web\"",
    "src": "REQUIRED cited source URL (cite-or-die: no src => coverage finding, not a proposal)",
    "v": "REQUIRED content hash of the exact record VERSION being contested (I3). Read it from the page's <meta name=\"bsn:record-version\"> or from /versions.json; the compose UI auto-fills it.",
    "claim": "optional: the specific claim being corrected (short quote/ref)",
    "t": "correction",
    "client": "basicsecurity.net"
  },
  "content": "human-readable correction text",
  "npub": "npub1j7gt9ky7sfcrjn8jjee6693dkzvk4rahs0fk2suu7968dfns62zs3mqm3y",
  "pubkey_hex": "9790b2d89e8270394cf29673ad162db0996a8fb783d365439cf17476a670d285",
  "relays": [
    "wss://relay.damus.io",
    "wss://nos.lol",
    "wss://relay.primal.net",
    "wss://relay.nostr.band"
  ],
  "versions": "https://basicsecurity.net/versions.json",
  "transparency_log": {
    "head": "https://basicsecurity.net/corrections/log/head.json",
    "ledger": "https://basicsecurity.net/corrections/ledger.jsonl",
    "algorithm": "RFC6962-SHA256",
    "signer_npub": "npub135swjy888eshsnf6suwye76xg2zgh9xwxq6dt8vl0s4he8ej6vgsyufrtw",
    "broadcast": "each new head is a signed kind:1 Nostr event (tag t=bsn-transparency-log) from signer_npub, published to the relays; recompute the root from the ledger to verify"
  },
  "cite_or_die": "A correction without an `src` cited-source URL is a coverage finding (disposition `insufficient`), never asserted or turned into a proposal.",
  "review": "Nothing auto-applies. Every submission is logged at receipt; valid, cited, trusted corrections become Forgejo PRs through the two-person editorial gate.",
  "how": "Publish a signed kind:1111 event tagging the record URL (r + I/K web), the record version (v, from /versions.json or the page meta), a cited src URL, and t=correction.",
  "docs": "https://basicsecurity.net/llms.txt"
}
