{
  "schema_version": "2.0",
  "component": 2,
  "run_id": "2e517903",
  "generated_at": "2026-03-31T16:53:55.906318+00:00",
  "metadata": {
    "target_url": "https://sfchronicle.com",
    "test_date": "2026-03-31",
    "cmp_detected": "Unknown / Not detected",
    "total_requests_analysed": 960,
    "phases_detected": [
      "pre_consent"
    ],
    "anthropic_ai_enabled": true,
    "runner_errors": [],
    "log_warnings": 16,
    "log_errors": 0,
    "analysis_mode": "gdpr",
    "analysis_framework": "ePrivacy/GDPR (EU)",
    "probe_location": {
      "ip": "208.77.244.106",
      "city": "Amsterdam",
      "region": "North Holland",
      "country": "The Netherlands",
      "country_code": "NL",
      "org": "Railway",
      "latitude": 52.37403,
      "longitude": 4.88969
    },
    "bot_blocked": false,
    "bot_blocker_name": ""
  },
  "cmp_interaction": {
    "mode": "gdpr",
    "banner_detected": false,
    "accept_button_text": "",
    "reject_button_text": "",
    "accept_clicks": 0,
    "reject_clicks": 0,
    "reject_at_first_screen": false,
    "reject_requires_manage_panel": true
  },
  "screenshots": {
    "pre_consent": "iVBORw0KGgoAAAANSUhEUgAABQAAAAMgCAIAAADz+lisAAAAAXNSR0IArs4c6QAAFB1JREFUeJzt3W1SE1kAhtEhgUS+RkEpnP0vbhRFQQHphKRnE1PcKp5zVvD+SvWTvsk9mOf5LwAAAHjrFqMHAAAAwGsQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkHA4egBQN8/z3a+H52maNtvdbj96DgD/v+VysV4dvVuvL96fj94CpB3M8zx6A9D18Ph0c3v38eLvo6Oj9epouXAsBeAN2u3307Tdbrfff95ff7o8Oz0evQiIEsDAML8fn57+PF9/uhw9BIDX8++327OT4/PTk9FDgCIvW4AxHh6fHp8m9QtQ88/Vx8enPw9Pf0YPAYoEMDDAPM83t3efry5GDwFggM9XH79++zF6BVDkCDQwwM/7XwcHiw9/n40eAsAYd78f5v3sP7GAV+YNMDDA87RZrY5GrwBgmNXh4fO0Gb0CyBHAwADTZrsWwABh6/Vq2ghg4LUJYGCA3W7vxiOAsuVi4e534PV5AAUAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAwwHK52O33o1cAMMxut18uPYgCr83nDjDAenU0TdvRKwAYZtps1qvV6BVAjgAGBni3Xm9fXkavAGCYzfblnQAGXp0ABga4eH/+/cfd6BUADHP78/7iw/noFUCOAAbGuP50+eXmdvQKAAb4cnN7fXU5egVQJICBMc5Oj09PT75808AALV9ubs9PT85OjkcPAYoO5nkevQHoenj68/Xbj4+X71eHh+v1arnwrRzAG7Tb7afNZrN9uf15f311qX6BUQQwMN6P+9/TtJk2m93O3UgAb9ByuVivVu/Wq4v3fvcLjCSAAQAASHDaEAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACf8BbpK3HKRXrf0AAAAASUVORK5CYII=",
    "post_accept": "iVBORw0KGgoAAAANSUhEUgAABQAAAAMgCAIAAADz+lisAAAAAXNSR0IArs4c6QAAFB1JREFUeJzt3W1SE1kAhtEhgUS+RkEpnP0vbhRFQQHphKRnE1PcKp5zVvD+SvWTvsk9mOf5LwAAAHjrFqMHAAAAwGsQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkHA4egBQN8/z3a+H52maNtvdbj96DgD/v+VysV4dvVuvL96fj94CpB3M8zx6A9D18Ph0c3v38eLvo6Oj9epouXAsBeAN2u3307Tdbrfff95ff7o8Oz0evQiIEsDAML8fn57+PF9/uhw9BIDX8++327OT4/PTk9FDgCIvW4AxHh6fHp8m9QtQ88/Vx8enPw9Pf0YPAYoEMDDAPM83t3efry5GDwFggM9XH79++zF6BVDkCDQwwM/7XwcHiw9/n40eAsAYd78f5v3sP7GAV+YNMDDA87RZrY5GrwBgmNXh4fO0Gb0CyBHAwADTZrsWwABh6/Vq2ghg4LUJYGCA3W7vxiOAsuVi4e534PV5AAUAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAwwHK52O33o1cAMMxut18uPYgCr83nDjDAenU0TdvRKwAYZtps1qvV6BVAjgAGBni3Xm9fXkavAGCYzfblnQAGXp0ABga4eH/+/cfd6BUADHP78/7iw/noFUCOAAbGuP50+eXmdvQKAAb4cnN7fXU5egVQJICBMc5Oj09PT75808AALV9ubs9PT85OjkcPAYoO5nkevQHoenj68/Xbj4+X71eHh+v1arnwrRzAG7Tb7afNZrN9uf15f311qX6BUQQwMN6P+9/TtJk2m93O3UgAb9ByuVivVu/Wq4v3fvcLjCSAAQAASHDaEAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACf8BbpK3HKRXrf0AAAAASUVORK5CYII=",
    "post_reject": "iVBORw0KGgoAAAANSUhEUgAABQAAAAMgCAIAAADz+lisAAAAAXNSR0IArs4c6QAAFB1JREFUeJzt3W1SE1kAhtEhgUS+RkEpnP0vbhRFQQHphKRnE1PcKp5zVvD+SvWTvsk9mOf5LwAAAHjrFqMHAAAAwGsQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkHA4egBQN8/z3a+H52maNtvdbj96DgD/v+VysV4dvVuvL96fj94CpB3M8zx6A9D18Ph0c3v38eLvo6Oj9epouXAsBeAN2u3307Tdbrfff95ff7o8Oz0evQiIEsDAML8fn57+PF9/uhw9BIDX8++327OT4/PTk9FDgCIvW4AxHh6fHp8m9QtQ88/Vx8enPw9Pf0YPAYoEMDDAPM83t3efry5GDwFggM9XH79++zF6BVDkCDQwwM/7XwcHiw9/n40eAsAYd78f5v3sP7GAV+YNMDDA87RZrY5GrwBgmNXh4fO0Gb0CyBHAwADTZrsWwABh6/Vq2ghg4LUJYGCA3W7vxiOAsuVi4e534PV5AAUAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAwwHK52O33o1cAMMxut18uPYgCr83nDjDAenU0TdvRKwAYZtps1qvV6BVAjgAGBni3Xm9fXkavAGCYzfblnQAGXp0ABga4eH/+/cfd6BUADHP78/7iw/noFUCOAAbGuP50+eXmdvQKAAb4cnN7fXU5egVQJICBMc5Oj09PT75808AALV9ubs9PT85OjkcPAYoO5nkevQHoenj68/Xbj4+X71eHh+v1arnwrRzAG7Tb7afNZrN9uf15f311qX6BUQQwMN6P+9/TtJk2m93O3UgAb9ByuVivVu/Wq4v3fvcLjCSAAQAASHDaEAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACQIYAACABAEMAABAggAGAAAgQQADAACQIIABAABIEMAAAAAkCGAAAAASBDAAAAAJAhgAAIAEAQwAAECCAAYAACBBAAMAAJAggAEAAEgQwAAAACQIYAAAABIEMAAAAAkCGAAAgAQBDAAAQIIABgAAIEEAAwAAkCCAAQAASBDAAAAAJAhgAAAAEgQwAAAACf8BbpK3HKRXrf0AAAAASUVORK5CYII="
  },
  "checklist": [
    {
      "item_id": "B.1",
      "section": "B. Pre-Consent State",
      "description": "No tracking requests before consent banner interaction",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No consent-required domains observed before the consent signal.",
      "recommendation": ""
    },
    {
      "item_id": "B.2",
      "section": "B. Pre-Consent State",
      "description": "No analytics/marketing cookies in Storage pre-consent",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No advertising cookies found in Storage before consent.",
      "recommendation": ""
    },
    {
      "item_id": "B.3",
      "section": "B. Pre-Consent State",
      "description": "JS tracker globals return undefined pre-consent",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "All probed tracker globals are undefined pre-consent.",
      "recommendation": ""
    },
    {
      "item_id": "B.4",
      "section": "B. Pre-Consent State",
      "description": "No tracking identifiers in localStorage/sessionStorage pre-consent",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No tracking keys found in web storage pre-consent.",
      "recommendation": ""
    },
    {
      "item_id": "B.5",
      "section": "B. Pre-Consent State",
      "description": "Non-essential scripts have type=text/plain (CMP-blocked) in DOM",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "All tracking scripts in DOM appear to be CMP-blocked (type=text/plain) or absent.",
      "recommendation": ""
    },
    {
      "item_id": "C.2",
      "section": "C. Baseline Capture",
      "description": "Third-party domains active after Accept All",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No post-accept phase detected. Was 'Accept All' clicked during recording?",
      "recommendation": ""
    },
    {
      "item_id": "C.3",
      "section": "C. Baseline Capture",
      "description": "Full cookie inventory (with expiry, HttpOnly, Secure, SameSite) after Accept All",
      "har_coverage": "FULL",
      "result": "INFO",
      "evidence": [
        {
          "name": "location_data",
          "domain": "www.sfchronicle.com",
          "expires_days": "session",
          "http_only": false,
          "secure": true,
          "same_site": "Strict",
          "classification": "UNKNOWN"
        },
        {
          "name": "hnpdiudpf1",
          "domain": ".sfchronicle.com",
          "expires_days": 365.0,
          "http_only": true,
          "secure": true,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        },
        {
          "name": "hnpdiudpf2",
          "domain": ".sfchronicle.com",
          "expires_days": "session",
          "http_only": false,
          "secure": true,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        },
        {
          "name": "ab_bucket",
          "domain": "www.sfchronicle.com",
          "expires_days": 365.0,
          "http_only": false,
          "secure": true,
          "same_site": "None",
          "classification": "UNKNOWN"
        },
        {
          "name": "_fs_ch_cp_79UUvfpJ5mWYtLQv",
          "domain": "www.sfchronicle.com",
          "expires_days": 0.0,
          "http_only": true,
          "secure": false,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        },
        {
          "name": "_fs_ch_st_FSBmUei20MqUiJb9",
          "domain": "www.sfchronicle.com",
          "expires_days": 0.0,
          "http_only": true,
          "secure": false,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        }
      ],
      "notes": "6 cookies in storage after Accept All (full metadata).",
      "recommendation": ""
    },
    {
      "item_id": "C.4",
      "section": "C. Baseline Capture",
      "description": "Tracker JS globals active after Accept All (baseline)",
      "har_coverage": "FULL",
      "result": "INFO",
      "evidence": [],
      "notes": "Globals defined after consent: []",
      "recommendation": ""
    },
    {
      "item_id": "D.4",
      "section": "D. Decline Non-Essential Consent",
      "description": "Reject requires no more clicks than Accept (EDPB symmetry)",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [
        {
          "accept_clicks": 1,
          "reject_clicks": 1,
          "extra_clicks_to_reject": 0,
          "reject_required_manage_panel": true
        }
      ],
      "notes": "Accept and Reject both require 1 click(s). Symmetric.",
      "recommendation": ""
    },
    {
      "item_id": "E.1",
      "section": "E. Network Request Verification",
      "description": "Network requests after reject-all",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No post-reject phase detected in this HAR.",
      "recommendation": ""
    },
    {
      "item_id": "E.2",
      "section": "E. Network Request Verification",
      "description": "Network requests after reject-all",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No post-reject phase detected in this HAR.",
      "recommendation": ""
    },
    {
      "item_id": "E.3",
      "section": "E. Network Request Verification",
      "description": "Network requests after reject-all",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No post-reject phase detected in this HAR.",
      "recommendation": ""
    },
    {
      "item_id": "E.4",
      "section": "E. Network Request Verification",
      "description": "No tracking on subsequent pages after reject",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No subpages captured.",
      "recommendation": ""
    },
    {
      "item_id": "F.1",
      "section": "F. Cookie Verification (Third-Party)",
      "description": "No non-essential cookies after reject-all",
      "har_coverage": "PARTIAL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No post-reject phase detected.",
      "recommendation": ""
    },
    {
      "item_id": "F.2",
      "section": "F. Cookie Verification (Third-Party)",
      "description": "document.cookie contains only essential cookies post-reject",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [
        {
          "doc_cookie_snippet": "location_data={\"is_eu\":true,\"country_code\":\"NL\",\"postal_code\":\"1\"}; hnpdiudpf2=fiqe0KH5kJz7AFEcZYKNIZKfrXjTadVxpt9zGg4FgPo=; ab_bucket=48"
        }
      ],
      "notes": "No advertising cookies visible in document.cookie post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "F.3",
      "section": "F. Cookie Verification (Third-Party)",
      "description": "No tracking identifiers in web storage post-reject",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No tracking identifiers found in localStorage/sessionStorage post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "G.1",
      "section": "G. First-Party Cookie Classification",
      "description": "Complete first-party cookie inventory with full metadata",
      "har_coverage": "FULL",
      "result": "INFO",
      "evidence": [
        {
          "name": "location_data",
          "domain": "www.sfchronicle.com",
          "expires_days": "session",
          "http_only": false,
          "secure": true,
          "same_site": "Strict",
          "classification": "UNKNOWN"
        },
        {
          "name": "hnpdiudpf1",
          "domain": ".sfchronicle.com",
          "expires_days": 365.0,
          "http_only": true,
          "secure": true,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        },
        {
          "name": "hnpdiudpf2",
          "domain": ".sfchronicle.com",
          "expires_days": "session",
          "http_only": false,
          "secure": true,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        },
        {
          "name": "ab_bucket",
          "domain": "www.sfchronicle.com",
          "expires_days": 365.0,
          "http_only": false,
          "secure": true,
          "same_site": "None",
          "classification": "UNKNOWN"
        },
        {
          "name": "_fs_ch_cp_79UUvfpJ5mWYtLQv",
          "domain": "www.sfchronicle.com",
          "expires_days": 0.0,
          "http_only": true,
          "secure": false,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        },
        {
          "name": "_fs_ch_st_FSBmUei20MqUiJb9",
          "domain": "www.sfchronicle.com",
          "expires_days": 0.0,
          "http_only": true,
          "secure": false,
          "same_site": "Lax",
          "classification": "UNKNOWN"
        }
      ],
      "notes": "6 first-party cookies in Storage after Accept All.",
      "recommendation": ""
    },
    {
      "item_id": "G.2",
      "section": "G. First-Party Cookie Classification",
      "description": "All observed cookies declared in cookie policy",
      "har_coverage": "FULL",
      "result": "FAIL",
      "evidence": [
        {
          "cookie_name": "hnpdiudpf1",
          "status": "observed but not in cookie policy"
        },
        {
          "cookie_name": "ab_bucket",
          "status": "observed but not in cookie policy"
        },
        {
          "cookie_name": "hnpdiudpf2",
          "status": "observed but not in cookie policy"
        },
        {
          "cookie_name": "_fs_ch_cp_79UUvfpJ5mWYtLQv",
          "status": "observed but not in cookie policy"
        },
        {
          "cookie_name": "location_data",
          "status": "observed but not in cookie policy"
        },
        {
          "cookie_name": "_fs_ch_st_FSBmUei20MqUiJb9",
          "status": "observed but not in cookie policy"
        }
      ],
      "notes": "6 cookie(s) observed but not found in cookie policy at https://sfchronicle.com/cookies.",
      "recommendation": ""
    },
    {
      "item_id": "G.3",
      "section": "G. First-Party Cookie Classification",
      "description": "Strictly necessary two-part test (AI-assisted)",
      "har_coverage": "FULL",
      "result": "FAIL",
      "evidence": [
        {
          "cookie_name": "hnpdiudpf1",
          "declared": false,
          "category": "unknown",
          "strictly_necessary_test": "unclear",
          "should_be_absent_post_reject": true,
          "notes": "Cookie not declared in policy. Name suggests it could be a session identifier or tracking cookie, but purpose is unclear without declaration."
        },
        {
          "cookie_name": "ab_bucket",
          "declared": false,
          "category": "analytics",
          "strictly_necessary_test": "not_exempt",
          "should_be_absent_post_reject": true,
          "notes": "Appears to be an A/B testing bucket assignment cookie. Not declared in policy. A/B testing is not essential for basic service functionality."
        },
        {
          "cookie_name": "hnpdiudpf2",
          "declared": false,
          "category": "unknown",
          "strictly_necessary_test": "unclear",
          "should_be_absent_post_reject": true,
          "notes": "Cookie not declared in policy. Similar naming pattern to hnpdiudpf1, purpose unclear without declaration."
        },
        {
          "cookie_name": "_fs_ch_cp_79UUvfpJ5mWYtLQv",
          "declared": false,
          "category": "analytics",
          "strictly_necessary_test": "not_exempt",
          "should_be_absent_post_reject": true,
          "notes": "Appears to be a FullStory (fs) analytics/session recording cookie. Not declared in policy. Analytics cookies are not strictly necessary."
        },
        {
          "cookie_name": "location_data",
          "declared": false,
          "category": "functional",
          "strictly_necessary_test": "unclear",
          "should_be_absent_post_reject": true,
          "notes": "Appears to store location information. Not declared in policy. Could be functional if location is essential for the service, but typically requires consent."
        },
        {
          "cookie_name": "_fs_ch_st_FSBmUei20MqUiJb9",
          "declared": false,
          "category": "analytics",
          "strictly_necessary_test": "not_exempt",
          "should_be_absent_post_reject": true,
          "notes": "Another FullStory analytics/session recording cookie. Not declared in policy. Analytics cookies are not strictly necessary."
        }
      ],
      "notes": "AI analysis: 3 cookie(s) fail the strictly-necessary test and should be absent after reject-all. Summary: Major GDPR compliance issues identified: All 6 observed cookies are not declared in the cookie policy, which only mentions 'event' and 'script' cookies. Multiple FullStory analytics cookies are present without declaration. The cookie policy appears incomplete or the provided text doesn't contain the actual policy content. All cookies should be absent if user rejected consent, as none appear to be strictly necessary for basic website functionality.",
      "recommendation": "Cookies that fail the strictly necessary two-part test (ePrivacy Art. 5(3)) must be gated behind consent and absent after a reject-all signal."
    },
    {
      "item_id": "G.4",
      "section": "G. First-Party Cookie Classification",
      "description": "Server-side analytics/ad cookies identified in Set-Cookie headers",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No advertising cookies observed in Set-Cookie response headers.",
      "recommendation": ""
    },
    {
      "item_id": "G.5",
      "section": "G. First-Party Cookie Classification",
      "description": "CNAME cloaking check (subdomains observed \u2014 DNS resolution requires Component 2)",
      "har_coverage": "PARTIAL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "Found 0 first-party subdomains. Run 'dig CNAME <subdomain>' against each to check for third-party infrastructure. Full automation available in Component 2.",
      "recommendation": ""
    },
    {
      "item_id": "G.6",
      "section": "G. First-Party Cookie Classification",
      "description": "Non-essential first-party cookies absent after reject-all",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "All advertising cookies absent from Storage post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "G.9",
      "section": "G. First-Party Cookie Classification",
      "description": "No tracking keys in first-party localStorage/sessionStorage post-reject",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No tracking identifiers found in first-party web storage post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "H.1",
      "section": "H. JS Global Object Verification",
      "description": "Tracker JS globals (ga, gtag, fbq, hj, etc.) return undefined post-reject",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "All tracker globals return undefined post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "H.2",
      "section": "H. JS Global Object Verification",
      "description": "Tracker globals not merely defined without values",
      "har_coverage": "FULL",
      "result": "INFO",
      "evidence": [],
      "notes": "See H.1 \u2014 same evidence applies.",
      "recommendation": ""
    },
    {
      "item_id": "H.3",
      "section": "H. JS Global Object Verification",
      "description": "window.dataLayer absent or contains no tracking events post-reject",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "dataLayer not present post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "I.1",
      "section": "I. DOM / Source Inspection",
      "description": "Tracker script tags have type=text/plain (CMP-blocked) in DOM post-reject",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "All 0 tracker scripts correctly blocked in DOM post-reject.",
      "recommendation": ""
    },
    {
      "item_id": "I.2",
      "section": "I. DOM / Source Inspection",
      "description": "Non-essential scripts blocked (type=text/plain)",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "See I.1 \u2014 same check.",
      "recommendation": ""
    },
    {
      "item_id": "I.3",
      "section": "I. DOM / Source Inspection",
      "description": "No tracker JS files in executed sources post-reject",
      "har_coverage": "PARTIAL",
      "result": "PASS",
      "evidence": [],
      "notes": "Based on DOM script inventory; full Sources tab verification requires Chrome DevTools protocol introspection (beyond current scope).",
      "recommendation": ""
    },
    {
      "item_id": "J.1",
      "section": "J. Safari-Specific Considerations",
      "description": "ITP setting",
      "har_coverage": "NOT_COVERED",
      "result": "MANUAL",
      "evidence": [],
      "notes": "Requires manual browser configuration check.",
      "recommendation": ""
    },
    {
      "item_id": "J.2",
      "section": "J. Safari-Specific Considerations",
      "description": "ITP-off re-test",
      "har_coverage": "NOT_COVERED",
      "result": "MANUAL",
      "evidence": [],
      "notes": "Requires manual browser configuration check.",
      "recommendation": ""
    },
    {
      "item_id": "J.3",
      "section": "J. Safari-Specific Considerations",
      "description": "Server-side cookie-setting identified where ITP would block client-side",
      "har_coverage": "PARTIAL",
      "result": "PASS",
      "evidence": [],
      "notes": "No obvious ITP-bypass server-side cookies detected.",
      "recommendation": ""
    },
    {
      "item_id": "K.1",
      "section": "K. Consent Mechanism UX Compliance",
      "description": "Reject All at same prominence and level as Accept All",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [
        {
          "accept_visible_at_first_screen": false,
          "reject_visible_at_first_screen": false,
          "reject_requires_extra_layer": true,
          "accept_button_text": "",
          "reject_button_text": ""
        }
      ],
      "notes": "Could not determine button prominence.",
      "recommendation": ""
    },
    {
      "item_id": "K.2",
      "section": "K. Consent Mechanism UX Compliance",
      "description": "Non-essential categories default to OFF",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "Could not open preferences panel to check toggles.",
      "recommendation": ""
    },
    {
      "item_id": "K.3",
      "section": "K. Consent Mechanism UX Compliance",
      "description": "No dark patterns in consent banner (colour, visual hierarchy)",
      "har_coverage": "PARTIAL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "DOM-level button detection completed. Full visual assessment of colour contrast, typography prominence, and deceptive visual hierarchy requires screenshot review. See screenshots in report.",
      "recommendation": ""
    },
    {
      "item_id": "K.5",
      "section": "K. Consent Mechanism UX Compliance",
      "description": "Persistent consent withdrawal mechanism accessible after interaction",
      "har_coverage": "FULL",
      "result": "FAIL",
      "evidence": [
        {
          "found": false,
          "text": "",
          "in_iframe": false
        }
      ],
      "notes": "No persistent consent widget found. Users cannot easily withdraw consent.",
      "recommendation": "Provide a persistent mechanism for users to re-open consent preferences (floating privacy icon, footer link, or settings page). GDPR Art. 7(3) requires withdrawal to be as easy as giving consent."
    },
    {
      "item_id": "K.6",
      "section": "K. Consent Mechanism UX Compliance",
      "description": "Site fully accessible after declining consent (no cookie wall)",
      "har_coverage": "FULL",
      "result": "FAIL",
      "evidence": [
        {
          "accessible": false
        }
      ],
      "notes": "Site content may be blocked after declining \u2014 possible cookie wall.",
      "recommendation": "Conditioning access to content on consent acceptance (cookie walls) is incompatible with freely given consent under GDPR Art. 7 and EDPB Guidelines 05/2020 \u00a73.1.1."
    },
    {
      "item_id": "L.2",
      "section": "L. Consent State Persistence",
      "description": "Consent choice respected on second tab (same session)",
      "har_coverage": "FULL",
      "result": "FAIL",
      "evidence": [
        {
          "consent_cookie_found": false,
          "ad_cookies_found": false,
          "tcf_available": false,
          "tcf_display_status": null
        }
      ],
      "notes": "Consent preference correctly persisted to second tab.",
      "recommendation": ""
    },
    {
      "item_id": "L.3",
      "section": "L. Consent State Persistence",
      "description": "Declined state maintained after closing and reopening (simulate new session)",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [
        {
          "ad_cookies_on_return": false,
          "total_cookies": 6
        }
      ],
      "notes": "No advertising cookies found on simulated return visit.",
      "recommendation": ""
    },
    {
      "item_id": "ADD.1",
      "section": "Additional Findings",
      "description": "Persistent identifier bridging across consent states",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No persistent cross-phase identifiers detected in POST bodies.",
      "recommendation": ""
    },
    {
      "item_id": "ADD.2",
      "section": "Additional Findings",
      "description": "TCF consent string analysis (all phases)",
      "har_coverage": "FULL",
      "result": "INFO",
      "evidence": [],
      "notes": "No TCF consent strings detected in query parameters.",
      "recommendation": ""
    },
    {
      "item_id": "ADD.3",
      "section": "Additional Findings",
      "description": "Session ID bridging across consent and rejection phases",
      "har_coverage": "FULL",
      "result": "PASS",
      "evidence": [],
      "notes": "No session ID bridging detected across consent states.",
      "recommendation": ""
    },
    {
      "item_id": "ADD.4",
      "section": "Additional Findings",
      "description": "Vendor userId transmission post-reject",
      "har_coverage": "FULL",
      "result": "MANUAL",
      "evidence": [],
      "notes": "No post-reject phase detected.",
      "recommendation": ""
    },
    {
      "item_id": "META",
      "section": "Test Details",
      "description": "Site URL, test date, CMP platform",
      "har_coverage": "FULL",
      "result": "INFO",
      "evidence": [
        {
          "url": "Client Challenge",
          "test_date": "2026-03-31",
          "test_time_utc": "2026-03-31T16:48:26",
          "cmp_detected": "Unknown / Not detected",
          "total_requests": 960,
          "phases_detected": [
            "pre_consent"
          ],
          "phase_strategy": {
            "accept": "not_detected",
            "reject": "not_detected"
          }
        }
      ],
      "notes": "CMP identified as: Unknown / Not detected",
      "recommendation": ""
    }
  ],
  "summary": {
    "overall": "FAIL",
    "fail_count": 5,
    "pass_count": 21,
    "manual_count": 12,
    "info_count": 6,
    "fail_items": [
      "G.2",
      "G.3",
      "K.5",
      "K.6",
      "L.2"
    ],
    "section_M_table": {
      "pre_consent_clean": "PASS",
      "no_tracking_cookies_pre_consent": "PASS",
      "tracker_globals_undefined": "PASS",
      "no_tracking_storage_pre_consent": "PASS",
      "network_blocked_after_decline": "MANUAL",
      "third_party_cookies_absent": "MANUAL",
      "doc_cookie_clean_post_reject": "PASS",
      "web_storage_clean_post_reject": "PASS",
      "first_party_cookies_classified": "INFO",
      "server_side_cookies_gated": "NOT_RUN",
      "no_cname_cloaking": "MANUAL",
      "tracker_globals_absent": "PASS",
      "dom_scripts_blocked": "PASS",
      "reject_equals_accept_clicks": "PASS",
      "no_preticked_boxes": "MANUAL",
      "persistent_withdrawal_widget": "FAIL",
      "no_cookie_wall": "FAIL",
      "consent_persists": "PASS"
    }
  }
}