{
 "events": [],
 "held_value": {
  "active": false,
  "main_answer": false,
  "questions": [],
  "rule": "If a check does not record a value, the page keeps the last confirmed value for a short time, marked with its date; after that the value is shown as unknown."
 },
 "history": [
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-09-28",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-09-28T14:15:13.971Z",
   "measurement_id": "0e41334ea289cb3c"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-09-28",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-09-28T14:45:04.947Z",
   "measurement_id": "1d60cf5a5accd135"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-09-28",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-09-28T17:59:19.509Z",
   "measurement_id": "bf9e75f3a75f9465"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-09-28",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-09-28T18:41:55.236Z",
   "measurement_id": "07ba0b56a415d368"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-09-29",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-09-29T01:24:05.352Z",
   "measurement_id": "db86db5d80fc7aaf"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-09-30",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-09-30T01:24:06.615Z",
   "measurement_id": "0a8914e74237522e"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-01",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-01T01:20:41.350Z",
   "measurement_id": "1e67b9d2b650ec28"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-02",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-02T01:20:45.587Z",
   "measurement_id": "63d51166bc07b803"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-03",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-03T01:22:22.705Z",
   "measurement_id": "00b6e69bda6c0879"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-04",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-04T01:19:33.367Z",
   "measurement_id": "88e662caa0dd31b3"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-05",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-05T01:21:02.117Z",
   "measurement_id": "67a0188479f3c3ef"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-06",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-06T01:19:53.134Z",
   "measurement_id": "2743f0deaac223dc"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-07",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-07T01:23:42.513Z",
   "measurement_id": "c7e2b46c8ab438d5"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-08",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-08T01:20:12.643Z",
   "measurement_id": "3273e8340c113794"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-09",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-09T01:22:47.538Z",
   "measurement_id": "70781b1485332e95"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-10",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-10T01:22:00.325Z",
   "measurement_id": "d2f391163940803f"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-11",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-11T01:22:15.351Z",
   "measurement_id": "779f251e3b7a213c"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-12",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-12T01:24:02.052Z",
   "measurement_id": "43a7ea498d8ba8d0"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-13",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-13T01:21:44.641Z",
   "measurement_id": "a32212e510841993"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-14",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-14T01:23:01.370Z",
   "measurement_id": "659ac3a625a577f4"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-15",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-15T01:25:49.576Z",
   "measurement_id": "f00e4d04e9f305f6"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-16",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-16T01:22:19.504Z",
   "measurement_id": "ce1ee078faaea3df"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-17",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-17T01:27:06.094Z",
   "measurement_id": "846a9d256f57550a"
  },
  {
   "evidence": {
    "bytes": 98,
    "http_status": 200,
    "url": "https://hub.docker.com/robots.txt"
   },
   "extra": {},
   "measured": {
    "unit": "fraction",
    "value": "0"
   },
   "data_class": "public",
   "method_version": "1",
   "object_id": "ai-bot-policy:hub.docker.com",
   "claim": {
    "date": "2026-10-18",
    "unit": "fraction",
    "source": {
     "quote": "User-agent: *\nDisallow:",
     "url": "https://hub.docker.com/robots.txt"
    },
    "text": "Declared robots.txt policy; evaluated for path /.",
    "value": null
   },
   "section": "ai-bot-policy",
   "section_version": "1",
   "repeats": 1,
   "reason": null,
   "region": "CH",
   "region_name": "Switzerland",
   "schema": "measurement",
   "schema_version": "1",
   "data_status": "measured",
   "question": "Which AI bots does Docker Hub block in robots.txt?",
   "time": "2026-10-18T01:27:19.809Z",
   "measurement_id": "21a4719d4ce46f47"
  }
 ],
 "object": {
  "extra": {},
  "name": "Docker Hub",
  "category": "service",
  "object_id": "ai-bot-policy:hub.docker.com",
  "affiliate": null,
  "section": "ai-bot-policy",
  "schema": "object",
  "schema_version": "1",
  "url": "https://hub.docker.com/"
 },
 "description": {
  "unit": "fraction",
  "name": "ai-bot-policy",
  "index": "Caliper Press AI Bot Policy Watch",
  "title_en": "AI bot access policies",
  "version": "1"
 },
 "section": "ai-bot-policy",
 "indicators": [
  {
   "unit": "days",
   "code": "days_observed",
   "n": 24,
   "window": "30d",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "21"
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 24,
   "window": "30d",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 24,
   "window": "30d",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "The first value in the window is zero, so a percentage change is undefined.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 24,
   "window": "30d",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "latest_value",
   "n": 24,
   "window": "30d",
   "description_en": "Latest usable measured value in this window",
   "reason": null,
   "data_status": "measured",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 24,
   "window": "30d",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "days",
   "code": "days_observed",
   "n": 7,
   "window": "7d",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "7"
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 7,
   "window": "7d",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 7,
   "window": "7d",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "The first value in the window is zero, so a percentage change is undefined.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 7,
   "window": "7d",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "latest_value",
   "n": 7,
   "window": "7d",
   "description_en": "Latest usable measured value in this window",
   "reason": null,
   "data_status": "measured",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 7,
   "window": "7d",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "days",
   "code": "days_observed",
   "n": 24,
   "window": "90d",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "21"
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 24,
   "window": "90d",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 24,
   "window": "90d",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "The first value in the window is zero, so a percentage change is undefined.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 24,
   "window": "90d",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "latest_value",
   "n": 24,
   "window": "90d",
   "description_en": "Latest usable measured value in this window",
   "reason": null,
   "data_status": "measured",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 24,
   "window": "90d",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "days",
   "code": "days_observed",
   "n": 24,
   "window": "all",
   "description_en": "Distinct dates with usable observations within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "21"
  },
  {
   "unit": "fraction",
   "code": "share_measured",
   "n": 24,
   "window": "all",
   "description_en": "Share of checks in this window that recorded a value",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  },
  {
   "unit": "percent",
   "code": "drift_percent",
   "n": 24,
   "window": "all",
   "description_en": "Percentage change from the first usable value to the last within this window",
   "reason": "The first value in the window is zero, so a percentage change is undefined.",
   "data_status": "unknown",
   "value": null
  },
  {
   "unit": "count",
   "code": "changes_in_window",
   "n": 24,
   "window": "all",
   "description_en": "Detected fact changes whose later observation falls within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "latest_value",
   "n": 24,
   "window": "all",
   "description_en": "Latest usable measured value in this window",
   "reason": null,
   "data_status": "measured",
   "value": "0"
  },
  {
   "unit": "fraction",
   "code": "stability",
   "n": 24,
   "window": "all",
   "description_en": "Fraction of adjacent usable observation pairs with unchanged values within this window",
   "reason": null,
   "data_status": "calculated",
   "value": "1"
  }
 ],
 "latest": {
  "evidence": {
   "bytes": 98,
   "http_status": 200,
   "url": "https://hub.docker.com/robots.txt"
  },
  "extra": {},
  "measured": {
   "unit": "fraction",
   "value": "0"
  },
  "data_class": "public",
  "method_version": "1",
  "object_id": "ai-bot-policy:hub.docker.com",
  "claim": {
   "date": "2026-10-18",
   "unit": "fraction",
   "source": {
    "quote": "User-agent: *\nDisallow:",
    "url": "https://hub.docker.com/robots.txt"
   },
   "text": "Declared robots.txt policy; evaluated for path /.",
   "value": null
  },
  "section": "ai-bot-policy",
  "section_version": "1",
  "repeats": 1,
  "reason": null,
  "region": "CH",
  "region_name": "Switzerland",
  "schema": "measurement",
  "schema_version": "1",
  "data_status": "measured",
  "question": "Which AI bots does Docker Hub block in robots.txt?",
  "time": "2026-10-18T01:27:19.809Z",
  "measurement_id": "21a4719d4ce46f47"
 },
 "quarantine": {
  "active": false,
  "held": [],
  "main_answer": false,
  "rule": "A very large price move is shown only after checks on two different dates return the same price; until then the page shows the previous value."
 },
 "raw_journal": [],
 "generated_at": "2026-10-18T12:07:44.880Z",
 "schema": "object_slice",
 "schema_version": "1"
}