{
  "entity_a": {
    "slug": "chatgpt-user",
    "name": "ChatGPT-User"
  },
  "entity_b": {
    "slug": "claude-user",
    "name": "Claude-User"
  },
  "fields_documented": 10,
  "claims": 19,
  "last_verified": "2026-09-13",
  "fields": [
    {
      "field": "cites_sources",
      "value_a": "not_documented",
      "value_b": "not_documented",
      "claim_id_a": 25,
      "claim_id_b": 44,
      "same": true
    },
    {
      "field": "honours_crawl_delay",
      "value_a": "not_documented",
      "value_b": "yes",
      "claim_id_a": 20,
      "claim_id_b": 39,
      "same": false
    },
    {
      "field": "publishes_ip_list",
      "value_a": "yes",
      "value_b": "yes",
      "claim_id_a": 21,
      "claim_id_b": 40,
      "same": true
    },
    {
      "field": "purpose_documented",
      "value_a": "user_fetch",
      "value_b": "user_fetch",
      "claim_id_a": 23,
      "claim_id_b": 42,
      "same": true
    },
    {
      "field": "reads_llms_txt",
      "value_a": "not_documented",
      "value_b": "not_documented",
      "claim_id_a": 26,
      "claim_id_b": 45,
      "same": true
    },
    {
      "field": "respects_robots_txt",
      "value_a": "partial",
      "value_b": "yes",
      "claim_id_a": 19,
      "claim_id_b": 37,
      "same": false
    },
    {
      "field": "separate_search_and_training_tokens",
      "value_a": "not_documented",
      "value_b": "not_documented",
      "claim_id_a": 24,
      "claim_id_b": 43,
      "same": true
    },
    {
      "field": "user_agent_string_full",
      "value_a": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
      "value_b": "not_documented",
      "claim_id_a": 27,
      "claim_id_b": 46,
      "same": false
    },
    {
      "field": "user_fetch_exception_documented",
      "value_a": null,
      "value_b": "no",
      "claim_id_a": null,
      "claim_id_b": 38,
      "same": false
    },
    {
      "field": "verifiable_by_rdns",
      "value_a": "not_documented",
      "value_b": "not_documented",
      "claim_id_a": 22,
      "claim_id_b": 41,
      "same": true
    }
  ],
  "differences": [
    {
      "field": "honours_crawl_delay",
      "statement_a": "OpenAI does not publish whether ChatGPT-User honours the robots.txt Crawl-delay directive.",
      "statement_b": "Claude-User respects the Crawl-delay directive in robots.txt when fetching pages.",
      "claim_id_a": 20,
      "claim_id_b": 39
    },
    {
      "field": "respects_robots_txt",
      "statement_a": "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.",
      "statement_b": "Claude-User honours industry standard robots.txt directives that signal do not crawl.",
      "claim_id_a": 19,
      "claim_id_b": 37
    },
    {
      "field": "user_agent_string_full",
      "statement_a": "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.",
      "statement_b": "Anthropic does not publish a full user agent string for Claude-User.",
      "claim_id_a": 27,
      "claim_id_b": 46
    },
    {
      "field": "user_fetch_exception_documented",
      "statement_a": null,
      "statement_b": "Anthropic applies the same robots.txt statement to Claude-User as to ClaudeBot and Claude-SearchBot and documents no exception for user-initiated fetches.",
      "claim_id_a": null,
      "claim_id_b": 38
    }
  ],
  "sources": [
    "https://claude.com/crawling/bots.json",
    "https://developers.openai.com/api/docs/bots",
    "https://openai.com/chatgpt-user.json",
    "https://support.claude.com/en/articles/8896518-does-anthropic-crawl-content-from-the-web-and-how-can-site-owners-block-the-crawler"
  ]
}