{
  "comment": "SHA-256 checksums for provider data sources. Updated by update-assets.sh",
  "providers": {
    "googlebot": {
      "url": "https://developers.google.com/static/crawling/ipranges/common-crawlers.json",
      "sha256": "a8c6d437da128d74bc49255df57abde6e833b47649ccf3313d14439b22af025a",
      "comment": "Bundled asset - checksum verified on load"
    },
    "google-special-crawlers": {
      "url": "https://developers.google.com/static/crawling/ipranges/special-crawlers.json",
      "sha256": "8a69e0c0816f2caecfcbde207e31a9b6499d41e4a8402b9ac6aa65026feb6946",
      "comment": "Bundled asset - checksum verified on load"
    },
    "google-user-fetchers": {
      "url": "https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers-google.json",
      "sha256": "b38cc245b1261b0bb55a2c4d5b411680823ec484e6e1b598ba4db96c322a4a04",
      "comment": "Bundled asset - checksum verified on load"
    },
    "bingbot": {
      "url": "https://www.bing.com/toolbox/bingbot.json",
      "sha256": "a2d1cf229544205a24c61fb7c459408b1afe18f9fd5b172fe181f0eb73c1594d",
      "comment": "Bundled asset - checksum verified on load"
    },
    "applebot": {
      "url": "https://search.developer.apple.com/applebot.json",
      "sha256": "5a5e12188891d998341f4fb50d2b31c80aba5002f5cff9d0fa110c13e4e2edd0",
      "comment": "Bundled asset - checksum verified on load"
    },
    "gptbot": {
      "url": "https://openai.com/gptbot.json",
      "sha256": "be778b84e1b5436be6ab9d6139ba2b3d6a98c1f581e038ec386e3a7d44cbfe50",
      "comment": "Bundled asset - checksum verified on load"
    },
    "oai-searchbot": {
      "url": "https://openai.com/searchbot.json",
      "sha256": "81806b1665e9bbbc5e0f307b847ad34f7027abc19e0d2d5d3eca1864bf361be6",
      "comment": "Bundled asset - checksum verified on load"
    },
    "chatgpt-user": {
      "url": "https://openai.com/chatgpt-user.json",
      "sha256": "53a78eaccafc0ae701e6f65a7582bb2c1ba4d6e8fde98287485fb772f2319da7",
      "comment": "Bundled asset - checksum verified on load"
    },
    "bunnynet-ipv4": {
      "url": "https://bunnycdn.com/api/system/edgeserverlist",
      "sha256": "3c428f160da2e8511cb314c8cd6ab4399653ff51aec7ac4a4e679f9af1abf012",
      "comment": "Bundled asset - checksum verified on load"
    },
    "bunnynet-ipv6": {
      "url": "https://bunnycdn.com/api/system/edgeserverlist/IPv6",
      "sha256": "f3b61fdd8f3833fc839776d704a5e049ecd6f885e318348d8408ec76877a5111",
      "comment": "Bundled asset - checksum verified on load"
    },
    "facebookbot-ipv4": {
      "url": "whois.radb.net -i origin AS32934 (IPv4 routes)",
      "sha256": "00d29b987ab098ca646a85c4e9b2382e3ed5e941ae2efc757663d54c4033f785",
      "comment": "Bundled asset - checksum verified on load"
    },
    "facebookbot-ipv6": {
      "url": "whois.radb.net -i origin AS32934 (IPv6 routes)",
      "sha256": "f94aa0bfb31e5207e26207d23e10a911cc0737ad444b97aed936e2dc0762d001",
      "comment": "Bundled asset - checksum verified on load"
    },
    "stripe-api": {
      "url": "https://stripe.com/files/ips/ips_api.json",
      "sha256": null,
      "comment": "Runtime verification - structure validation used instead (data changes frequently)"
    },
    "stripe-webhooks": {
      "url": "https://stripe.com/files/ips/ips_webhooks.json",
      "sha256": null,
      "comment": "Runtime verification - structure validation used instead (data changes frequently)"
    }
  },
  "lastUpdated": "2026-09-20T16:42:28Z"
}
