{
  "answer": "Since 2026-10-19: 66 records added, 34 changed, 0 removed, and 21 top-level fields changed across 3 dataset(s).",
  "since": "2026-10-19",
  "rule": "A record is listed when its added, changed, or removed date is strictly after since. Dates are each dataset's own updated date, so they have day precision.",
  "datasets": [
    {
      "id": "ai-crawler-directory-data",
      "url": "https://bozos.si/ai-crawlers.json",
      "updated": "2026-10-20",
      "versions_after_since": [
        "2026-10-20"
      ],
      "added": [
        {
          "collection": "crawlers",
          "id": "ai2bot",
          "permalink": "https://bozos.si/ai-crawlers.json#ai2bot",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "ai2bot",
            "permalink": "https://bozos.si/ai-crawlers.json#ai2bot",
            "cite": "AI2Bot (Allen Institute for AI (Ai2)): Explores certain domains to find web content that Ai2 says is used to train open language models. robots.txt: not-stated. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#ai2bot",
            "review_due": "2027-01-18",
            "token": "AI2Bot",
            "operator": "Allen Institute for AI (Ai2)",
            "category": "training",
            "purpose": "Explores certain domains to find web content that Ai2 says is used to train open language models.",
            "robots_txt": "not-stated",
            "robots_note": "The crawler page does not mention robots.txt. It says the user-agent string can be used to filter or reject the crawler's traffic.",
            "used_for_ai_training": true,
            "documentation": "https://allenai.org/crawler",
            "ip_ranges": null,
            "user_agent_example": "Mozilla/5.0 (compatible) AI2Bot (+https://www.allenai.org/crawler)",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "The AI2 Bot explores certain domains to find web content.",
                "source": "https://allenai.org/crawler"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "This web content is used to train open language models.",
                "source": "https://allenai.org/crawler"
              },
              {
                "supports": "robots_txt",
                "quote": "This user agent string can be used to filter or reject traffic from our crawler if desired.",
                "source": "https://allenai.org/crawler"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "diffbot",
          "permalink": "https://bozos.si/ai-crawlers.json#diffbot",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "diffbot",
            "permalink": "https://bozos.si/ai-crawlers.json#diffbot",
            "cite": "Diffbot (Diffbot): General, proactive web crawling for Diffbot's Knowledge Graph and web search, so sites can be discovered and cited there. Diffbot says this user agent is not used for AI training. robots.txt: obeys. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#diffbot",
            "review_due": "2027-01-18",
            "token": "Diffbot",
            "operator": "Diffbot",
            "category": "search",
            "purpose": "General, proactive web crawling for Diffbot's Knowledge Graph and web search, so sites can be discovered and cited there. Diffbot says this user agent is not used for AI training.",
            "robots_txt": "obeys",
            "robots_note": "Honors disallow and crawl-delay by default. Diffbot says robots.txt can be overridden in specific cases, usually under a partnership or agreement with the site.",
            "used_for_ai_training": false,
            "documentation": "https://www.diffbot.com/docs/crawl/faq/robots-txt",
            "ip_ranges": null,
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "General, proactive web crawling for building a general search engine.",
                "source": "https://www.diffbot.com/docs/crawl/faq/robots-txt"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "It is not used for AI training.",
                "source": "https://www.diffbot.com/docs/crawl/faq/robots-txt"
              },
              {
                "supports": "robots_txt",
                "quote": "By default Diffbot's web crawls adhere to a site's robots.txt instructions, including the disallow and crawl-delay directives.",
                "source": "https://www.diffbot.com/docs/crawl/faq/robots-txt"
              },
              {
                "supports": "robots_txt",
                "quote": "the robots.txt instruction can be ignored/overridden.",
                "source": "https://www.diffbot.com/docs/crawl/faq/robots-txt"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "diffbot-user",
          "permalink": "https://bozos.si/ai-crawlers.json#diffbot-user",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "diffbot-user",
            "permalink": "https://bozos.si/ai-crawlers.json#diffbot-user",
            "cite": "Diffbot-User (Diffbot): Requests made on behalf of a person browsing a URL with Diffbot software. robots.txt: not-stated. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#diffbot-user",
            "review_due": "2027-01-18",
            "token": "Diffbot-User",
            "operator": "Diffbot",
            "category": "user-fetch",
            "purpose": "Requests made on behalf of a person browsing a URL with Diffbot software.",
            "robots_txt": "not-stated",
            "robots_note": "Diffbot's robots.txt statement covers its crawls; the page does not say how robots.txt applies to user-initiated Diffbot-User requests.",
            "used_for_ai_training": null,
            "documentation": "https://www.diffbot.com/docs/crawl/faq/robots-txt",
            "ip_ranges": null,
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "This is used by requests originating on behalf of a human user browsing a URL using Diffbot software, in response to their input.",
                "source": "https://www.diffbot.com/docs/crawl/faq/robots-txt"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "youbot",
          "permalink": "https://bozos.si/ai-crawlers.json#youbot",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "youbot",
            "permalink": "https://bozos.si/ai-crawlers.json#youbot",
            "cite": "YouBot (You.com): The web crawler that powers the You.com search engine. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#youbot",
            "review_due": "2027-01-18",
            "token": "YouBot",
            "operator": "You.com",
            "category": "search",
            "purpose": "The web crawler that powers the You.com search engine.",
            "robots_txt": "obeys",
            "robots_note": "You.com says YouBot respects robots.txt, including user-agent-specific rules and crawl-delay, and caches robots.txt for 30 minutes.",
            "used_for_ai_training": null,
            "documentation": "https://you.com/docs/youbot",
            "ip_ranges": null,
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; YouBot/1.0; +https://docs.you.com/youbot; env:prod) Chrome/X.X.X.X Safari/537.36",
            "notes": "Verification: You.com recommends checking Web Bot Auth request signatures (keys at https://you.com/.well-known/http-message-signatures-directory); it also documents reverse DNS (youbot-<octets>.search.you.com) and the 68.67.112.0/24 range. No IP list file is published.",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "YouBot is the web crawler that powers the You.com search engine.",
                "source": "https://you.com/docs/youbot"
              },
              {
                "supports": "robots_txt",
                "quote": "YouBot fully respects robots.txt directives, including user-agent specific rules and crawl-delay settings.",
                "source": "https://you.com/docs/youbot"
              },
              {
                "supports": "robots_txt",
                "quote": "YouBot caches robots.txt for 30 minutes.",
                "source": "https://you.com/docs/youbot"
              },
              {
                "supports": "ip_ranges",
                "quote": "You.com supports three ways to verify that requests are genuinely from YouBot: cryptographic signatures (recommended), reverse DNS checks, and IP range validation.",
                "source": "https://you.com/docs/youbot"
              }
            ]
          }
        },
        {
          "collection": "undocumented_tokens",
          "id": "bytespider",
          "permalink": "https://bozos.si/ai-crawlers.json#bytespider",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "bytespider",
            "permalink": "https://bozos.si/ai-crawlers.json#bytespider",
            "cite": "Bytespider: BOZOS found no ByteDance-published page documenting Bytespider's purpose, robots.txt behavior, or IP ranges. Third-party claims about it disagree, so they are not recorded here as fact. Source: BOZOS, AI Crawler Directory, searched 2026-10-20. https://bozos.si/ai-crawlers.json#bytespider",
            "review_due": "2027-01-18",
            "token": "Bytespider",
            "attributed_operator": "ByteDance (as attributed by third-party bot directories)",
            "searched": "2026-10-20",
            "finding": "BOZOS found no ByteDance-published page documenting Bytespider's purpose, robots.txt behavior, or IP ranges. Third-party claims about it disagree, so they are not recorded here as fact.",
            "robots_txt_advice": "You can still name it in robots.txt (User-agent: Bytespider). Compliance cannot be confirmed from operator documentation, so enforce a block at your CDN or firewall if it matters."
          }
        },
        {
          "collection": "undocumented_tokens",
          "id": "cohere-ai",
          "permalink": "https://bozos.si/ai-crawlers.json#cohere-ai",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "cohere-ai",
            "permalink": "https://bozos.si/ai-crawlers.json#cohere-ai",
            "cite": "cohere-ai: BOZOS found no Cohere-published crawler documentation for cohere-ai (Cohere's own pages use the name for its SDK packages). Third-party descriptions of its purpose conflict. Source: BOZOS, AI Crawler Directory, searched 2026-10-20. https://bozos.si/ai-crawlers.json#cohere-ai",
            "review_due": "2027-01-18",
            "token": "cohere-ai",
            "attributed_operator": "Cohere (as attributed by third-party bot directories)",
            "searched": "2026-10-20",
            "finding": "BOZOS found no Cohere-published crawler documentation for cohere-ai (Cohere's own pages use the name for its SDK packages). Third-party descriptions of its purpose conflict.",
            "robots_txt_advice": "You can name it in robots.txt (User-agent: cohere-ai). Third parties also list a separate cohere-training-data-crawler token; neither is documented by Cohere."
          }
        }
      ],
      "changed": [
        {
          "collection": "crawlers",
          "id": "amazonbot",
          "permalink": "https://bozos.si/ai-crawlers.json#amazonbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "amazonbot",
            "permalink": "https://bozos.si/ai-crawlers.json#amazonbot",
            "cite": "Amazonbot (Amazon): Improves Amazon products and services. Amazon says content may be used to train Amazon AI models. robots.txt: obeys. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#amazonbot",
            "review_due": "2027-01-18",
            "token": "Amazonbot",
            "operator": "Amazon",
            "category": "training",
            "purpose": "Improves Amazon products and services. Amazon says content may be used to train Amazon AI models.",
            "robots_txt": "obeys",
            "robots_note": "Does not support Crawl-delay. May use a cached robots.txt up to 30 days old.",
            "used_for_ai_training": true,
            "documentation": "https://developer.amazon.com/amazonbot",
            "ip_ranges": "https://developer.amazon.com/amazonbot/ip-addresses/",
            "user_agent_example": "... Amazonbot/0.1 ...",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "Amazonbot is used to improve our products and services.",
                "source": "https://developer.amazon.com/amazonbot"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "may be used to train Amazon AI models.",
                "source": "https://developer.amazon.com/amazonbot"
              },
              {
                "supports": "robots_txt",
                "quote": "Automated crawling from these listed user agents respects the Robots Exclusion Protocol",
                "source": "https://developer.amazon.com/amazonbot"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "amzn-searchbot",
          "permalink": "https://bozos.si/ai-crawlers.json#amzn-searchbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "amzn-searchbot",
            "permalink": "https://bozos.si/ai-crawlers.json#amzn-searchbot",
            "cite": "Amzn-SearchBot (Amazon): Improves search in Amazon products such as Alexa. Not used for generative AI training. robots.txt: obeys. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#amzn-searchbot",
            "review_due": "2027-01-18",
            "token": "Amzn-SearchBot",
            "operator": "Amazon",
            "category": "search",
            "purpose": "Improves search in Amazon products such as Alexa. Not used for generative AI training.",
            "robots_txt": "obeys",
            "robots_note": "If not named, follows the rules given to other search bots.",
            "used_for_ai_training": false,
            "documentation": "https://developer.amazon.com/amazonbot",
            "ip_ranges": "https://developer.amazon.com/amazonbot/searchbot-ip-addresses/",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "Amzn-SearchBot is used to improve search experiences in Amazon products and services.",
                "source": "https://developer.amazon.com/amazonbot"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "Amzn-SearchBot does not crawl content for generative AI model training.",
                "source": "https://developer.amazon.com/amazonbot"
              },
              {
                "supports": "robots_txt",
                "quote": "Automated crawling from these listed user agents respects the Robots Exclusion Protocol",
                "source": "https://developer.amazon.com/amazonbot"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "amzn-user",
          "permalink": "https://bozos.si/ai-crawlers.json#amzn-user",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "amzn-user",
            "permalink": "https://bozos.si/ai-crawlers.json#amzn-user",
            "cite": "Amzn-User (Amazon): Handles user-initiated requests, for example fetching live data for Alexa. Not used for generative AI training. robots.txt: may-ignore. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#amzn-user",
            "review_due": "2027-01-18",
            "token": "Amzn-User",
            "operator": "Amazon",
            "category": "user-fetch",
            "purpose": "Handles user-initiated requests, for example fetching live data for Alexa. Not used for generative AI training.",
            "robots_txt": "may-ignore",
            "robots_note": "Amazon states it may not always follow robots.txt because it acts on a user's behalf.",
            "used_for_ai_training": false,
            "documentation": "https://developer.amazon.com/amazonbot",
            "ip_ranges": "https://developer.amazon.com/amazonbot/live-ip-addresses/",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "Amzn-User supports user actions, such as responding to Alexa queries that require up-to-date information.",
                "source": "https://developer.amazon.com/amazonbot"
              },
              {
                "supports": "robots_txt",
                "quote": "Because actions taken by Amzn-User can be initiated by a user, it may not follow all robots.txt directives.",
                "source": "https://developer.amazon.com/amazonbot"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "Amzn-User does not crawl content for generative AI model training.",
                "source": "https://developer.amazon.com/amazonbot"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "applebot",
          "permalink": "https://bozos.si/ai-crawlers.json#applebot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "applebot",
            "permalink": "https://bozos.si/ai-crawlers.json#applebot",
            "cite": "Applebot (Apple): Powers search in Spotlight, Siri, and Safari. Apple says crawled data may also be used to train its foundation models. robots.txt: obeys. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#applebot",
            "review_due": "2027-01-18",
            "token": "Applebot",
            "operator": "Apple",
            "category": "search",
            "purpose": "Powers search in Spotlight, Siri, and Safari. Apple says crawled data may also be used to train its foundation models.",
            "robots_txt": "obeys",
            "robots_note": "Apple says Applebot respects standard robots.txt directives in general search crawls targeted at Applebot, and falls back to Googlebot rules when no Applebot rules exist. Does not follow Crawl-delay.",
            "used_for_ai_training": true,
            "documentation": "https://support.apple.com/en-us/119829",
            "ip_ranges": "https://search.developer.apple.com/applebot.json",
            "user_agent_example": "... Applebot/0.1; +http://www.apple.com/go/applebot",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "The data crawled by Applebot is used to power various features, such as the search technology integrated into many user experiences in Apple's ecosystem including Spotlight, Siri, and Safari.",
                "source": "https://support.apple.com/en-us/119829"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "The data crawled by Applebot may also be used to help train Apple foundation models powering generative AI features across Apple products",
                "source": "https://support.apple.com/en-us/119829"
              },
              {
                "supports": "robots_txt",
                "quote": "Applebot respects standard robots.txt directives in general search crawls that are targeted at Applebot.",
                "source": "https://support.apple.com/en-us/119829"
              },
              {
                "supports": "robots_txt",
                "quote": "If robots instructions don't mention Applebot but mention Googlebot, the Apple robot will follow Googlebot instructions.",
                "source": "https://support.apple.com/en-us/119829"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "applebot-extended",
          "permalink": "https://bozos.si/ai-crawlers.json#applebot-extended",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "applebot-extended",
            "permalink": "https://bozos.si/ai-crawlers.json#applebot-extended",
            "cite": "Applebot-Extended (Apple): Not a crawler. Controls whether data Applebot already crawled may be used to train Apple's general-purpose foundation models. robots.txt: control-token. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#applebot-extended",
            "review_due": "2027-01-18",
            "token": "Applebot-Extended",
            "operator": "Apple",
            "category": "control-token",
            "purpose": "Not a crawler. Controls whether data Applebot already crawled may be used to train Apple's general-purpose foundation models.",
            "robots_txt": "control-token",
            "robots_note": "Blocking it does not remove pages from Apple search results.",
            "used_for_ai_training": true,
            "documentation": "https://support.apple.com/en-us/119829",
            "ip_ranges": null,
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "used_for_ai_training",
                "quote": "Web publishers can opt-out from having their content used to train generative foundation models by disallowing Applebot-Extended in the robots.txt file.",
                "source": "https://support.apple.com/en-us/119829"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "bingbot",
          "permalink": "https://bozos.si/ai-crawlers.json#bingbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "bingbot",
            "permalink": "https://bozos.si/ai-crawlers.json#bingbot",
            "cite": "bingbot (Microsoft): Crawler for the Bing search index. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-19, medium confidence. https://bozos.si/ai-crawlers.json#bingbot",
            "review_due": "2027-01-17",
            "token": "bingbot",
            "operator": "Microsoft",
            "category": "search",
            "purpose": "Crawler for the Bing search index.",
            "robots_txt": "obeys",
            "robots_note": "Standard robots.txt rules apply. Microsoft's help page renders client-side; the IP list was verified directly.",
            "used_for_ai_training": null,
            "documentation": "https://www.bing.com/webmasters/help/which-crawlers-does-bing-use-8c184ec0",
            "ip_ranges": "https://www.bing.com/toolbox/bingbot.json",
            "notes": "Medium confidence on details beyond the token and IP list: the documentation page could not be read as text.",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-19",
            "confidence": "medium",
            "evidence_status": "not-machine-verifiable: the documentation page renders in the browser, so its text cannot be fetched and checked automatically. Details rest on the token name and the verified IP list."
          }
        },
        {
          "collection": "crawlers",
          "id": "ccbot",
          "permalink": "https://bozos.si/ai-crawlers.json#ccbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "ccbot",
            "permalink": "https://bozos.si/ai-crawlers.json#ccbot",
            "cite": "CCBot (Common Crawl): Builds Common Crawl's open web archive, which anyone may analyze and which is widely used in AI training datasets. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#ccbot",
            "review_due": "2027-01-18",
            "token": "CCBot",
            "operator": "Common Crawl",
            "category": "open-dataset",
            "purpose": "Builds Common Crawl's open web archive, which anyone may analyze and which is widely used in AI training datasets.",
            "robots_txt": "obeys",
            "robots_note": "Common Crawl documents blocking with User-agent: CCBot / Disallow: /. Spoofed CCBot user agents exist; verify by reverse DNS.",
            "used_for_ai_training": null,
            "documentation": "https://commoncrawl.org/ccbot",
            "ip_ranges": "https://index.commoncrawl.org/ccbot.json",
            "user_agent_example": "CCBot/2.0 (https://commoncrawl.org/faq/)",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "producing and maintaining an open repository of web crawl data that is universally accessible and analyzable by anyone.",
                "source": "https://commoncrawl.org/ccbot"
              },
              {
                "supports": "robots_txt",
                "quote": "To prevent Common Crawl from crawling your website, include the following in your robots.txt",
                "source": "https://commoncrawl.org/ccbot"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "chatgpt-user",
          "permalink": "https://bozos.si/ai-crawlers.json#chatgpt-user",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "chatgpt-user",
            "permalink": "https://bozos.si/ai-crawlers.json#chatgpt-user",
            "cite": "ChatGPT-User (OpenAI): Visits a page when a ChatGPT or Custom GPT user asks a question, and for GPT Actions. Does not crawl automatically. robots.txt: may-ignore. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#chatgpt-user",
            "review_due": "2027-01-18",
            "token": "ChatGPT-User",
            "operator": "OpenAI",
            "category": "user-fetch",
            "purpose": "Visits a page when a ChatGPT or Custom GPT user asks a question, and for GPT Actions. Does not crawl automatically.",
            "robots_txt": "may-ignore",
            "robots_note": "OpenAI states robots.txt rules may not apply because the fetch is user-initiated.",
            "used_for_ai_training": null,
            "documentation": "https://developers.openai.com/api/docs/bots",
            "ip_ranges": "https://openai.com/chatgpt-user.json",
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "When users ask ChatGPT or a CustomGPT a question, it may visit a web page with a ChatGPT-User agent.",
                "source": "https://developers.openai.com/api/docs/bots"
              },
              {
                "supports": "robots_txt",
                "quote": "Because these actions are initiated by a user, robots.txt rules may not apply.",
                "source": "https://developers.openai.com/api/docs/bots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "claude-searchbot",
          "permalink": "https://bozos.si/ai-crawlers.json#claude-searchbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "claude-searchbot",
            "permalink": "https://bozos.si/ai-crawlers.json#claude-searchbot",
            "cite": "Claude-SearchBot (Anthropic): Navigates the web to improve search result quality for Claude users. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#claude-searchbot",
            "review_due": "2027-01-18",
            "token": "Claude-SearchBot",
            "operator": "Anthropic",
            "category": "search",
            "purpose": "Navigates the web to improve search result quality for Claude users.",
            "robots_txt": "obeys",
            "robots_note": "Covered by Anthropic's general statement that its bots honor robots.txt. Blocking may reduce visibility in Claude search results.",
            "used_for_ai_training": null,
            "documentation": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler",
            "ip_ranges": "https://claude.com/crawling/bots.json",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "Claude-SearchBot navigates the web to improve search result quality for users.",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              },
              {
                "supports": "robots_txt",
                "quote": "Anthropic's Bots respect \"do not crawl\" signals by honoring industry standard directives in robots.txt.",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "claude-user",
          "permalink": "https://bozos.si/ai-crawlers.json#claude-user",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "claude-user",
            "permalink": "https://bozos.si/ai-crawlers.json#claude-user",
            "cite": "Claude-User (Anthropic): Retrieves pages when Claude users ask questions. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#claude-user",
            "review_due": "2027-01-18",
            "token": "Claude-User",
            "operator": "Anthropic",
            "category": "user-fetch",
            "purpose": "Retrieves pages when Claude users ask questions.",
            "robots_txt": "obeys",
            "robots_note": "Covered by Anthropic's general statement that its bots honor robots.txt. Blocking prevents retrieval in response to user queries.",
            "used_for_ai_training": null,
            "documentation": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler",
            "ip_ranges": "https://claude.com/crawling/bots.json",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "When individuals ask questions to Claude, it may access websites using a Claude-User agent.",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              },
              {
                "supports": "robots_txt",
                "quote": "Disabling Claude-User on your site prevents our system from retrieving your content in response to a user query",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "claudebot",
          "permalink": "https://bozos.si/ai-crawlers.json#claudebot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "claudebot",
            "permalink": "https://bozos.si/ai-crawlers.json#claudebot",
            "cite": "ClaudeBot (Anthropic): Collects web content that could contribute to training Anthropic's models. robots.txt: obeys. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#claudebot",
            "review_due": "2027-01-18",
            "token": "ClaudeBot",
            "operator": "Anthropic",
            "category": "training",
            "purpose": "Collects web content that could contribute to training Anthropic's models.",
            "robots_txt": "obeys",
            "robots_note": "Also supports the non-standard Crawl-delay extension. Anthropic asks site owners to set rules on every subdomain.",
            "used_for_ai_training": true,
            "documentation": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler",
            "ip_ranges": "https://claude.com/crawling/bots.json",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "ClaudeBot helps enhance the utility and safety of our generative AI models by collecting web content that could potentially contribute to their training.",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              },
              {
                "supports": "robots_txt",
                "quote": "Anthropic's Bots respect \"do not crawl\" signals by honoring industry standard directives in robots.txt.",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "When a site restricts ClaudeBot access, it signals that the site's future materials should be excluded from our AI model training datasets.",
                "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "duckassistbot",
          "permalink": "https://bozos.si/ai-crawlers.json#duckassistbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "duckassistbot",
            "permalink": "https://bozos.si/ai-crawlers.json#duckassistbot",
            "cite": "DuckAssistBot (DuckDuckGo): Fetches pages in real time for DuckDuckGo's AI-assisted answers, which cite sources. Not used to train AI models. robots.txt: obeys. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#duckassistbot",
            "review_due": "2027-01-18",
            "token": "DuckAssistBot",
            "operator": "DuckDuckGo",
            "category": "user-fetch",
            "purpose": "Fetches pages in real time for DuckDuckGo's AI-assisted answers, which cite sources. Not used to train AI models.",
            "robots_txt": "obeys",
            "robots_note": "Opt-outs take effect after 72 hours and do not affect organic search rankings.",
            "used_for_ai_training": false,
            "documentation": "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot",
            "ip_ranges": "https://duckduckgo.com/duckassistbot.json",
            "user_agent_example": "DuckAssistBot/1.2; (+http://duckduckgo.com/duckassistbot.html)",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "DuckAssistBot is a web crawler for DuckDuckGo Search that crawls pages in real-time for our AI-assisted answers, which prominently cite their sources.",
                "source": "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "This data is not used in any way to train AI models.",
                "source": "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
              },
              {
                "supports": "robots_txt",
                "quote": "Once you've updated the file to disallow the DuckAssistBot user agent, the change will take effect after 72 hours and DuckAssistBot will stop crawling your site.",
                "source": "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "facebookexternalhit",
          "permalink": "https://bozos.si/ai-crawlers.json#facebookexternalhit",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "facebookexternalhit",
            "permalink": "https://bozos.si/ai-crawlers.json#facebookexternalhit",
            "cite": "facebookexternalhit (Meta): Fetches title, description, and thumbnail for links shared in Meta apps. robots.txt: may-ignore. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-19, high confidence. https://bozos.si/ai-crawlers.json#facebookexternalhit",
            "review_due": "2027-01-17",
            "token": "facebookexternalhit",
            "operator": "Meta",
            "category": "link-preview",
            "purpose": "Fetches title, description, and thumbnail for links shared in Meta apps.",
            "robots_txt": "may-ignore",
            "robots_note": "Meta states it might bypass robots.txt for security or integrity checks.",
            "used_for_ai_training": null,
            "documentation": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers",
            "ip_ranges": null,
            "user_agent_example": "facebookexternalhit/1.1",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-19",
            "confidence": "high",
            "evidence_status": "not-machine-verifiable: the documentation page refuses automated requests (HTTP 400), so quotes cannot be checked automatically. Last read in a browser on the verified date."
          }
        },
        {
          "collection": "crawlers",
          "id": "google-cloudvertexbot",
          "permalink": "https://bozos.si/ai-crawlers.json#google-cloudvertexbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "google-cloudvertexbot",
            "permalink": "https://bozos.si/ai-crawlers.json#google-cloudvertexbot",
            "cite": "Google-CloudVertexBot (Google): Crawls sites at the site owner's request to build Vertex AI Agents. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#google-cloudvertexbot",
            "review_due": "2027-01-18",
            "token": "Google-CloudVertexBot",
            "operator": "Google",
            "category": "owner-requested",
            "purpose": "Crawls sites at the site owner's request to build Vertex AI Agents.",
            "robots_txt": "obeys",
            "robots_note": "No effect on Google Search.",
            "used_for_ai_training": null,
            "documentation": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
            "ip_ranges": "https://developers.google.com/static/crawling/ipranges/common-crawlers.json",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "Crawling preferences addressed to the Google-CloudVertexBot user agent affect crawls requested by the site owners' for building Vertex AI Agents.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              },
              {
                "supports": "robots_txt",
                "quote": "They always obey robots.txt rules when crawling automatically.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "google-extended",
          "permalink": "https://bozos.si/ai-crawlers.json#google-extended",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "google-extended",
            "permalink": "https://bozos.si/ai-crawlers.json#google-extended",
            "cite": "Google-Extended (Google): Not a crawler. Controls whether content Google crawls may be used to train future Gemini models and for grounding in Gemini Apps and the Vertex AI API. robots.txt: control-token. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#google-extended",
            "review_due": "2027-01-18",
            "token": "Google-Extended",
            "operator": "Google",
            "category": "control-token",
            "purpose": "Not a crawler. Controls whether content Google crawls may be used to train future Gemini models and for grounding in Gemini Apps and the Vertex AI API.",
            "robots_txt": "control-token",
            "robots_note": "Set rules for Google-Extended in robots.txt. It does not affect inclusion in Google Search.",
            "used_for_ai_training": true,
            "documentation": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
            "ip_ranges": null,
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "category",
                "quote": "the robots.txt user-agent token is used in a control capacity.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "Google-Extended is a standalone product token that web publishers can use to manage whether content Google crawls from their sites may be used for training future generations of Gemini models",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              },
              {
                "supports": "purpose",
                "quote": "Google-Extended does not impact a site's inclusion in Google Search nor is it used as a ranking signal in Google Search.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "googlebot",
          "permalink": "https://bozos.si/ai-crawlers.json#googlebot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "googlebot",
            "permalink": "https://bozos.si/ai-crawlers.json#googlebot",
            "cite": "Googlebot (Google): Crawls for Google Search, including Discover, Images, Video, and News surfaces. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#googlebot",
            "review_due": "2027-01-18",
            "token": "Googlebot",
            "operator": "Google",
            "category": "search",
            "purpose": "Crawls for Google Search, including Discover, Images, Video, and News surfaces.",
            "robots_txt": "obeys",
            "robots_note": "Standard robots.txt rules apply.",
            "used_for_ai_training": null,
            "documentation": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
            "ip_ranges": "https://developers.google.com/static/search/apis/ipranges/googlebot.json",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "Crawling preferences addressed to the Googlebot user agent affect Google Search (including Discover and all Google Search features)",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              },
              {
                "supports": "robots_txt",
                "quote": "They always obey robots.txt rules when crawling automatically.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "googleother",
          "permalink": "https://bozos.si/ai-crawlers.json#googleother",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "googleother",
            "permalink": "https://bozos.si/ai-crawlers.json#googleother",
            "cite": "GoogleOther (Google): Generic crawler used by Google product teams, for example for internal research. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#googleother",
            "review_due": "2027-01-18",
            "token": "GoogleOther",
            "operator": "Google",
            "category": "other",
            "purpose": "Generic crawler used by Google product teams, for example for internal research.",
            "robots_txt": "obeys",
            "robots_note": "Standard robots.txt rules apply. Affects no specific product.",
            "used_for_ai_training": null,
            "documentation": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
            "ip_ranges": "https://developers.google.com/static/crawling/ipranges/common-crawlers.json",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "GoogleOther is the generic crawler that may be used by various product teams for fetching publicly accessible content from sites.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              },
              {
                "supports": "robots_txt",
                "quote": "They always obey robots.txt rules when crawling automatically.",
                "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "gptbot",
          "permalink": "https://bozos.si/ai-crawlers.json#gptbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "gptbot",
            "permalink": "https://bozos.si/ai-crawlers.json#gptbot",
            "cite": "GPTBot (OpenAI): Crawls content that may be used to train OpenAI's generative AI foundation models. robots.txt: obeys. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#gptbot",
            "review_due": "2027-01-18",
            "token": "GPTBot",
            "operator": "OpenAI",
            "category": "training",
            "purpose": "Crawls content that may be used to train OpenAI's generative AI foundation models.",
            "robots_txt": "obeys",
            "robots_note": "Disallowing GPTBot signals the site's content should not be used for training.",
            "used_for_ai_training": true,
            "documentation": "https://developers.openai.com/api/docs/bots",
            "ip_ranges": "https://openai.com/gptbot.json",
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "It is used to crawl content that may be used in training our generative AI foundation models.",
                "source": "https://developers.openai.com/api/docs/bots"
              },
              {
                "supports": "robots_txt",
                "quote": "Disallowing GPTBot indicates a site's content should not be used in training generative AI foundation models.",
                "source": "https://developers.openai.com/api/docs/bots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "meta-externalagent",
          "permalink": "https://bozos.si/ai-crawlers.json#meta-externalagent",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "meta-externalagent",
            "permalink": "https://bozos.si/ai-crawlers.json#meta-externalagent",
            "cite": "meta-externalagent (Meta): Crawls for uses such as training foundation AI models or improving products by indexing content directly. robots.txt: obeys. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-19, high confidence. https://bozos.si/ai-crawlers.json#meta-externalagent",
            "review_due": "2027-01-17",
            "token": "meta-externalagent",
            "operator": "Meta",
            "category": "training",
            "purpose": "Crawls for uses such as training foundation AI models or improving products by indexing content directly.",
            "robots_txt": "obeys",
            "robots_note": "Block with a disallow rule. Changes can take up to 24 hours.",
            "used_for_ai_training": true,
            "documentation": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers",
            "ip_ranges": null,
            "user_agent_example": "meta-externalagent/1.1",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-19",
            "confidence": "high",
            "evidence_status": "not-machine-verifiable: the documentation page refuses automated requests (HTTP 400), so quotes cannot be checked automatically. Last read in a browser on the verified date."
          }
        },
        {
          "collection": "crawlers",
          "id": "meta-externalfetcher",
          "permalink": "https://bozos.si/ai-crawlers.json#meta-externalfetcher",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "meta-externalfetcher",
            "permalink": "https://bozos.si/ai-crawlers.json#meta-externalfetcher",
            "cite": "meta-externalfetcher (Meta): Fetches individual links at a user's request for agentic AI features. robots.txt: may-ignore. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-19, high confidence. https://bozos.si/ai-crawlers.json#meta-externalfetcher",
            "review_due": "2027-01-17",
            "token": "meta-externalfetcher",
            "operator": "Meta",
            "category": "user-fetch",
            "purpose": "Fetches individual links at a user's request for agentic AI features.",
            "robots_txt": "may-ignore",
            "robots_note": "Meta states this crawler may bypass robots.txt rules.",
            "used_for_ai_training": null,
            "documentation": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers",
            "ip_ranges": null,
            "user_agent_example": "meta-externalfetcher/1.1",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-19",
            "confidence": "high",
            "evidence_status": "not-machine-verifiable: the documentation page refuses automated requests (HTTP 400), so quotes cannot be checked automatically. Last read in a browser on the verified date."
          }
        },
        {
          "collection": "crawlers",
          "id": "meta-webindexer",
          "permalink": "https://bozos.si/ai-crawlers.json#meta-webindexer",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "meta-webindexer",
            "permalink": "https://bozos.si/ai-crawlers.json#meta-webindexer",
            "cite": "meta-webindexer (Meta): Improves Meta AI search results so Meta AI can cite and link content. robots.txt: not-stated. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-19, high confidence. https://bozos.si/ai-crawlers.json#meta-webindexer",
            "review_due": "2027-01-17",
            "token": "meta-webindexer",
            "operator": "Meta",
            "category": "search",
            "purpose": "Improves Meta AI search results so Meta AI can cite and link content.",
            "robots_txt": "not-stated",
            "robots_note": "Meta's page does not describe its robots.txt behavior.",
            "used_for_ai_training": null,
            "documentation": "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers",
            "ip_ranges": null,
            "user_agent_example": "meta-webindexer/1.1",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-19",
            "confidence": "high",
            "evidence_status": "not-machine-verifiable: the documentation page refuses automated requests (HTTP 400), so quotes cannot be checked automatically. Last read in a browser on the verified date."
          }
        },
        {
          "collection": "crawlers",
          "id": "mistralai-index",
          "permalink": "https://bozos.si/ai-crawlers.json#mistralai-index",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "mistralai-index",
            "permalink": "https://bozos.si/ai-crawlers.json#mistralai-index",
            "cite": "MistralAI-Index (Mistral AI): Crawls for indexing only, feeding Mistral search. Not used for generative AI training. robots.txt: not-stated. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#mistralai-index",
            "review_due": "2027-01-18",
            "token": "MistralAI-Index",
            "operator": "Mistral AI",
            "category": "search",
            "purpose": "Crawls for indexing only, feeding Mistral search. Not used for generative AI training.",
            "robots_txt": "not-stated",
            "robots_note": "Mistral's page does not give bot-specific robots.txt guidance.",
            "used_for_ai_training": false,
            "documentation": "https://docs.mistral.ai/robots",
            "ip_ranges": "https://mistral.ai/mistralai-index-ips.json",
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; MistralAI-Index/1.0; +https://docs.mistral.ai/robots)",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "MistralAI-Index is for automated crawling of the web for indexing purposes only.",
                "source": "https://docs.mistral.ai/robots"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "Content crawled by MistralAI-Index is not used for generative AI training of any kind.",
                "source": "https://docs.mistral.ai/robots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "mistralai-training",
          "permalink": "https://bozos.si/ai-crawlers.json#mistralai-training",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "mistralai-training",
            "permalink": "https://bozos.si/ai-crawlers.json#mistralai-training",
            "cite": "MistralAI-Training (Mistral AI): Collects web content to build training datasets for Mistral's generative models. robots.txt: obeys. Used for AI training: yes. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#mistralai-training",
            "review_due": "2027-01-18",
            "token": "MistralAI-Training",
            "operator": "Mistral AI",
            "category": "training",
            "purpose": "Collects web content to build training datasets for Mistral's generative models.",
            "robots_txt": "obeys",
            "robots_note": "Mistral says webmasters can disallow it in robots.txt.",
            "used_for_ai_training": true,
            "documentation": "https://docs.mistral.ai/robots",
            "ip_ranges": null,
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; MistralAI-Training/1.0; +https://docs.mistral.ai/robots)",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "MistralAI-Training crawls web content to help build datasets for training Mistral generative AI models.",
                "source": "https://docs.mistral.ai/robots"
              },
              {
                "supports": "robots_txt",
                "quote": "Webmasters can disallow this user agent in their robots.txt file.",
                "source": "https://docs.mistral.ai/robots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "mistralai-user",
          "permalink": "https://bozos.si/ai-crawlers.json#mistralai-user",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "mistralai-user",
            "permalink": "https://bozos.si/ai-crawlers.json#mistralai-user",
            "cite": "MistralAI-User (Mistral AI): Visits pages when a user asks Mistral's assistant a question. Not used for automatic crawling. robots.txt: obeys. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#mistralai-user",
            "review_due": "2027-01-18",
            "token": "MistralAI-User",
            "operator": "Mistral AI",
            "category": "user-fetch",
            "purpose": "Visits pages when a user asks Mistral's assistant a question. Not used for automatic crawling.",
            "robots_txt": "obeys",
            "robots_note": "Mistral says the MistralAI-User robots.txt tag governs which sites these user requests can be made to.",
            "used_for_ai_training": false,
            "documentation": "https://docs.mistral.ai/robots",
            "ip_ranges": "https://mistral.ai/mistralai-user-ips.json",
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; MistralAI-User/1.0; +https://docs.mistral.ai/robots)",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "When users ask Vibe a question, it may visit a web page to help answer and include a link to the source in its response.",
                "source": "https://docs.mistral.ai/robots"
              },
              {
                "supports": "robots_txt",
                "quote": "MistralAI-User governs which sites these user requests can be made to.",
                "source": "https://docs.mistral.ai/robots"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "It is not used for crawling the web in any automatic fashion, nor to crawl content for generative AI training.",
                "source": "https://docs.mistral.ai/robots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "oai-adsbot",
          "permalink": "https://bozos.si/ai-crawlers.json#oai-adsbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "oai-adsbot",
            "permalink": "https://bozos.si/ai-crawlers.json#oai-adsbot",
            "cite": "OAI-AdsBot (OpenAI): Checks landing pages submitted as ChatGPT ads for safety and relevance. Visits only submitted ad pages. robots.txt: not-stated. Used for AI training: no. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#oai-adsbot",
            "review_due": "2027-01-18",
            "token": "OAI-AdsBot",
            "operator": "OpenAI",
            "category": "other",
            "purpose": "Checks landing pages submitted as ChatGPT ads for safety and relevance. Visits only submitted ad pages.",
            "robots_txt": "not-stated",
            "robots_note": "OpenAI's page does not say whether robots.txt applies.",
            "used_for_ai_training": false,
            "documentation": "https://developers.openai.com/api/docs/bots",
            "ip_ranges": "https://openai.com/adsbot.json",
            "user_agent_example": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-AdsBot/1.0; +https://openai.com/adsbot",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "OAI-AdsBot is used to validate the safety of web pages submitted as ads on ChatGPT.",
                "source": "https://developers.openai.com/api/docs/bots"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "the data collected by OAI-AdsBot is not used to train generative AI foundation models.",
                "source": "https://developers.openai.com/api/docs/bots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "oai-searchbot",
          "permalink": "https://bozos.si/ai-crawlers.json#oai-searchbot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "oai-searchbot",
            "permalink": "https://bozos.si/ai-crawlers.json#oai-searchbot",
            "cite": "OAI-SearchBot (OpenAI): Surfaces sites in ChatGPT search features. robots.txt: obeys. Used for AI training: not stated. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#oai-searchbot",
            "review_due": "2027-01-18",
            "token": "OAI-SearchBot",
            "operator": "OpenAI",
            "category": "search",
            "purpose": "Surfaces sites in ChatGPT search features.",
            "robots_txt": "obeys",
            "robots_note": "Opted-out sites are not shown in ChatGPT search answers but can still appear as navigational links. Changes take about 24 hours.",
            "used_for_ai_training": null,
            "documentation": "https://developers.openai.com/api/docs/bots",
            "ip_ranges": "https://openai.com/searchbot.json",
            "user_agent_example": "Mozilla/5.0 ... compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot",
            "docs_vs_reports": "none-recorded",
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "OAI-SearchBot is used to surface websites in search results in ChatGPT's search features.",
                "source": "https://developers.openai.com/api/docs/bots"
              },
              {
                "supports": "robots_txt",
                "quote": "Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers, though can still appear as navigational links.",
                "source": "https://developers.openai.com/api/docs/bots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "perplexity-user",
          "permalink": "https://bozos.si/ai-crawlers.json#perplexity-user",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "perplexity-user",
            "permalink": "https://bozos.si/ai-crawlers.json#perplexity-user",
            "cite": "Perplexity-User (Perplexity): Visits a page when a Perplexity user asks a question, and links it in the answer. Not used for crawling or training. robots.txt: may-ignore. Used for AI training: no. Cloudflare reported behavior contradicting this documentation (2025-08-04); Perplexity disputes it. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#perplexity-user",
            "review_due": "2027-01-18",
            "token": "Perplexity-User",
            "operator": "Perplexity",
            "category": "user-fetch",
            "purpose": "Visits a page when a Perplexity user asks a question, and links it in the answer. Not used for crawling or training.",
            "robots_txt": "may-ignore",
            "robots_note": "Perplexity's page says both that Perplexity-User \"controls which sites these user requests can access\" and that, since a user requested the fetch, the fetcher \"generally ignores robots.txt rules\".",
            "used_for_ai_training": false,
            "documentation": "https://docs.perplexity.ai/guides/bots",
            "ip_ranges": "https://www.perplexity.com/perplexity-user.json",
            "docs_vs_reports": "conflict-reported",
            "reported_conflicts": [
              {
                "date": "2025-08-04",
                "reporter": "Cloudflare",
                "title": "Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives",
                "url": "https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/",
                "finding": "Cloudflare reported that when Perplexity's declared crawler was blocked, it used \"a generic browser intended to impersonate Google Chrome on macOS\" from IPs outside its published list, \"ignoring — or sometimes failing to even fetch — robots.txt files\". Cloudflare \"de-listed them as a verified bot\".",
                "operator_response": {
                  "date": "2025-08-04",
                  "title": "Agents or Bots? Making Sense of AI on the Open Web",
                  "url": "https://www.perplexity.ai/hub/blog/agents-or-bots-making-sense-of-ai-on-the-open-web",
                  "quote": "Cloudflare fundamentally misattributed 3-6M daily requests from BrowserBase's automated browser service to Perplexity"
                },
                "read": "2026-10-20",
                "quotes": [
                  "a generic browser intended to impersonate Google Chrome on macOS",
                  "ignoring — or sometimes failing to even fetch — robots.txt files",
                  "de-listed them as a verified bot"
                ]
              }
            ],
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "When users ask Perplexity a question, it might visit a web page to help provide an accurate answer and include a link to the page in its response.",
                "source": "https://docs.perplexity.ai/guides/bots"
              },
              {
                "supports": "robots_txt",
                "quote": "Since a user requested the fetch, this fetcher generally ignores robots.txt rules.",
                "source": "https://docs.perplexity.ai/guides/bots"
              },
              {
                "supports": "robots_txt",
                "quote": "Perplexity-User controls which sites these user requests can access.",
                "source": "https://docs.perplexity.ai/guides/bots"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "It is not used for web crawling or to collect content for training AI foundation models.",
                "source": "https://docs.perplexity.ai/guides/bots"
              }
            ]
          }
        },
        {
          "collection": "crawlers",
          "id": "perplexitybot",
          "permalink": "https://bozos.si/ai-crawlers.json#perplexitybot",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "perplexitybot",
            "permalink": "https://bozos.si/ai-crawlers.json#perplexitybot",
            "cite": "PerplexityBot (Perplexity): Surfaces and links websites in Perplexity search results. Perplexity says it is not used to crawl content for AI foundation models. robots.txt: obeys. Used for AI training: no. Cloudflare reported behavior contradicting this documentation (2025-08-04); Perplexity disputes it. Source: BOZOS, AI Crawler Directory, verified 2026-10-20, high confidence. https://bozos.si/ai-crawlers.json#perplexitybot",
            "review_due": "2027-01-18",
            "token": "PerplexityBot",
            "operator": "Perplexity",
            "category": "search",
            "purpose": "Surfaces and links websites in Perplexity search results. Perplexity says it is not used to crawl content for AI foundation models.",
            "robots_txt": "obeys",
            "robots_note": "Perplexity recommends allowing it in robots.txt; its page does not state compliance in so many words.",
            "used_for_ai_training": false,
            "documentation": "https://docs.perplexity.ai/guides/bots",
            "ip_ranges": "https://www.perplexity.com/perplexitybot.json",
            "docs_vs_reports": "conflict-reported",
            "reported_conflicts": [
              {
                "date": "2025-08-04",
                "reporter": "Cloudflare",
                "title": "Perplexity is using stealth, undeclared crawlers to evade website no-crawl directives",
                "url": "https://blog.cloudflare.com/perplexity-is-using-stealth-undeclared-crawlers-to-evade-website-no-crawl-directives/",
                "finding": "Cloudflare reported that when Perplexity's declared crawler was blocked, it used \"a generic browser intended to impersonate Google Chrome on macOS\" from IPs outside its published list, \"ignoring — or sometimes failing to even fetch — robots.txt files\". Cloudflare \"de-listed them as a verified bot\".",
                "operator_response": {
                  "date": "2025-08-04",
                  "title": "Agents or Bots? Making Sense of AI on the Open Web",
                  "url": "https://www.perplexity.ai/hub/blog/agents-or-bots-making-sense-of-ai-on-the-open-web",
                  "quote": "Cloudflare fundamentally misattributed 3-6M daily requests from BrowserBase's automated browser service to Perplexity"
                },
                "read": "2026-10-20",
                "quotes": [
                  "a generic browser intended to impersonate Google Chrome on macOS",
                  "ignoring — or sometimes failing to even fetch — robots.txt files",
                  "de-listed them as a verified bot"
                ]
              }
            ],
            "verified": "2026-10-20",
            "confidence": "high",
            "evidence": [
              {
                "supports": "purpose",
                "quote": "PerplexityBot is designed to surface and link websites in search results on Perplexity.",
                "source": "https://docs.perplexity.ai/guides/bots"
              },
              {
                "supports": "used_for_ai_training",
                "quote": "It is not used to crawl content for AI foundation models.",
                "source": "https://docs.perplexity.ai/guides/bots"
              }
            ]
          }
        }
      ],
      "removed": [],
      "fields_changed": [
        {
          "field": "docs_vs_reports_values",
          "changed": "2026-10-20"
        },
        {
          "field": "field_notes",
          "changed": "2026-10-20"
        },
        {
          "field": "scope_note",
          "changed": "2026-10-20"
        },
        {
          "field": "source_snapshots",
          "changed": "2026-10-20"
        }
      ]
    },
    {
      "id": "ai-optout-signals-data",
      "url": "https://bozos.si/ai-optout-signals.json",
      "updated": "2026-10-20",
      "versions_after_since": [
        "2026-10-20"
      ],
      "added": [
        {
          "collection": "operators",
          "id": "allen-institute-for-ai",
          "permalink": "https://bozos.si/ai-optout-signals.json#allen-institute-for-ai",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "allen-institute-for-ai",
            "permalink": "https://bozos.si/ai-optout-signals.json#allen-institute-for-ai",
            "cite": "Allen Institute for AI (Ai2): robots-txt-training-optout not-stated; robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#allen-institute-for-ai",
            "review_due": "2027-01-18",
            "operator": "Allen Institute for AI (Ai2)",
            "crawler_tokens": [
              "AI2Bot"
            ],
            "sources": [
              "https://allenai.org/crawler"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "not-stated",
                "scope": "AI2Bot is used for AI training, but the documentation does not say robots.txt rules are honored; it says the crawler page does not mention robots.txt. It says the user-agent string can be used to filter or reject the crawler's traffic.",
                "tokens": [
                  "AI2Bot"
                ],
                "quotes": [
                  {
                    "quote": "This user agent string can be used to filter or reject traffic from our crawler if desired.",
                    "source": "https://allenai.org/crawler"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://allenai.org/crawler"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://allenai.org/crawler"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://allenai.org/crawler"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://allenai.org/crawler"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://allenai.org/crawler"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://allenai.org/crawler"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "amazon",
          "permalink": "https://bozos.si/ai-optout-signals.json#amazon",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "amazon",
            "permalink": "https://bozos.si/ai-optout-signals.json#amazon",
            "cite": "Amazon: robots-txt-training-optout honors (Disallow Amazonbot in robots.txt); robots-meta-ai honors (noarchive means do not use the page for model training); noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#amazon",
            "review_due": "2027-01-18",
            "operator": "Amazon",
            "crawler_tokens": [
              "Amazonbot",
              "Amzn-SearchBot",
              "Amzn-User"
            ],
            "sources": [
              "https://developer.amazon.com/amazonbot"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow Amazonbot in robots.txt.",
                "tokens": [
                  "Amazonbot"
                ],
                "quotes": [
                  {
                    "quote": "may be used to train Amazon AI models.",
                    "source": "https://developer.amazon.com/amazonbot"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "honors",
                "scope": "noarchive means do not use the page for model training.",
                "quotes": [
                  {
                    "quote": "page level robots meta tags of noarchive (do not use the page for model training)",
                    "source": "https://developer.amazon.com/amazonbot"
                  }
                ]
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developer.amazon.com/amazonbot"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developer.amazon.com/amazonbot"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developer.amazon.com/amazonbot"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developer.amazon.com/amazonbot"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developer.amazon.com/amazonbot"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "anthropic",
          "permalink": "https://bozos.si/ai-optout-signals.json#anthropic",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "anthropic",
            "permalink": "https://bozos.si/ai-optout-signals.json#anthropic",
            "cite": "Anthropic: robots-txt-training-optout honors (Disallow ClaudeBot in robots.txt); robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#anthropic",
            "review_due": "2027-01-18",
            "operator": "Anthropic",
            "crawler_tokens": [
              "ClaudeBot",
              "Claude-SearchBot",
              "Claude-User"
            ],
            "sources": [
              "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow ClaudeBot in robots.txt.",
                "tokens": [
                  "ClaudeBot"
                ],
                "quotes": [
                  {
                    "quote": "Anthropic's Bots respect \"do not crawl\" signals by honoring industry standard directives in robots.txt.",
                    "source": "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "apple",
          "permalink": "https://bozos.si/ai-optout-signals.json#apple",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "apple",
            "permalink": "https://bozos.si/ai-optout-signals.json#apple",
            "cite": "Apple: robots-txt-training-optout honors (Disallow Applebot-Extended in robots.txt); robots-meta-ai honors (nosnippet keeps content out of AI-generated answers in Apple products. Training is controlled by Applebot-Extended instead); noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#apple",
            "review_due": "2027-01-18",
            "operator": "Apple",
            "crawler_tokens": [
              "Applebot",
              "Applebot-Extended"
            ],
            "sources": [
              "https://support.apple.com/en-us/119829"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow Applebot-Extended in robots.txt.",
                "tokens": [
                  "Applebot-Extended"
                ],
                "quotes": [
                  {
                    "quote": "Web publishers can opt-out from having their content used to train generative foundation models by disallowing Applebot-Extended in the robots.txt file.",
                    "source": "https://support.apple.com/en-us/119829"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "honors",
                "scope": "nosnippet keeps content out of AI-generated answers in Apple products. Training is controlled by Applebot-Extended instead.",
                "quotes": [
                  {
                    "quote": "Apple will not use data tagged nosnippet as additional context and up-to-date content when AI models are used to generate output for display in Apple products and services.",
                    "source": "https://support.apple.com/en-us/119829"
                  }
                ]
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.apple.com/en-us/119829"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.apple.com/en-us/119829"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.apple.com/en-us/119829"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.apple.com/en-us/119829"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://support.apple.com/en-us/119829"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "common-crawl",
          "permalink": "https://bozos.si/ai-optout-signals.json#common-crawl",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "common-crawl",
            "permalink": "https://bozos.si/ai-optout-signals.json#common-crawl",
            "cite": "Common Crawl: robots-txt-training-optout honors (Disallow CCBot in robots.txt); robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#common-crawl",
            "review_due": "2027-01-18",
            "operator": "Common Crawl",
            "crawler_tokens": [
              "CCBot"
            ],
            "sources": [
              "https://commoncrawl.org/ccbot"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow CCBot in robots.txt.",
                "tokens": [
                  "CCBot"
                ],
                "quotes": [
                  {
                    "quote": "To prevent Common Crawl from crawling your website, include the following in your robots.txt",
                    "source": "https://commoncrawl.org/ccbot"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://commoncrawl.org/ccbot"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://commoncrawl.org/ccbot"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://commoncrawl.org/ccbot"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://commoncrawl.org/ccbot"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://commoncrawl.org/ccbot"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://commoncrawl.org/ccbot"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "diffbot",
          "permalink": "https://bozos.si/ai-optout-signals.json#diffbot",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "diffbot",
            "permalink": "https://bozos.si/ai-optout-signals.json#diffbot",
            "cite": "Diffbot: robots-txt-training-optout not-applicable; robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#diffbot",
            "review_due": "2027-01-18",
            "operator": "Diffbot",
            "crawler_tokens": [
              "Diffbot",
              "Diffbot-User"
            ],
            "sources": [
              "https://www.diffbot.com/docs/crawl/faq/robots-txt"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "not-applicable",
                "scope": "The operator says its crawlers are not used for AI training.",
                "quotes": [
                  {
                    "quote": "It is not used for AI training.",
                    "source": "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://www.diffbot.com/docs/crawl/faq/robots-txt"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "duckduckgo",
          "permalink": "https://bozos.si/ai-optout-signals.json#duckduckgo",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "duckduckgo",
            "permalink": "https://bozos.si/ai-optout-signals.json#duckduckgo",
            "cite": "DuckDuckGo: robots-txt-training-optout not-applicable; robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#duckduckgo",
            "review_due": "2027-01-18",
            "operator": "DuckDuckGo",
            "crawler_tokens": [
              "DuckAssistBot"
            ],
            "sources": [
              "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "not-applicable",
                "scope": "The operator says its crawlers are not used for AI training.",
                "quotes": [
                  {
                    "quote": "This data is not used in any way to train AI models.",
                    "source": "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                },
                "note": "The page links to noai.duckduckgo.com, a DuckDuckGo product setting, not the noai directive.",
                "ignored_hits": 0
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://duckduckgo.com/duckduckgo-help-pages/results/duckassistbot"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "google",
          "permalink": "https://bozos.si/ai-optout-signals.json#google",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "google",
            "permalink": "https://bozos.si/ai-optout-signals.json#google",
            "cite": "Google: robots-txt-training-optout honors (Disallow Google-Extended in robots.txt); robots-meta-ai honors (nosnippet also keeps a page from being used as direct input for AI Overviews and AI Mode. It does not address training); noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#google",
            "review_due": "2027-01-18",
            "operator": "Google",
            "crawler_tokens": [
              "Googlebot",
              "Google-Extended",
              "GoogleOther",
              "Google-CloudVertexBot"
            ],
            "sources": [
              "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
              "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow Google-Extended in robots.txt.",
                "tokens": [
                  "Google-Extended"
                ],
                "quotes": [
                  {
                    "quote": "Google-Extended is a standalone product token that web publishers can use to manage whether content Google crawls from their sites may be used for training future generations of Gemini models",
                    "source": "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "honors",
                "scope": "nosnippet also keeps a page from being used as direct input for AI Overviews and AI Mode. It does not address training.",
                "quotes": [
                  {
                    "quote": "will also prevent the content from being used as a direct input for AI Overviews and AI Mode.",
                    "source": "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
                  }
                ]
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
                    "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
                    "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
                    "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
                    "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers",
                    "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "meta",
          "permalink": "https://bozos.si/ai-optout-signals.json#meta",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "meta",
            "permalink": "https://bozos.si/ai-optout-signals.json#meta",
            "cite": "Meta: robots-txt-training-optout honors (Disallow meta-externalagent in robots.txt); robots-meta-ai unknown; noai-meta unknown; content-signal unknown; aipref-content-usage unknown; tdmrep unknown; rsl unknown. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#meta",
            "review_due": "2027-01-18",
            "operator": "Meta",
            "crawler_tokens": [
              "meta-externalagent",
              "meta-webindexer",
              "meta-externalfetcher",
              "facebookexternalhit"
            ],
            "sources": [
              "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers"
            ],
            "unreadable_sources": [
              "https://developers.facebook.com/docs/sharing/webmasters/web-crawlers"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow meta-externalagent in robots.txt.",
                "tokens": [
                  "meta-externalagent"
                ],
                "quotes": [],
                "evidence_status": "not-machine-verifiable: the documentation page refuses automated requests (HTTP 400), so quotes cannot be checked automatically. Last read in a browser on the verified date."
              },
              "robots-meta-ai": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "noai-meta": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "content-signal": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "aipref-content-usage": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "tdmrep": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "rsl": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "microsoft",
          "permalink": "https://bozos.si/ai-optout-signals.json#microsoft",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "microsoft",
            "permalink": "https://bozos.si/ai-optout-signals.json#microsoft",
            "cite": "Microsoft: robots-txt-training-optout unknown; robots-meta-ai unknown; noai-meta unknown; content-signal unknown; aipref-content-usage unknown; tdmrep unknown; rsl unknown. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#microsoft",
            "review_due": "2027-01-18",
            "operator": "Microsoft",
            "crawler_tokens": [
              "bingbot"
            ],
            "sources": [
              "https://www.bing.com/webmasters/help/which-crawlers-does-bing-use-8c184ec0"
            ],
            "unreadable_sources": [
              "https://www.bing.com/webmasters/help/which-crawlers-does-bing-use-8c184ec0"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script.",
                "quotes": []
              },
              "robots-meta-ai": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "noai-meta": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "content-signal": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "aipref-content-usage": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "tdmrep": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              },
              "rsl": {
                "stance": "unknown",
                "scope": "The operator's documentation page cannot be read by a script, so absence of a mention cannot be checked.",
                "quotes": []
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "mistral-ai",
          "permalink": "https://bozos.si/ai-optout-signals.json#mistral-ai",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "mistral-ai",
            "permalink": "https://bozos.si/ai-optout-signals.json#mistral-ai",
            "cite": "Mistral AI: robots-txt-training-optout honors (Disallow MistralAI-Training in robots.txt); robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#mistral-ai",
            "review_due": "2027-01-18",
            "operator": "Mistral AI",
            "crawler_tokens": [
              "MistralAI-Training",
              "MistralAI-Index",
              "MistralAI-User"
            ],
            "sources": [
              "https://docs.mistral.ai/robots"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow MistralAI-Training in robots.txt.",
                "tokens": [
                  "MistralAI-Training"
                ],
                "quotes": [
                  {
                    "quote": "Webmasters can disallow this user agent in their robots.txt file.",
                    "source": "https://docs.mistral.ai/robots"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.mistral.ai/robots"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.mistral.ai/robots"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.mistral.ai/robots"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.mistral.ai/robots"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.mistral.ai/robots"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.mistral.ai/robots"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "openai",
          "permalink": "https://bozos.si/ai-optout-signals.json#openai",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "openai",
            "permalink": "https://bozos.si/ai-optout-signals.json#openai",
            "cite": "OpenAI: robots-txt-training-optout honors (Disallow GPTBot in robots.txt); robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#openai",
            "review_due": "2027-01-18",
            "operator": "OpenAI",
            "crawler_tokens": [
              "GPTBot",
              "OAI-SearchBot",
              "ChatGPT-User",
              "OAI-AdsBot"
            ],
            "sources": [
              "https://developers.openai.com/api/docs/bots"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "honors",
                "scope": "Disallow GPTBot in robots.txt.",
                "tokens": [
                  "GPTBot"
                ],
                "quotes": [
                  {
                    "quote": "Disallowing GPTBot indicates a site's content should not be used in training generative AI foundation models.",
                    "source": "https://developers.openai.com/api/docs/bots"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.openai.com/api/docs/bots"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.openai.com/api/docs/bots"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.openai.com/api/docs/bots"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.openai.com/api/docs/bots"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.openai.com/api/docs/bots"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://developers.openai.com/api/docs/bots"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "perplexity",
          "permalink": "https://bozos.si/ai-optout-signals.json#perplexity",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "perplexity",
            "permalink": "https://bozos.si/ai-optout-signals.json#perplexity",
            "cite": "Perplexity: robots-txt-training-optout not-applicable; robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#perplexity",
            "review_due": "2027-01-18",
            "operator": "Perplexity",
            "crawler_tokens": [
              "PerplexityBot",
              "Perplexity-User"
            ],
            "sources": [
              "https://docs.perplexity.ai/guides/bots"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "not-applicable",
                "scope": "The operator says its crawlers are not used for AI training.",
                "quotes": [
                  {
                    "quote": "It is not used to crawl content for AI foundation models.",
                    "source": "https://docs.perplexity.ai/guides/bots"
                  }
                ]
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.perplexity.ai/guides/bots"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.perplexity.ai/guides/bots"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.perplexity.ai/guides/bots"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.perplexity.ai/guides/bots"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.perplexity.ai/guides/bots"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://docs.perplexity.ai/guides/bots"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "operators",
          "id": "you-com",
          "permalink": "https://bozos.si/ai-optout-signals.json#you-com",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "you-com",
            "permalink": "https://bozos.si/ai-optout-signals.json#you-com",
            "cite": "You.com: robots-txt-training-optout not-stated; robots-meta-ai not-stated; noai-meta not-stated; content-signal not-stated; aipref-content-usage not-stated; tdmrep not-stated; rsl not-stated. Source: BOZOS, AI Opt-out Signals: Who Honors What, verified 2026-10-20. https://bozos.si/ai-optout-signals.json#you-com",
            "review_due": "2027-01-18",
            "operator": "You.com",
            "crawler_tokens": [
              "YouBot"
            ],
            "sources": [
              "https://you.com/docs/youbot"
            ],
            "verified": "2026-10-20",
            "cells": {
              "robots-txt-training-optout": {
                "stance": "not-stated",
                "scope": "No crawler of this operator is documented as an AI training crawler or control token.",
                "quotes": []
              },
              "robots-meta-ai": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://you.com/docs/youbot"
                  ],
                  "terms": [
                    "noarchive",
                    "nosnippet",
                    "robots meta",
                    "x-robots-tag"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "noai-meta": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://you.com/docs/youbot"
                  ],
                  "terms": [
                    "\\bnoai\\b(?![.-])",
                    "noimageai"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "content-signal": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://you.com/docs/youbot"
                  ],
                  "terms": [
                    "content[- ]signals?"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "aipref-content-usage": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://you.com/docs/youbot"
                  ],
                  "terms": [
                    "aipref",
                    "content-usage"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "tdmrep": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://you.com/docs/youbot"
                  ],
                  "terms": [
                    "tdmrep",
                    "tdm-reservation",
                    "text and data mining"
                  ],
                  "checked": "2026-10-20"
                }
              },
              "rsl": {
                "stance": "not-stated",
                "scope": "No mention in the operator's pages checked.",
                "quotes": [],
                "searched": {
                  "sources": [
                    "https://you.com/docs/youbot"
                  ],
                  "terms": [
                    "really simple licensing",
                    "\\bRSL\\b"
                  ],
                  "checked": "2026-10-20"
                }
              }
            }
          }
        },
        {
          "collection": "signals",
          "id": "aipref-content-usage",
          "permalink": "https://bozos.si/ai-optout-signals.json#aipref-content-usage",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "aipref-content-usage",
            "permalink": "https://bozos.si/ai-optout-signals.json#aipref-content-usage",
            "cite": "IETF AI preferences (Content-Usage) (internet-draft, IETF AIPREF working group): A shared vocabulary for usage preferences, attached through robots.txt or an HTTP header. Not yet an RFC. Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#aipref-content-usage",
            "review_due": "2027-01-18",
            "name": "IETF AI preferences (Content-Usage)",
            "kind": "internet-draft",
            "publisher": "IETF AIPREF working group",
            "syntax": "Content-Usage: train-ai=n  (robots.txt rule or HTTP header; vocabulary still in draft)",
            "expresses": "A shared vocabulary for usage preferences, attached through robots.txt or an HTTP header. Not yet an RFC.",
            "spec": "https://datatracker.ietf.org/doc/draft-ietf-aipref-attach/",
            "evidence": [
              {
                "quote": "This document defines attachment methods using the Robots Exclusion Protocol and HTTP header fields.",
                "source": "https://datatracker.ietf.org/doc/draft-ietf-aipref-attach/"
              },
              {
                "quote": "It is inappropriate to use Internet-Drafts as reference material or to cite them other than as \"work in progress.\"",
                "source": "https://datatracker.ietf.org/doc/draft-ietf-aipref-vocab/"
              }
            ],
            "terms": [
              "aipref",
              "content-usage"
            ]
          }
        },
        {
          "collection": "signals",
          "id": "content-signal",
          "permalink": "https://bozos.si/ai-optout-signals.json#content-signal",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "content-signal",
            "permalink": "https://bozos.si/ai-optout-signals.json#content-signal",
            "cite": "Content-Signal (Content Signals Policy) (vendor-policy, Cloudflare): Yes/no preferences for three uses: search, ai-input (for example retrieval-augmented generation and grounding), and ai-train (training or fine-tuning). Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#content-signal",
            "review_due": "2027-01-18",
            "name": "Content-Signal (Content Signals Policy)",
            "kind": "vendor-policy",
            "publisher": "Cloudflare",
            "syntax": "Content-Signal: search=yes, ai-input=yes, ai-train=no",
            "expresses": "Yes/no preferences for three uses: search, ai-input (for example retrieval-augmented generation and grounding), and ai-train (training or fine-tuning).",
            "spec": "https://blog.cloudflare.com/content-signals-policy/",
            "evidence": [
              {
                "quote": "This policy defines three content signals - search, ai-input, and ai-train - and their relevance to crawlers.",
                "source": "https://blog.cloudflare.com/content-signals-policy/"
              }
            ],
            "terms": [
              "content[- ]signals?"
            ]
          }
        },
        {
          "collection": "signals",
          "id": "noai-meta",
          "permalink": "https://bozos.si/ai-optout-signals.json#noai-meta",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "noai-meta",
            "permalink": "https://bozos.si/ai-optout-signals.json#noai-meta",
            "cite": "noai and noimageai directives (convention, DeviantArt (introduced November 2022)): That content is not authorized for use in AI datasets or as input to AI models. Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#noai-meta",
            "review_due": "2027-01-18",
            "name": "noai and noimageai directives",
            "kind": "convention",
            "publisher": "DeviantArt (introduced November 2022)",
            "syntax": "<meta name=\"robots\" content=\"noai, noimageai\">  or  X-Robots-Tag: noai",
            "expresses": "That content is not authorized for use in AI datasets or as input to AI models.",
            "spec": "https://www.deviantart.com/team/journal/UPDATE-All-Deviations-Are-Opted-Out-of-AI-Datasets-934500371",
            "evidence": [
              {
                "quote": "DeviantArt has introduced the noai and noimageai directives to unambiguously communicate absence of such authorization.",
                "source": "https://www.deviantart.com/team/journal/UPDATE-All-Deviations-Are-Opted-Out-of-AI-Datasets-934500371"
              }
            ],
            "terms": [
              "\\bnoai\\b(?![.-])",
              "noimageai"
            ]
          }
        },
        {
          "collection": "signals",
          "id": "robots-meta-ai",
          "permalink": "https://bozos.si/ai-optout-signals.json#robots-meta-ai",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "robots-meta-ai",
            "permalink": "https://bozos.si/ai-optout-signals.json#robots-meta-ai",
            "cite": "Robots meta tags as AI controls (nosnippet, noarchive) (de-facto-standard, Search engines, individually): Page-level rules originally written for search. Some operators state that a specific rule also limits AI use of the page; the meaning differs by operator. Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#robots-meta-ai",
            "review_due": "2027-01-18",
            "name": "Robots meta tags as AI controls (nosnippet, noarchive)",
            "kind": "de-facto-standard",
            "publisher": "Search engines, individually",
            "syntax": "<meta name=\"robots\" content=\"nosnippet\">  or  X-Robots-Tag: noarchive",
            "expresses": "Page-level rules originally written for search. Some operators state that a specific rule also limits AI use of the page; the meaning differs by operator.",
            "spec": "https://developers.google.com/search/docs/crawling-indexing/robots-meta-tag",
            "evidence": [],
            "terms": [
              "noarchive",
              "nosnippet",
              "robots meta",
              "x-robots-tag"
            ]
          }
        },
        {
          "collection": "signals",
          "id": "robots-txt-training-optout",
          "permalink": "https://bozos.si/ai-optout-signals.json#robots-txt-training-optout",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "robots-txt-training-optout",
            "permalink": "https://bozos.si/ai-optout-signals.json#robots-txt-training-optout",
            "cite": "robots.txt opt-out from AI training (ietf-standard, IETF (RFC 9309) plus each operator's own user-agent token): Whether a named crawler may fetch a path. Operators decide what blocking their token means; some offer a token only for AI training, or a control token that changes how already-crawled data is used. Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#robots-txt-training-optout",
            "review_due": "2027-01-18",
            "name": "robots.txt opt-out from AI training",
            "kind": "ietf-standard",
            "publisher": "IETF (RFC 9309) plus each operator's own user-agent token",
            "syntax": "User-agent: GPTBot\nDisallow: /",
            "expresses": "Whether a named crawler may fetch a path. Operators decide what blocking their token means; some offer a token only for AI training, or a control token that changes how already-crawled data is used.",
            "spec": "https://www.rfc-editor.org/rfc/rfc9309.html",
            "evidence": [
              {
                "quote": "These rules are not a form of access authorization.",
                "source": "https://www.rfc-editor.org/rfc/rfc9309.html"
              }
            ],
            "terms": null
          }
        },
        {
          "collection": "signals",
          "id": "rsl",
          "permalink": "https://bozos.si/ai-optout-signals.json#rsl",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "rsl",
            "permalink": "https://bozos.si/ai-optout-signals.json#rsl",
            "cite": "Really Simple Licensing (RSL) (industry-specification, RSL Collective): Machine-readable licensing, payment, and legal terms for AI use, with discovery through robots.txt, HTTP, HTML, or RSS. Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#rsl",
            "review_due": "2027-01-18",
            "name": "Really Simple Licensing (RSL)",
            "kind": "industry-specification",
            "publisher": "RSL Collective",
            "syntax": "License: https://example.com/license.xml  (robots.txt), or a Link header with rel=\"license\"",
            "expresses": "Machine-readable licensing, payment, and legal terms for AI use, with discovery through robots.txt, HTTP, HTML, or RSS.",
            "spec": "https://rslstandard.org/rsl",
            "evidence": [
              {
                "quote": "machine-readable usage, licensing, payment, and legal terms that govern how digital assets may be accessed or licensed by AI systems and automated agents.",
                "source": "https://rslstandard.org/rsl"
              }
            ],
            "terms": [
              "really simple licensing",
              "\\bRSL\\b"
            ]
          }
        },
        {
          "collection": "signals",
          "id": "tdmrep",
          "permalink": "https://bozos.si/ai-optout-signals.json#tdmrep",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "tdmrep",
            "permalink": "https://bozos.si/ai-optout-signals.json#tdmrep",
            "cite": "TDM Reservation Protocol (TDMRep) (w3c-community-group-report, W3C TDM Reservation Protocol Community Group): A reservation of text-and-data-mining rights under Article 4 of the EU copyright directive (2019/790), optionally pointing to a licensing policy. Source: BOZOS, AI Opt-out Signals: Who Honors What, updated 2026-10-20. https://bozos.si/ai-optout-signals.json#tdmrep",
            "review_due": "2027-01-18",
            "name": "TDM Reservation Protocol (TDMRep)",
            "kind": "w3c-community-group-report",
            "publisher": "W3C TDM Reservation Protocol Community Group",
            "syntax": "tdm-reservation: 1  (HTTP header), <meta name=\"tdm-reservation\" content=\"1\">, or /.well-known/tdmrep.json",
            "expresses": "A reservation of text-and-data-mining rights under Article 4 of the EU copyright directive (2019/790), optionally pointing to a licensing policy.",
            "spec": "https://w3c-cg.github.io/tdm-reservation-protocol/spec/",
            "evidence": [
              {
                "quote": "This specification defines a simple and practical Web protocol, capable of expressing the reservation of rights relative to text & data mining (TDM) applied to lawfully accessible Web content",
                "source": "https://w3c-cg.github.io/tdm-reservation-protocol/spec/"
              }
            ],
            "terms": [
              "tdmrep",
              "tdm-reservation",
              "text and data mining"
            ]
          }
        }
      ],
      "changed": [],
      "removed": [],
      "fields_changed": [
        {
          "field": "canonical_url",
          "changed": "2026-10-20"
        },
        {
          "field": "data_url",
          "changed": "2026-10-20"
        },
        {
          "field": "editorial_rule",
          "changed": "2026-10-20"
        },
        {
          "field": "license",
          "changed": "2026-10-20"
        },
        {
          "field": "not_included",
          "changed": "2026-10-20"
        },
        {
          "field": "schema_version",
          "changed": "2026-10-20"
        },
        {
          "field": "scope_note",
          "changed": "2026-10-20"
        },
        {
          "field": "source_snapshots",
          "changed": "2026-10-20"
        },
        {
          "field": "stance_values",
          "changed": "2026-10-20"
        },
        {
          "field": "title",
          "changed": "2026-10-20"
        }
      ]
    },
    {
      "id": "runescape-private-server-history-data",
      "url": "https://bozos.si/runescape-private-server-history.json",
      "updated": "2026-10-20",
      "versions_after_since": [
        "2026-10-20"
      ],
      "added": [
        {
          "collection": "case_studies",
          "id": "sarim",
          "permalink": "https://bozos.si/runescape-private-server-history.json#sarim",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "sarim",
            "permalink": "https://bozos.si/runescape-private-server-history.json#sarim",
            "cite": "Sarim: A free, semi-custom OSRS private server. (self-description) Source: BOZOS, RuneScape Private Servers: History and Guide, reviewed 2026-10-20. https://bozos.si/runescape-private-server-history.json#sarim",
            "review_due": "2027-04-18",
            "name": "Sarim",
            "url": "https://sarimps.com/",
            "reviewed": "2026-10-20",
            "selection": "Chosen by the BOZOS editor as a current example of an OSRS-based private server. BOZOS has not played or tested it; everything below comes from Sarim's own published pages on the review date.",
            "self_description": "A free, semi-custom OSRS private server.",
            "base": "Old School RuneScape (semi-custom)",
            "client": "Its own RuneLite-based client, opened through a Java launcher (Java 21 recommended) for Windows, macOS, and Linux. An Android client is described as in development.",
            "client_verification": "Publishes a SHA-256 checksum file for the launcher download.",
            "accounts": "Separate from Jagex accounts; players are told never to reuse their RuneScape password.",
            "xp_rates": [
              "3x (Extreme)",
              "10x (Hard)",
              "25x (Normal)"
            ],
            "account_modes": [
              "Regular",
              "Ironman",
              "Hardcore Ironman",
              "Ultimate Ironman",
              "Group Ironman (up to five)",
              "Hardcore Group Ironman",
              "Lucklocked"
            ],
            "progression_policy": "\"No server resets. Ever.\" A player's own XP-difficulty change resets that player's skills (up to three changes). A seasonal Gridmaster mode on World 2 is described separately.",
            "custom_systems": [
              "Account perks with loadouts",
              "Equipment attachments via an Item Workbench",
              "Five solo Echo bosses in private instances",
              "Lucklocked Ironman mode with extra reward containers",
              "Skill prestige beyond level 99 (October 2026)"
            ],
            "monetization": "Free to play. Optional Donator Bonds ($5 to $100) grant points and count toward cumulative donator ranks (Donator at $10 up to Platinum at $1,000 and above) that raise recipe success, material yield, material saving, and vote points. Checkout showed as temporarily paused on the review date.",
            "terms": "Not directed to children under 13; real-world trading outside official systems is prohibited.",
            "affiliation": "States it is an independent project not affiliated with or endorsed by Jagex Ltd. or RuneScape.",
            "lineage_claim": {
              "claim": "The team says it ran a server called Revival for about ten years before Sarim.",
              "status": "self-reported, not independently verified"
            },
            "timeline": [
              {
                "date": "2026-06-27",
                "event": "First published design post (what semi-custom means for Sarim)"
              },
              {
                "date": "2026-07-07",
                "event": "Terms of service last updated; Echo boss design post"
              },
              {
                "date": "2026-08-17",
                "event": "Earliest dated patch notes"
              },
              {
                "date": "2026-10-19",
                "event": "Most recent patch notes at review (prestige rebalance)"
              }
            ],
            "illustrates": [
              "OSRS-based rather than 317-based",
              "A forked RuneLite client delivered by launcher",
              "A published no-reset policy alongside separate seasonal modes",
              "Donator ranks that change gameplay yields, documented in a public table",
              "Explicit non-affiliation and account-separation guidance"
            ],
            "sources": [
              "https://sarimps.com/",
              "https://sarimps.com/play/",
              "https://sarimps.com/store/",
              "https://sarimps.com/news/",
              "https://sarimps.com/legal/terms.html",
              "https://wiki.sarimps.com/RuneLite",
              "https://wiki.sarimps.com/XP_rates",
              "https://wiki.sarimps.com/Account_modes",
              "https://wiki.sarimps.com/No-reset_policy"
            ]
          }
        },
        {
          "collection": "eras",
          "id": "classic-preservation",
          "permalink": "https://bozos.si/runescape-private-server-history.json#classic-preservation",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "classic-preservation",
            "permalink": "https://bozos.si/runescape-private-server-history.json#classic-preservation",
            "cite": "Shutdown turns emulation into restoration work (2018–present): After RuneScape Classic closed, community projects took on an explicit preservation role. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#classic-preservation",
            "review_due": "2027-04-18",
            "start_year": 2018,
            "end_year": null,
            "label": "Classic preservation",
            "title": "Shutdown turns emulation into restoration work",
            "summary": "After RuneScape Classic closed, community projects took on an explicit preservation role.",
            "narrative": "Jagex closed RuneScape Classic on 6 August 2018. Open RuneScape Classic and related projects describe a preservation method built from black-box reimplementation, surviving caches, community code, documentation, and recorded play. Their work also shows why a runnable recreation is more than old assets: server behavior must be observed, written, tested, and qualified when evidence is missing.",
            "confidence": "high",
            "source": "https://github.com/Open-RSC"
          }
        },
        {
          "collection": "eras",
          "id": "content-ready",
          "permalink": "https://bozos.si/runescape-private-server-history.json#content-ready",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "content-ready",
            "permalink": "https://bozos.si/runescape-private-server-history.json#content-ready",
            "cite": "A server base becomes a product template (2010–2019): Content-heavy 317 descendants let operators launch customized worlds from a populated base. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, medium confidence. https://bozos.si/runescape-private-server-history.json#content-ready",
            "review_due": "2027-04-18",
            "start_year": 2010,
            "end_year": 2019,
            "label": "The content-ready era",
            "title": "A server base becomes a product template",
            "summary": "Content-heavy 317 descendants let operators launch customized worlds from a populated base.",
            "narrative": "Project Insanity and other content-heavy 317 descendants were reused at enormous scale. Operators could start with combat, skills, shops, minigames, and familiar configuration files already present, then differentiate through faster experience, custom items, bosses, economies, and donation systems. \"317\" increasingly described ancestry rather than an untouched 2005 game state.",
            "confidence": "medium",
            "source": "https://rspslist.org/server-types/317/"
          }
        },
        {
          "collection": "eras",
          "id": "open-clients",
          "permalink": "https://bozos.si/runescape-private-server-history.json#open-clients",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "open-clients",
            "permalink": "https://bozos.si/runescape-private-server-history.json#open-clients",
            "cite": "Open source moves to the client side (2016–present): The open-source RuneLite client, later approved by Jagex for the official game, and openly licensed emulators reshaped how current private servers are built. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#open-clients",
            "review_due": "2027-04-18",
            "start_year": 2016,
            "end_year": null,
            "label": "Open clients, OSRS-based servers",
            "title": "Open source moves to the client side",
            "summary": "The open-source RuneLite client, later approved by Jagex for the official game, and openly licensed emulators reshaped how current private servers are built.",
            "narrative": "RuneLite, a free, open-source Old School RuneScape client under the BSD 2-clause license, started in 2016. In June 2022 Jagex named it one of only two approved third-party clients for the official game. Because its source is open, a private server can also fork it: Sarim, for example, ships its own RuneLite-based client through a Java launcher. On the server side, openly licensed projects matured: RSMod (ISC, OSRS mechanics, educational), 2009scape (AGPL-3.0, a 2009-era remake), and Lost City's 2004Scape (MIT, a rebuild of the game as of 18 May 2004).",
            "confidence": "high",
            "source": "https://github.com/runelite/runelite"
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "active-development",
          "permalink": "https://bozos.si/runescape-private-server-history.json#active-development",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "active-development",
            "permalink": "https://bozos.si/runescape-private-server-history.json#active-development",
            "cite": "Active development: Dated patch notes over time, not only a launch announcement. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#active-development",
            "review_due": "2027-04-18",
            "check": "Active development",
            "look_for": "Dated patch notes over time, not only a launch announcement."
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "affiliation",
          "permalink": "https://bozos.si/runescape-private-server-history.json#affiliation",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "affiliation",
            "permalink": "https://bozos.si/runescape-private-server-history.json#affiliation",
            "cite": "Affiliation: A clear statement that the server is not affiliated with or endorsed by Jagex. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#affiliation",
            "review_due": "2027-04-18",
            "check": "Affiliation",
            "look_for": "A clear statement that the server is not affiliated with or endorsed by Jagex."
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "client-provenance",
          "permalink": "https://bozos.si/runescape-private-server-history.json#client-provenance",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "client-provenance",
            "permalink": "https://bozos.si/runescape-private-server-history.json#client-provenance",
            "cite": "Client provenance: An official download page, a published checksum or signature, and no request for your Jagex credentials. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#client-provenance",
            "review_due": "2027-04-18",
            "check": "Client provenance",
            "look_for": "An official download page, a published checksum or signature, and no request for your Jagex credentials."
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "monetization",
          "permalink": "https://bozos.si/runescape-private-server-history.json#monetization",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "monetization",
            "permalink": "https://bozos.si/runescape-private-server-history.json#monetization",
            "cite": "Monetization: Exactly what purchases change: cosmetics, convenience, or gameplay odds and yields. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#monetization",
            "review_due": "2027-04-18",
            "check": "Monetization",
            "look_for": "Exactly what purchases change: cosmetics, convenience, or gameplay odds and yields."
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "progression-policy",
          "permalink": "https://bozos.si/runescape-private-server-history.json#progression-policy",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "progression-policy",
            "permalink": "https://bozos.si/runescape-private-server-history.json#progression-policy",
            "cite": "Progression policy: A written reset or wipe policy, and separate rules for any seasonal modes. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#progression-policy",
            "review_due": "2027-04-18",
            "check": "Progression policy",
            "look_for": "A written reset or wipe policy, and separate rules for any seasonal modes."
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "self-reported-claims",
          "permalink": "https://bozos.si/runescape-private-server-history.json#self-reported-claims",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "self-reported-claims",
            "permalink": "https://bozos.si/runescape-private-server-history.json#self-reported-claims",
            "cite": "Self-reported claims: Treat player counts, uptime, lineage, and drop rates as the operator's claims unless independently sourced. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#self-reported-claims",
            "review_due": "2027-04-18",
            "check": "Self-reported claims",
            "look_for": "Treat player counts, uptime, lineage, and drop rates as the operator's claims unless independently sourced."
          }
        },
        {
          "collection": "evaluation_checklist",
          "id": "terms-and-age",
          "permalink": "https://bozos.si/runescape-private-server-history.json#terms-and-age",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "terms-and-age",
            "permalink": "https://bozos.si/runescape-private-server-history.json#terms-and-age",
            "cite": "Terms and age: Published terms, privacy policy, minimum age, and refund or chargeback handling. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#terms-and-age",
            "review_due": "2027-04-18",
            "check": "Terms and age",
            "look_for": "Published terms, privacy policy, minimum age, and refund or chargeback handling."
          }
        },
        {
          "collection": "faq",
          "id": "client-safety",
          "permalink": "https://bozos.si/runescape-private-server-history.json#client-safety",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "client-safety",
            "permalink": "https://bozos.si/runescape-private-server-history.json#client-safety",
            "cite": "Is it safe to download a private server's client? A private-server client or launcher is code from the operator, run on your computer. Prefer servers that publish a checksum or signature for their download and say where it is hosted; Sarim, for example, publishes a SHA-256 file next to its launcher. Use a unique password, and be wary of any client that asks for your Jagex login. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, medium confidence. https://bozos.si/runescape-private-server-history.json#client-safety",
            "review_due": "2027-04-18",
            "question": "Is it safe to download a private server's client?",
            "answer": "A private-server client or launcher is code from the operator, run on your computer. Prefer servers that publish a checksum or signature for their download and say where it is hosted; Sarim, for example, publishes a SHA-256 file next to its launcher. Use a unique password, and be wary of any client that asks for your Jagex login.",
            "confidence": "medium",
            "confidence_note": "General security guidance (BOZOS working view) illustrated with a sourced example.",
            "sources": [
              "https://sarimps.com/play/"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "how-they-make-money",
          "permalink": "https://bozos.si/runescape-private-server-history.json#how-they-make-money",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "how-they-make-money",
            "permalink": "https://bozos.si/runescape-private-server-history.json#how-they-make-money",
            "cite": "How do private servers make money? Commonly through donations or store purchases that grant points, ranks, or items. The important question is what a purchase changes. On Sarim, for example, bonds from $5 to $100 grant points and count toward donator ranks that raise recipe success, material yield, material saving, and vote points. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#how-they-make-money",
            "review_due": "2027-04-18",
            "question": "How do private servers make money?",
            "answer": "Commonly through donations or store purchases that grant points, ranks, or items. The important question is what a purchase changes. On Sarim, for example, bonds from $5 to $100 grant points and count toward donator ranks that raise recipe success, material yield, material saving, and vote points.",
            "confidence": "high",
            "confidence_note": "The Sarim example is high confidence; \"commonly\" reflects the scene's long-standing donation culture rather than a measured survey.",
            "sources": [
              "https://sarimps.com/store/"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "is-it-allowed",
          "permalink": "https://bozos.si/runescape-private-server-history.json#is-it-allowed",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "is-it-allowed",
            "permalink": "https://bozos.si/runescape-private-server-history.json#is-it-allowed",
            "cite": "Does Jagex allow private servers? No. Jagex's Fan Content Policy excludes creating private game servers from fan-content permission, and its rules forbid advertising them in its games. Jagex says it usually asks first and may involve lawyers. Whether a particular server is unlawful depends on jurisdiction and facts; this is not legal advice. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#is-it-allowed",
            "review_due": "2027-04-18",
            "question": "Does Jagex allow private servers?",
            "answer": "No. Jagex's Fan Content Policy excludes creating private game servers from fan-content permission, and its rules forbid advertising them in its games. Jagex says it usually asks first and may involve lawyers. Whether a particular server is unlawful depends on jurisdiction and facts; this is not legal advice.",
            "confidence": "high",
            "sources": [
              "https://legal.jagex.com/docs/policies/fan-content-policy",
              "https://legal.jagex.com/docs/rules/rules-of-runescape"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "official-account-risk",
          "permalink": "https://bozos.si/runescape-private-server-history.json#official-account-risk",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "official-account-risk",
            "permalink": "https://bozos.si/runescape-private-server-history.json#official-account-risk",
            "cite": "Can playing a private server get my Old School RuneScape account banned? Jagex's published rules govern conduct in its own games and clients; BOZOS found no Jagex statement about acting against official accounts for playing a private server. The documented, avoidable risks are different: never reuse your Jagex password on a private server, and only use Jagex-approved clients (RuneLite, HDOS, or the official clients) with the official game. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, medium confidence. https://bozos.si/runescape-private-server-history.json#official-account-risk",
            "review_due": "2027-04-18",
            "question": "Can playing a private server get my Old School RuneScape account banned?",
            "answer": "Jagex's published rules govern conduct in its own games and clients; BOZOS found no Jagex statement about acting against official accounts for playing a private server. The documented, avoidable risks are different: never reuse your Jagex password on a private server, and only use Jagex-approved clients (RuneLite, HDOS, or the official clients) with the official game.",
            "confidence": "medium",
            "confidence_note": "Absence of a statement is not a guarantee; this is a BOZOS working view.",
            "sources": [
              "https://oldschool.runescape.wiki/w/Update:Third_Party_Client_Guidelines",
              "https://sarimps.com/play/"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "open-source-projects",
          "permalink": "https://bozos.si/runescape-private-server-history.json#open-source-projects",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "open-source-projects",
            "permalink": "https://bozos.si/runescape-private-server-history.json#open-source-projects",
            "cite": "Are there open-source RuneScape server projects? Yes. RSMod (ISC) emulates OSRS for educational purposes, 2009scape (AGPL-3.0) remakes a 2009-era game, Lost City's 2004Scape (MIT) rebuilds May 2004, Apollo is an older modular framework, and Open RuneScape Classic preserves RuneScape Classic. See projects for licenses and links. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#open-source-projects",
            "review_due": "2027-04-18",
            "question": "Are there open-source RuneScape server projects?",
            "answer": "Yes. RSMod (ISC) emulates OSRS for educational purposes, 2009scape (AGPL-3.0) remakes a 2009-era game, Lost City's 2004Scape (MIT) rebuilds May 2004, Apollo is an older modular framework, and Open RuneScape Classic preserves RuneScape Classic. See projects for licenses and links.",
            "confidence": "high",
            "sources": [
              "https://github.com/rsmod/rsmod",
              "https://gitlab.com/2009scape/2009scape",
              "https://github.com/LostCityRS/Server",
              "https://github.com/apollo-rsps/apollo",
              "https://github.com/Open-RSC"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "what-is-317",
          "permalink": "https://bozos.si/runescape-private-server-history.json#what-is-317",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "what-is-317",
            "permalink": "https://bozos.si/runescape-private-server-history.json#what-is-317",
            "cite": "What do 317, OSRS-based, and other revision numbers mean? A revision is a numbered client and protocol generation. 317 is a 2005-era RS2 client that early servers targeted and which later became a label for that code lineage. OSRS-based means built on Old School RuneScape data and protocol. Neither number tells you how much content is custom. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#what-is-317",
            "review_due": "2027-04-18",
            "question": "What do 317, OSRS-based, and other revision numbers mean?",
            "answer": "A revision is a numbered client and protocol generation. 317 is a 2005-era RS2 client that early servers targeted and which later became a label for that code lineage. OSRS-based means built on Old School RuneScape data and protocol. Neither number tells you how much content is custom.",
            "confidence": "high",
            "sources": [
              "https://archive.openrs2.org/",
              "https://github.com/rsmod/rsmod"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "what-is-rsps",
          "permalink": "https://bozos.si/runescape-private-server-history.json#what-is-rsps",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "what-is-rsps",
            "permalink": "https://bozos.si/runescape-private-server-history.json#what-is-rsps",
            "cite": "What is an RSPS? A RuneScape private server: an unofficial, independently operated game server that recreates or modifies RuneScape, usually reached through a modified or custom client. The scene began around 2005 with servers compatible with the revision 317 client. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#what-is-rsps",
            "review_due": "2027-04-18",
            "question": "What is an RSPS?",
            "answer": "A RuneScape private server: an unofficial, independently operated game server that recreates or modifies RuneScape, usually reached through a modified or custom client. The scene began around 2005 with servers compatible with the revision 317 client.",
            "confidence": "high",
            "sources": [
              "https://rune-server.org/threads/rsps-history.528980/"
            ]
          }
        },
        {
          "collection": "faq",
          "id": "zanaris",
          "permalink": "https://bozos.si/runescape-private-server-history.json#zanaris",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "zanaris",
            "permalink": "https://bozos.si/runescape-private-server-history.json#zanaris",
            "cite": "Is Project Zanaris a private server? No. Project Zanaris is Jagex's own initiative for official, configurable Old School RuneScape community worlds, announced in 2024 with playtests in 2025. It answers similar demand inside an authorized relationship. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#zanaris",
            "review_due": "2027-04-18",
            "question": "Is Project Zanaris a private server?",
            "answer": "No. Project Zanaris is Jagex's own initiative for official, configurable Old School RuneScape community worlds, announced in 2024 with playtests in 2025. It answers similar demand inside an authorized relationship.",
            "confidence": "high",
            "sources": [
              "https://www.jagex.com/news/old-school-runescape-summer-summit-reveals-new-bosses-quests-project-zanaris-a-major-new-community-servers-project-coming-soon-to-the-classic-mmorpg"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "2009scape-2021",
          "permalink": "https://bozos.si/runescape-private-server-history.json#2009scape-2021",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "2009scape-2021",
            "permalink": "https://bozos.si/runescape-private-server-history.json#2009scape-2021",
            "cite": "2009scape's current repository is created (2021-06-22): 2009scape publishes its server and management server as an open-source RS2 remake under the GNU AGPL v3.0. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#2009scape-2021",
            "review_due": "2027-04-18",
            "date": "2021-06-22",
            "date_precision": "repository-created",
            "title": "2009scape's current repository is created",
            "category": "preservation-framework",
            "summary": "2009scape publishes its server and management server as an open-source RS2 remake under the GNU AGPL v3.0.",
            "significance": "An openly licensed, community-run remake of a specific later era rather than a 2005 or OSRS base.",
            "confidence": "high",
            "sources": [
              "https://gitlab.com/2009scape/2009scape"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "lost-city-2004scape-2023",
          "permalink": "https://bozos.si/runescape-private-server-history.json#lost-city-2004scape-2023",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "lost-city-2004scape-2023",
            "permalink": "https://bozos.si/runescape-private-server-history.json#lost-city-2004scape-2023",
            "cite": "Lost City's 2004Scape server repository is created (2023-04-18): Lost City rebuilds the game as it was on 18 May 2004 with a from-scratch server; its server code is MIT-licensed. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#lost-city-2004scape-2023",
            "review_due": "2027-04-18",
            "date": "2023-04-18",
            "date_precision": "repository-created",
            "title": "Lost City's 2004Scape server repository is created",
            "category": "preservation-framework",
            "summary": "Lost City rebuilds the game as it was on 18 May 2004 with a from-scratch server; its server code is MIT-licensed.",
            "significance": "Preservation work aimed at one precisely dated game state, enabled by archived caches.",
            "confidence": "high",
            "sources": [
              "https://github.com/2004Scape/Server",
              "https://github.com/LostCityRS/Server"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "rsmod-2020",
          "permalink": "https://bozos.si/runescape-private-server-history.json#rsmod-2020",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "rsmod-2020",
            "permalink": "https://bozos.si/runescape-private-server-history.json#rsmod-2020",
            "cite": "RSMod's current repository is created (2020-09-08): RSMod describes itself as an Old School RuneScape game-server emulator made for educational purposes, aiming to be mechanically accurate; it is ISC-licensed. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#rsmod-2020",
            "review_due": "2027-04-18",
            "date": "2020-09-08",
            "date_precision": "repository-created",
            "title": "RSMod's current repository is created",
            "category": "server-framework",
            "summary": "RSMod describes itself as an Old School RuneScape game-server emulator made for educational purposes, aiming to be mechanically accurate; it is ISC-licensed.",
            "significance": "A modern, openly licensed OSRS server emulator project, as opposed to the 317-era bases.",
            "confidence": "high",
            "sources": [
              "https://github.com/rsmod/rsmod"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "runelite-2016",
          "permalink": "https://bozos.si/runescape-private-server-history.json#runelite-2016",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "runelite-2016",
            "permalink": "https://bozos.si/runescape-private-server-history.json#runelite-2016",
            "cite": "RuneLite's open-source client repository is created (2016-04-30): RuneLite describes itself as a free, open-source Old School RuneScape client, licensed BSD 2-clause. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#runelite-2016",
            "review_due": "2027-04-18",
            "date": "2016-04-30",
            "date_precision": "repository-created",
            "title": "RuneLite's open-source client repository is created",
            "category": "open-client",
            "summary": "RuneLite describes itself as a free, open-source Old School RuneScape client, licensed BSD 2-clause.",
            "significance": "An openly licensed, actively maintained OSRS client that third parties can study and fork, including private-server operators.",
            "confidence": "high",
            "sources": [
              "https://github.com/runelite/runelite"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "runelite-hd-2021",
          "permalink": "https://bozos.si/runescape-private-server-history.json#runelite-hd-2021",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "runelite-hd-2021",
            "permalink": "https://bozos.si/runescape-private-server-history.json#runelite-hd-2021",
            "cite": "Jagex halts, then permits, the 117 HD RuneLite plugin (2021-09): Jagex asked the developer of a high-definition RuneLite plugin to stop just before release, then reversed the decision a day later after player backlash; the plugin was released that month. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#runelite-hd-2021",
            "review_due": "2027-04-18",
            "date": "2021-09",
            "date_precision": "month",
            "title": "Jagex halts, then permits, the 117 HD RuneLite plugin",
            "category": "official-policy",
            "summary": "Jagex asked the developer of a high-definition RuneLite plugin to stop just before release, then reversed the decision a day later after player backlash; the plugin was released that month.",
            "significance": "Showed how much the official game's ecosystem had come to depend on an open-source third-party client, and how contested its limits were.",
            "confidence": "high",
            "sources": [
              "https://www.pcgamer.com/au/runelite-hd-shut-down",
              "https://www.invenglobal.com/articles/15045/jagex-reverses-course-on-plan-to-ban-third-party-hd-runescape-clients"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "sarim-2026",
          "permalink": "https://bozos.si/runescape-private-server-history.json#sarim-2026",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "sarim-2026",
            "permalink": "https://bozos.si/runescape-private-server-history.json#sarim-2026",
            "cite": "Sarim publishes development posts, then patch notes (2026-06/2026-08): Sarim, a self-described free, semi-custom OSRS private server, published design posts from 27 June 2026 and patch notes from 17 August 2026. Its team says it previously ran a server called Revival for about ten years. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, medium confidence. https://bozos.si/runescape-private-server-history.json#sarim-2026",
            "review_due": "2027-04-18",
            "date": "2026-06/2026-08",
            "date_precision": "range",
            "title": "Sarim publishes development posts, then patch notes",
            "category": "case-study",
            "summary": "Sarim, a self-described free, semi-custom OSRS private server, published design posts from 27 June 2026 and patch notes from 17 August 2026. Its team says it previously ran a server called Revival for about ten years.",
            "significance": "A current example of an OSRS-based server with its own RuneLite-based client, published progression policy, and optional paid donator ranks. See case_studies.",
            "confidence": "medium",
            "confidence_note": "Dates come from Sarim's own news page. The Revival lineage is self-reported and was not independently verified.",
            "sources": [
              "https://sarimps.com/news/"
            ]
          }
        },
        {
          "collection": "milestones",
          "id": "third-party-client-guidelines-2022",
          "permalink": "https://bozos.si/runescape-private-server-history.json#third-party-client-guidelines-2022",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "third-party-client-guidelines-2022",
            "permalink": "https://bozos.si/runescape-private-server-history.json#third-party-client-guidelines-2022",
            "cite": "Jagex limits approved third-party clients (2022-06-17): Jagex's Third Party Client Guidelines say only clients on its approved list (RuneLite and HDOS, as revised in April 2024) may be used with the official game; other clients may lead to permanent account action. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#third-party-client-guidelines-2022",
            "review_due": "2027-04-18",
            "date": "2022-06-17",
            "date_precision": "day",
            "title": "Jagex limits approved third-party clients",
            "category": "official-policy",
            "summary": "Jagex's Third Party Client Guidelines say only clients on its approved list (RuneLite and HDOS, as revised in April 2024) may be used with the official game; other clients may lead to permanent account action.",
            "significance": "Separates approved clients for the official game from private-server clients, even when both are RuneLite-derived.",
            "confidence": "high",
            "sources": [
              "https://oldschool.runescape.wiki/w/Update:Third_Party_Client_Guidelines"
            ]
          }
        },
        {
          "collection": "projects",
          "id": "2009scape",
          "permalink": "https://bozos.si/runescape-private-server-history.json#2009scape",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "2009scape",
            "permalink": "https://bozos.si/runescape-private-server-history.json#2009scape",
            "cite": "2009scape: Server and management server for an RS2 remake. License: AGPL-3.0. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#2009scape",
            "review_due": "2027-04-18",
            "name": "2009scape",
            "role": "Server and management server for an RS2 remake",
            "license": "AGPL-3.0",
            "targets": "2009-era RuneScape",
            "url": "https://gitlab.com/2009scape/2009scape",
            "repository_created": "2021-06-22"
          }
        },
        {
          "collection": "projects",
          "id": "apollo",
          "permalink": "https://bozos.si/runescape-private-server-history.json#apollo",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "apollo",
            "permalink": "https://bozos.si/runescape-private-server-history.json#apollo",
            "cite": "Apollo: Modular Java game-server suite. License: null. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#apollo",
            "review_due": "2027-04-18",
            "name": "Apollo",
            "role": "Modular Java game-server suite",
            "license": null,
            "targets": "RS2-era revisions",
            "url": "https://github.com/apollo-rsps/apollo",
            "repository_created": null
          }
        },
        {
          "collection": "projects",
          "id": "lost-city-2004scape",
          "permalink": "https://bozos.si/runescape-private-server-history.json#lost-city-2004scape",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "lost-city-2004scape",
            "permalink": "https://bozos.si/runescape-private-server-history.json#lost-city-2004scape",
            "cite": "Lost City (2004Scape): From-scratch server rebuilding May 2004. License: MIT. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#lost-city-2004scape",
            "review_due": "2027-04-18",
            "name": "Lost City (2004Scape)",
            "role": "From-scratch server rebuilding May 2004",
            "license": "MIT",
            "targets": "RuneScape 2 as of 18 May 2004",
            "url": "https://github.com/LostCityRS/Server",
            "repository_created": "2023-04-18"
          }
        },
        {
          "collection": "projects",
          "id": "open-runescape-classic",
          "permalink": "https://bozos.si/runescape-private-server-history.json#open-runescape-classic",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "open-runescape-classic",
            "permalink": "https://bozos.si/runescape-private-server-history.json#open-runescape-classic",
            "cite": "Open RuneScape Classic: Preservation of RuneScape Classic. License: null. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#open-runescape-classic",
            "review_due": "2027-04-18",
            "name": "Open RuneScape Classic",
            "role": "Preservation of RuneScape Classic",
            "license": null,
            "targets": "RuneScape Classic (2001-2018)",
            "url": "https://github.com/Open-RSC",
            "repository_created": null
          }
        },
        {
          "collection": "projects",
          "id": "openrs2-archive",
          "permalink": "https://bozos.si/runescape-private-server-history.json#openrs2-archive",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "openrs2-archive",
            "permalink": "https://bozos.si/runescape-private-server-history.json#openrs2-archive",
            "cite": "OpenRS2 Archive: Content-addressed archive of historical caches. License: null. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#openrs2-archive",
            "review_due": "2027-04-18",
            "name": "OpenRS2 Archive",
            "role": "Content-addressed archive of historical caches",
            "license": null,
            "targets": "Many revisions",
            "url": "https://archive.openrs2.org/",
            "repository_created": null
          }
        },
        {
          "collection": "projects",
          "id": "rsmod",
          "permalink": "https://bozos.si/runescape-private-server-history.json#rsmod",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "rsmod",
            "permalink": "https://bozos.si/runescape-private-server-history.json#rsmod",
            "cite": "RSMod: OSRS game-server emulator, educational. License: ISC. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#rsmod",
            "review_due": "2027-04-18",
            "name": "RSMod",
            "role": "OSRS game-server emulator, educational",
            "license": "ISC",
            "targets": "OSRS (revision 233 badge at review)",
            "url": "https://github.com/rsmod/rsmod",
            "repository_created": "2020-09-08"
          }
        },
        {
          "collection": "projects",
          "id": "runelite",
          "permalink": "https://bozos.si/runescape-private-server-history.json#runelite",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "runelite",
            "permalink": "https://bozos.si/runescape-private-server-history.json#runelite",
            "cite": "RuneLite: Open-source OSRS client (also forked by private servers). License: BSD-2-Clause. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#runelite",
            "review_due": "2027-04-18",
            "name": "RuneLite",
            "role": "Open-source OSRS client (also forked by private servers)",
            "license": "BSD-2-Clause",
            "targets": "Old School RuneScape",
            "url": "https://github.com/runelite/runelite",
            "repository_created": "2016-04-30"
          }
        },
        {
          "collection": "vocabulary",
          "id": "approved-third-party-client",
          "permalink": "https://bozos.si/runescape-private-server-history.json#approved-third-party-client",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "approved-third-party-client",
            "permalink": "https://bozos.si/runescape-private-server-history.json#approved-third-party-client",
            "cite": "approved third-party client: A client Jagex permits for the official game (currently RuneLite and HDOS). A private server's RuneLite-based client is a different program and is not covered by that approval. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#approved-third-party-client",
            "review_due": "2027-04-18",
            "term": "approved third-party client",
            "definition": "A client Jagex permits for the official game (currently RuneLite and HDOS). A private server's RuneLite-based client is a different program and is not covered by that approval."
          }
        },
        {
          "collection": "vocabulary",
          "id": "donator-rank",
          "permalink": "https://bozos.si/runescape-private-server-history.json#donator-rank",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "donator-rank",
            "permalink": "https://bozos.si/runescape-private-server-history.json#donator-rank",
            "cite": "donator rank: A status bought with real money on many private servers. What it changes varies; check whether it affects gameplay (drops, materials, success rates) or only cosmetics. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#donator-rank",
            "review_due": "2027-04-18",
            "term": "donator rank",
            "definition": "A status bought with real money on many private servers. What it changes varies; check whether it affects gameplay (drops, materials, success rates) or only cosmetics."
          }
        },
        {
          "collection": "vocabulary",
          "id": "launcher",
          "permalink": "https://bozos.si/runescape-private-server-history.json#launcher",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "launcher",
            "permalink": "https://bozos.si/runescape-private-server-history.json#launcher",
            "cite": "launcher: A small program that downloads and updates a server's own client. Running one means running the operator's code on your computer. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#launcher",
            "review_due": "2027-04-18",
            "term": "launcher",
            "definition": "A small program that downloads and updates a server's own client. Running one means running the operator's code on your computer."
          }
        },
        {
          "collection": "vocabulary",
          "id": "osrs-based",
          "permalink": "https://bozos.si/runescape-private-server-history.json#osrs-based",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "osrs-based",
            "permalink": "https://bozos.si/runescape-private-server-history.json#osrs-based",
            "cite": "OSRS-based: Built on Old School RuneScape game data and protocol (a numbered OSRS revision) rather than the 2005-era 317 client. Says nothing by itself about how much content is custom. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#osrs-based",
            "review_due": "2027-04-18",
            "term": "OSRS-based",
            "definition": "Built on Old School RuneScape game data and protocol (a numbered OSRS revision) rather than the 2005-era 317 client. Says nothing by itself about how much content is custom."
          }
        },
        {
          "collection": "vocabulary",
          "id": "semi-custom",
          "permalink": "https://bozos.si/runescape-private-server-history.json#semi-custom",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "semi-custom",
            "permalink": "https://bozos.si/runescape-private-server-history.json#semi-custom",
            "cite": "semi-custom: An operator's label for a server that keeps a recognizable base game and adds original systems. Sarim uses it to mean adding original content \"where it improves progression, choice, or encounter variety\". Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#semi-custom",
            "review_due": "2027-04-18",
            "term": "semi-custom",
            "definition": "An operator's label for a server that keeps a recognizable base game and adds original systems. Sarim uses it to mean adding original content \"where it improves progression, choice, or encounter variety\"."
          }
        },
        {
          "collection": "vocabulary",
          "id": "server-reset",
          "permalink": "https://bozos.si/runescape-private-server-history.json#server-reset",
          "added": "2026-10-20",
          "changed": "2026-10-20",
          "record": {
            "id": "server-reset",
            "permalink": "https://bozos.si/runescape-private-server-history.json#server-reset",
            "cite": "server reset: A wipe of player progress across a server, sometimes called a reset or wipe. Some servers publish a no-reset policy; seasonal modes may reset by design. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20. https://bozos.si/runescape-private-server-history.json#server-reset",
            "review_due": "2027-04-18",
            "term": "server reset",
            "definition": "A wipe of player progress across a server, sometimes called a reset or wipe. Some servers publish a no-reset policy; seasonal modes may reset by design."
          }
        }
      ],
      "changed": [
        {
          "collection": "eras",
          "id": "distribution",
          "permalink": "https://bozos.si/runescape-private-server-history.json#distribution",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "distribution",
            "permalink": "https://bozos.si/runescape-private-server-history.json#distribution",
            "cite": "MoparScape turns experiments into an ecosystem (2006–2007): Clients, webclients, forums, source packages, and server lists turned experiments into a participatory ecosystem. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, medium confidence. https://bozos.si/runescape-private-server-history.json#distribution",
            "review_due": "2027-04-18",
            "start_year": 2006,
            "end_year": 2007,
            "label": "The distribution layer",
            "title": "MoparScape turns experiments into an ecosystem",
            "summary": "Clients, webclients, forums, source packages, and server lists turned experiments into a participatory ecosystem.",
            "narrative": "MoparScape's client and web presence lowered the barrier between a player and a privately operated world. Forums, server lists, downloadable source packages, and communities such as Rune-Server made discovery and modification repeatable. Names like BlakeScape, Dodian, Project16, CheezScape, and Devolution became branches in a culture built as much through copying and editing as through clean rewrites.",
            "confidence": "medium",
            "source": "https://mopar-scape.com/history/"
          }
        },
        {
          "collection": "eras",
          "id": "first-lineage",
          "permalink": "https://bozos.si/runescape-private-server-history.json#first-lineage",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "first-lineage",
            "permalink": "https://bozos.si/runescape-private-server-history.json#first-lineage",
            "cite": "Revision 317 becomes the scene's common ancestor (2005–2005): Small shareable Java implementations compatible with a 317-era client became the common ancestor of much early RS2 private-server development. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, medium confidence. https://bozos.si/runescape-private-server-history.json#first-lineage",
            "review_due": "2027-04-18",
            "start_year": 2005,
            "end_year": 2005,
            "label": "The first lineage",
            "title": "Revision 317 becomes the scene's common ancestor",
            "summary": "Small shareable Java implementations compatible with a 317-era client became the common ancestor of much early RS2 private-server development.",
            "narrative": "Community histories consistently place Winterlove-associated login and multiplayer experiments at the start of the widely remembered RuneScape 2 private-server lineage. The surviving chronology is incomplete, so \"first\" should remain qualified. What is clear is that small, editable Java server code compatible with the 317-era client gave later developers something they could run, change, and redistribute.",
            "confidence": "medium",
            "source": "https://rune-server.org/threads/rsps-history.528980/"
          }
        },
        {
          "collection": "eras",
          "id": "nostalgia-and-preservation",
          "permalink": "https://bozos.si/runescape-private-server-history.json#nostalgia-and-preservation",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "nostalgia-and-preservation",
            "permalink": "https://bozos.si/runescape-private-server-history.json#nostalgia-and-preservation",
            "cite": "Old School RuneScape changes what preservation means (2013–2013): Old School RuneScape created an official 2007-derived product and a new protocol and cache lineage. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#nostalgia-and-preservation",
            "review_due": "2027-04-18",
            "start_year": 2013,
            "end_year": 2013,
            "label": "Official nostalgia",
            "title": "Old School RuneScape changes what preservation means",
            "summary": "Old School RuneScape created an official 2007-derived product and a new protocol and cache lineage.",
            "narrative": "Jagex launched Old School RuneScape from an August 2007 backup after a player poll. It was not a private server: it was an official, separately operated product. But it validated demand for an older ruleset and created a new living protocol and cache lineage that unofficial projects would later study.",
            "confidence": "high",
            "source": "https://oldschool.runescape.wiki/w/Old_School_RuneScape"
          }
        },
        {
          "collection": "eras",
          "id": "official-community-worlds",
          "permalink": "https://bozos.si/runescape-private-server-history.json#official-community-worlds",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "official-community-worlds",
            "permalink": "https://bozos.si/runescape-private-server-history.json#official-community-worlds",
            "cite": "Project Zanaris proposes authorized community worlds (2024–present): Jagex announced Project Zanaris as an authorized framework for configurable Old School RuneScape community experiences. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#official-community-worlds",
            "review_due": "2027-04-18",
            "start_year": 2024,
            "end_year": null,
            "label": "The official counterpoint",
            "title": "Project Zanaris proposes authorized community worlds",
            "summary": "Jagex announced Project Zanaris as an authorized framework for configurable Old School RuneScape community experiences.",
            "narrative": "Jagex announced Project Zanaris in 2024 as an Old School RuneScape community-world initiative where players could set rules and create custom experiences. Playtest sign-ups followed in 2025. An official configurable world is historically related to private-server demand, but it is not legally or operationally the same thing as an unaffiliated emulator.",
            "confidence": "high",
            "source": "https://www.jagex.com/news/old-school-runescape-summer-summit-reveals-new-bosses-quests-project-zanaris-a-major-new-community-servers-project-coming-soon-to-the-classic-mmorpg"
          }
        },
        {
          "collection": "eras",
          "id": "revision-expansion",
          "permalink": "https://bozos.si/runescape-private-server-history.json#revision-expansion",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "revision-expansion",
            "permalink": "https://bozos.si/runescape-private-server-history.json#revision-expansion",
            "cite": "One scene splits into many technical dialects (2008–2012): Projects targeted later caches and protocols while engineering-focused bases introduced cleaner architecture and documentation. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#revision-expansion",
            "review_due": "2027-04-18",
            "start_year": 2008,
            "end_year": 2012,
            "label": "Revisions and bases",
            "title": "One scene splits into many technical dialects",
            "summary": "Projects targeted later caches and protocols while engineering-focused bases introduced cleaner architecture and documentation.",
            "narrative": "As official RuneScape entered its HD era, private-server projects targeted newer protocols and caches (508, 525, 614, 718, and others) while 317 remained a durable compatibility label. At the same time, Hyperion, RuneSource, Apollo, and similar projects reacted against fragile copy-on-copy code with documented protocols, event systems, update servers, modular plugins, and clearer architecture.",
            "confidence": "high",
            "source": "https://github.com/apollo-rsps/apollo"
          }
        },
        {
          "collection": "eras",
          "id": "runway",
          "permalink": "https://bozos.si/runescape-private-server-history.json#runway",
          "added": "2026-10-19",
          "changed": "2026-10-20",
          "record": {
            "id": "runway",
            "permalink": "https://bozos.si/runescape-private-server-history.json#runway",
            "cite": "RuneScape becomes a moving target (2001–2004): A Java client, local asset cache, authoritative server, and frequent numbered revisions created the system later emulator developers studied. Source: BOZOS, RuneScape Private Servers: History and Guide, updated 2026-10-20, high confidence. https://bozos.si/runescape-private-server-history.json#runway",
            "review_due": "2027-04-18",
            "start_year": 2001,
            "end_year": 2004,
            "label": "The runway",
            "title": "RuneScape becomes a moving target",
            "summary": "A Java client, local asset cache, authoritative server, and frequent numbered revisions created the system later emulator developers studied.",
            "narrative": "RuneScape launched in 2001, then RuneScape 2 replaced its original engine in 2004. A Java client, locally cached game assets, frequent numbered client revisions, and an authoritative remote world created the technical shape that later emulator authors studied. The old game became RuneScape Classic; the new game kept changing underneath everyone.",
            "confidence": "high",
            "source": "https://runescape.wiki/w/Update:Blog_-_History_of_RuneScape:_The_First_Four_Years"
          }
        }
      ],
      "removed": [],
      "fields_changed": [
        {
          "field": "cautions",
          "changed": "2026-10-20"
        },
        {
          "field": "evaluation_note",
          "changed": "2026-10-20"
        },
        {
          "field": "legal_boundary",
          "changed": "2026-10-20"
        },
        {
          "field": "modern_answer",
          "changed": "2026-10-20"
        },
        {
          "field": "modern_answer_sources",
          "changed": "2026-10-20"
        },
        {
          "field": "projects_note",
          "changed": "2026-10-20"
        },
        {
          "field": "scope_note",
          "changed": "2026-10-20"
        }
      ]
    },
    {
      "id": "private-server-history-data",
      "url": "https://bozos.si/private-server-history.json",
      "updated": "2026-10-19",
      "versions_after_since": [],
      "added": [],
      "changed": [],
      "removed": [],
      "fields_changed": []
    },
    {
      "id": "agent-web-signals-data",
      "url": "https://bozos.si/agent-web-signals.json",
      "updated": "2026-10-19",
      "versions_after_since": [],
      "added": [],
      "changed": [],
      "removed": [],
      "fields_changed": []
    }
  ],
  "deterministic": false,
  "docs": "https://bozos.si/tools/fetch#changes"
}
