{
  "schema": "smartadvisor-lab-route-report",
  "schema_version": "1.0",
  "generated_at": "2026-07-05T15:06:55Z",
  "region_id": "es",
  "region_name": "Spain",
  "latest_run": {
    "run_id": "8d2c798eabc51021aa3fa297",
    "region": "es",
    "checked_at": "2026-07-05T15:06:50Z",
    "ts": 1783264010,
    "exit_ip": "159.26.107.90",
    "provider": "Proton VPN",
    "protocol": "WireGuard",
    "config": "proton-es-a.conf",
    "peer": "DY16h7yF372qe8u4YAYD+LCcln79Mteu2skOX2Z07yw=",
    "endpoint": "DY16h7yF372qe8u4YAYD+LCcln79Mteu2skOX2Z07yw=\t79.127.139.158:51820",
    "evidence_level": "full"
  },
  "latest_platform_checks": [
    {
      "platform_id": "apple_tv_plus",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 540,
      "checked_at": "2026-07-05T15:06:45Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "bbc_iplayer",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 565,
      "checked_at": "2026-07-05T15:06:42Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "channel_4",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 361,
      "checked_at": "2026-07-05T15:06:49Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "crunchyroll",
      "status": "blocked",
      "http_code": 403,
      "latency_ms": 124,
      "checked_at": "2026-07-05T15:06:49Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "dazn",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 703,
      "checked_at": "2026-07-05T15:06:48Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "disneyplus",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 557,
      "checked_at": "2026-07-05T15:06:41Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "espn_plus",
      "status": "blocked",
      "http_code": 403,
      "latency_ms": 382,
      "checked_at": "2026-07-05T15:06:47Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "fubo_tv",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 672,
      "checked_at": "2026-07-05T15:06:48Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "hulu_us",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 967,
      "checked_at": "2026-07-05T15:06:40Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "max",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 1332,
      "checked_at": "2026-07-05T15:06:44Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "netflix_us",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 6130,
      "checked_at": "2026-07-05T15:06:34Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "paramount_plus",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 657,
      "checked_at": "2026-07-05T15:06:47Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "peacock",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 592,
      "checked_at": "2026-07-05T15:06:46Z",
      "evidence_level": "full"
    },
    {
      "platform_id": "prime_video",
      "status": "ok",
      "http_code": 200,
      "latency_ms": 1709,
      "checked_at": "2026-07-05T15:06:42Z",
      "evidence_level": "full"
    }
  ],
  "latest_browser_by_platform": [],
  "latest_leak_evidence": {
    "run_id": "503b67a8be784e98a5e3fee9e4dd6b8c",
    "region": "es",
    "interface": "wg-proton-es",
    "observed_at": "2026-07-05T02:02:42Z",
    "host_public_ip": "46.224.56.53",
    "ipv4_ip": "159.26.107.90",
    "ipv4_state": "vpn_exit_observed",
    "ipv4_error": null,
    "dns_resolver_ip": "193.46.232.244",
    "dns_state": "resolver_observed",
    "dns_rtt_ms": 100.55,
    "dns_error": null,
    "ipv6_ip": null,
    "ipv6_state": "no_ipv6_result",
    "ipv6_error": "curl: (7) Failed to connect to api64.ipify.org port 443 after 10 ms: Couldn't connect to server",
    "stun_mapped_ip": "159.26.107.90",
    "stun_state": "mapped_to_vpn_exit",
    "stun_rtt_ms": 32.1,
    "stun_error": null,
    "evidence_scope": "Route-bound HTTP, DNS and UDP STUN evidence. STUN mapping is not a browser WebRTC test. No IPv6 result is not proof that every client blocks IPv6 leaks."
  },
  "latest_browser_webrtc": {
    "run_id": "86ced50ff1d74965879abd93edbed911",
    "region": "es",
    "observed_at": "2026-07-05T05:03:06Z",
    "browser_exit_ip": "159.26.107.90",
    "expected_exit_ip": "159.26.107.90",
    "public_candidate_ips": [
      "159.26.107.90"
    ],
    "candidate_count": 2,
    "state": "vpn_exit_only",
    "evidence_scope": "Chromium ICE candidates collected from a process fully routed through the regional WireGuard table. A clean server harness does not prove that every user browser or operating system has the same behaviour."
  },
  "latest_route_guard": {
    "run_id": "e949e24241ca4927a68b78b1e34a5478",
    "region": "es",
    "interface": "wg-proton-es",
    "observed_at": "2026-07-05T05:03:18Z",
    "expected_exit_ip": "159.26.107.90",
    "state": "blocked",
    "observed_ip": "",
    "elapsed_ms": 8,
    "evidence_scope": "Lab namespace route guard, not a provider application kill switch"
  },
  "open_incidents": [],
  "latest_performance": {
    "profile_id": "vpn-es",
    "region": "es",
    "checked_at": "2026-07-05T03:03:32Z",
    "exit_ip": "159.26.107.90",
    "ping_ms": 226.53,
    "jitter_ms": 60.88,
    "packet_loss_pct": 0.0,
    "download_mbps": 219.66,
    "upload_mbps": 22.63,
    "method_version": "2026-06-20.2",
    "target": "SmartAdvisor external Lab target on Hostinger, served through its CDN edge"
  },
  "latest_baseline": {
    "profile_id": "baseline",
    "region": null,
    "checked_at": "2026-07-05T03:02:39Z",
    "exit_ip": "46.224.56.53",
    "ping_ms": 171.11,
    "jitter_ms": 36.35,
    "packet_loss_pct": 0.0,
    "download_mbps": 361.42,
    "upload_mbps": 42.13,
    "method_version": "2026-06-20.2",
    "target": "SmartAdvisor external Lab target on Hostinger, served through its CDN edge"
  },
  "exit_ips_30d": [
    {
      "exit_ip": "159.26.107.90",
      "run_count": 1926,
      "first_seen": "2026-06-20T17:42:10Z",
      "last_seen": "2026-07-05T15:06:50Z"
    },
    {
      "exit_ip": "149.102.236.238",
      "run_count": 84,
      "first_seen": "2026-06-21T11:36:49Z",
      "last_seen": "2026-07-05T14:26:46Z"
    },
    {
      "exit_ip": "149.102.236.234",
      "run_count": 12,
      "first_seen": "2026-06-25T09:26:41Z",
      "last_seen": "2026-07-05T14:16:50Z"
    }
  ],
  "windows": {
    "24h": {
      "from": "2026-07-04T15:06:55Z",
      "to": "2026-07-05T15:06:55Z",
      "samples": 2030,
      "full_evidence_samples": 2030,
      "latency_samples": 2030,
      "public_page_reached": 1707,
      "request_rejected": 320,
      "endpoint_error": 0,
      "no_response": 3,
      "http_response_rate_pct": 99.85,
      "public_page_reached_rate_pct": 84.09,
      "median_latency_ms": 679,
      "p95_latency_ms": 5205
    },
    "7d": {
      "from": "2026-06-28T15:06:55Z",
      "to": "2026-07-05T15:06:55Z",
      "samples": 12516,
      "full_evidence_samples": 12516,
      "latency_samples": 12516,
      "public_page_reached": 10556,
      "request_rejected": 1922,
      "endpoint_error": 2,
      "no_response": 36,
      "http_response_rate_pct": 99.71,
      "public_page_reached_rate_pct": 84.34,
      "median_latency_ms": 698,
      "p95_latency_ms": 5347
    },
    "30d": {
      "from": "2026-06-05T15:06:55Z",
      "to": "2026-07-05T15:06:55Z",
      "samples": 28308,
      "full_evidence_samples": 28308,
      "latency_samples": 28308,
      "public_page_reached": 23575,
      "request_rejected": 4654,
      "endpoint_error": 10,
      "no_response": 69,
      "http_response_rate_pct": 99.76,
      "public_page_reached_rate_pct": 83.28,
      "median_latency_ms": 674,
      "p95_latency_ms": 5138
    }
  },
  "evidence_coverage": {
    "public_endpoint": "active",
    "browser_landing": "no_data",
    "performance_snapshot": "active",
    "leak_suite": "active",
    "browser_webrtc": "active",
    "route_guard": "active",
    "account_session": "not_enabled",
    "playback": "not_enabled"
  },
  "limitations": [
    "Performance results are short operational snapshots against one external target.",
    "Browser evidence covers landing pages only and does not prove sign-in or playback.",
    "STUN mapping is route-bound UDP evidence and is not a browser WebRTC test."
  ]
}
