{
  "entity_a": {
    "slug": "applebot",
    "name": "Applebot"
  },
  "entity_b": {
    "slug": "chatgpt-user",
    "name": "ChatGPT-User"
  },
  "fields_documented": 11,
  "claims": 20,
  "last_verified": "2026-09-15",
  "fields": [
    {
      "field": "cites_sources",
      "value_a": "yes",
      "value_b": "not_documented",
      "claim_id_a": 15,
      "claim_id_b": 25,
      "same": false
    },
    {
      "field": "fallback_to_googlebot_rules",
      "value_a": "yes",
      "value_b": null,
      "claim_id_a": 18,
      "claim_id_b": null,
      "same": false
    },
    {
      "field": "honours_crawl_delay",
      "value_a": "no",
      "value_b": "not_documented",
      "claim_id_a": 10,
      "claim_id_b": 20,
      "same": false
    },
    {
      "field": "observed_paths_fetched",
      "value_a": "robots_txt_and_home_only",
      "value_b": null,
      "claim_id_a": 150,
      "claim_id_b": null,
      "same": false
    },
    {
      "field": "publishes_ip_list",
      "value_a": "yes",
      "value_b": "yes",
      "claim_id_a": 11,
      "claim_id_b": 21,
      "same": true
    },
    {
      "field": "purpose_documented",
      "value_a": "mixed",
      "value_b": "user_fetch",
      "claim_id_a": 13,
      "claim_id_b": 23,
      "same": false
    },
    {
      "field": "reads_llms_txt",
      "value_a": "not_documented",
      "value_b": "not_documented",
      "claim_id_a": 16,
      "claim_id_b": 26,
      "same": true
    },
    {
      "field": "respects_robots_txt",
      "value_a": "yes",
      "value_b": "partial",
      "claim_id_a": 9,
      "claim_id_b": 19,
      "same": false
    },
    {
      "field": "separate_search_and_training_tokens",
      "value_a": "partial",
      "value_b": "not_documented",
      "claim_id_a": 14,
      "claim_id_b": 24,
      "same": false
    },
    {
      "field": "user_agent_string_full",
      "value_a": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot)",
      "value_b": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
      "claim_id_a": 17,
      "claim_id_b": 27,
      "same": false
    },
    {
      "field": "verifiable_by_rdns",
      "value_a": "yes",
      "value_b": "not_documented",
      "claim_id_a": 12,
      "claim_id_b": 22,
      "same": false
    }
  ],
  "differences": [
    {
      "field": "cites_sources",
      "statement_a": "Apple includes links to source websites in Siri and Search answers to broad world knowledge questions.",
      "statement_b": "OpenAI does not publish whether ChatGPT responses cite pages fetched by ChatGPT-User.",
      "claim_id_a": 15,
      "claim_id_b": 25
    },
    {
      "field": "fallback_to_googlebot_rules",
      "statement_a": "Applebot follows Googlebot robots.txt instructions when a robots.txt file mentions Googlebot but not Applebot.",
      "statement_b": null,
      "claim_id_a": 18,
      "claim_id_b": null
    },
    {
      "field": "honours_crawl_delay",
      "statement_a": "Applebot does not follow the robots.txt Crawl-delay directive.",
      "statement_b": "OpenAI does not publish whether ChatGPT-User honours the robots.txt Crawl-delay directive.",
      "claim_id_a": 10,
      "claim_id_b": 20
    },
    {
      "field": "observed_paths_fetched",
      "statement_a": "Applebot made 6 requests to Rattlesnakes By Mail between 2026-09-13T20:00Z and 2026-09-15T09:00Z, to 2 distinct paths, /robots.txt and the home page. Applebot's 6 requests to Rattlesnakes By Mail run from 2026-09-14T12:22:23Z to 2026-09-14T12:59:26Z and alternate the two paths three times.",
      "statement_b": null,
      "claim_id_a": 150,
      "claim_id_b": null
    },
    {
      "field": "purpose_documented",
      "statement_a": "Applebot crawls content for Apple search results and for training Apple foundation models.",
      "statement_b": "ChatGPT-User visits web pages for user actions in ChatGPT and in Custom GPTs.",
      "claim_id_a": 13,
      "claim_id_b": 23
    },
    {
      "field": "respects_robots_txt",
      "statement_a": "Applebot respects standard robots.txt directives targeted at Applebot in general search crawls.",
      "statement_b": "ChatGPT-User fetches pages in response to user actions in ChatGPT, and OpenAI states that robots.txt rules may not apply to ChatGPT-User fetches.",
      "claim_id_a": 9,
      "claim_id_b": 19
    },
    {
      "field": "separate_search_and_training_tokens",
      "statement_a": "Apple uses one crawler token, Applebot, for search crawling and for training crawling, and a second robots.txt token, Applebot-Extended, that opts content out of training use.",
      "statement_b": "OpenAI does not document ChatGPT-User as a search or training opt-out token.",
      "claim_id_a": 14,
      "claim_id_b": 24
    },
    {
      "field": "user_agent_string_full",
      "statement_a": "Applebot sends the desktop user agent string Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot).",
      "statement_b": "ChatGPT-User sends the user agent string Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot.",
      "claim_id_a": 17,
      "claim_id_b": 27
    },
    {
      "field": "verifiable_by_rdns",
      "statement_a": "Applebot traffic is verifiable by reverse DNS lookup in the applebot.apple.com domain.",
      "statement_b": "OpenAI does not publish a reverse-DNS verification method for ChatGPT-User.",
      "claim_id_a": 12,
      "claim_id_b": 22
    }
  ],
  "sources": [
    "https://developers.openai.com/api/docs/bots",
    "https://openai.com/chatgpt-user.json",
    "https://rattlesnakesbymail.com/observed/applebot",
    "https://search.developer.apple.com/applebot.json",
    "https://support.apple.com/en-us/119829"
  ]
}