{"best_country":{"alerts":4,"country":"ID","median_lead_time_days":4.13,"true_positive_rate_pct":100},"generated_at":"2026-07-07T04:50:01.855034+00:00","headline_warning":null,"honest_caveats":["THIS IS THE ACCOUNTABILITY NUMBER. The false-alarm rate is reported prominently and is NOT smoothed away. If it is high, the headline_warning field says so.","'Lead time' is alert-issued vs incident-DETECTION, not alert vs the real-world shutdown start. Incident detection itself lags (OONI/IODA ingest + the 30-min incident builder), so a positive lead time is a LOWER BOUND on the true early-warning margin — it does not over-state.","The matched incident is the next confirmed censorship/mixed incident in the same country within the horizon. It is a TEMPORAL match, not a causal one — the alert did not necessarily predict THAT specific incident.","Lagging alerts (forecast reacting to a shutdown already underway) are reported separately and are NOT counted toward the median-lead-time headline. Their lead time is 0 or negative.","Only incident_type IN ('censorship','mixed') count as a confirmed incident. IODA 'disruption' rows are network observations, not confirmed censorship, and are excluded.","The horizon is 14 days. A real incident that the alert predicted but that arrived later than 14 days is scored as a false alarm here — the FP rate is therefore an UPPER bound on true miss-fires.","Forecast-threshold alerts only — severity_upgrade, dbscan_flip, and contagion_chain_fire alert types use different logic and are out of scope for this retrospective.","Countries with <2 alerts are excluded from best/worst ranking so a single lucky or unlucky alert cannot crown a country."],"method":{"alert_source":"sentinel_alerts WHERE event_type='forecast_threshold' (7-day forecast crossing the alert threshold)","false_alarm":"no confirmed incident within 14 days after the alert (and none in the 3-day grace window before it)","horizon_days":14,"incident_source":"voidly_data.db incidents WHERE incident_type IN ('censorship','mixed') — IODA disruption rows excluded","lagging":"an incident started within 3 days BEFORE the alert — the forecast reacted to a shutdown already underway; lead time is 0 or negative and is excluded from the median-lead-time headline","lagging_grace_days":3,"lead_time_definition":"incident.first_seen - alert.issued_at, in days. Positive = the alert preceded incident DETECTION.","true_positive":"a confirmed incident in the same country within 14 days AFTER the alert"},"overall":{"alerts_analyzed":176,"false_alarm_rate_pct":29,"false_alarms":51,"lagging_alerts":5,"lagging_rate_pct":2.8,"lead_time_days":{"max":13.92,"mean":3.26,"median":1.92,"min":0.04,"n":120,"p25":1.04,"p75":3.77},"true_positive_rate_pct":68.2,"true_positives":120},"per_country":[{"alerts":4,"country":"ID","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":4.53,"median_lead_time_days":4.13,"true_positive_rate_pct":100,"true_positives":4},{"alerts":9,"country":"CU","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":4.93,"median_lead_time_days":2.99,"true_positive_rate_pct":100,"true_positives":9},{"alerts":5,"country":"SA","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":3.72,"median_lead_time_days":2.92,"true_positive_rate_pct":100,"true_positives":5},{"alerts":8,"country":"VN","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.29,"median_lead_time_days":2.42,"true_positive_rate_pct":100,"true_positives":8},{"alerts":4,"country":"BY","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.11,"median_lead_time_days":2.29,"true_positive_rate_pct":100,"true_positives":4},{"alerts":5,"country":"BD","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.81,"median_lead_time_days":2,"true_positive_rate_pct":100,"true_positives":5},{"alerts":3,"country":"EG","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.13,"median_lead_time_days":1.99,"true_positive_rate_pct":100,"true_positives":3},{"alerts":8,"country":"VE","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":1.88,"median_lead_time_days":1.94,"true_positive_rate_pct":100,"true_positives":8},{"alerts":6,"country":"TH","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.47,"median_lead_time_days":1.92,"true_positive_rate_pct":100,"true_positives":6},{"alerts":5,"country":"KZ","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":1.66,"median_lead_time_days":1.92,"true_positive_rate_pct":100,"true_positives":5},{"alerts":3,"country":"MY","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":1.59,"median_lead_time_days":1.92,"true_positive_rate_pct":100,"true_positives":3},{"alerts":9,"country":"RU","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.05,"median_lead_time_days":1.43,"true_positive_rate_pct":100,"true_positives":9},{"alerts":6,"country":"IN","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":2.45,"median_lead_time_days":1.43,"true_positive_rate_pct":100,"true_positives":6},{"alerts":6,"country":"PK","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":1.54,"median_lead_time_days":1.42,"true_positive_rate_pct":100,"true_positives":6},{"alerts":8,"country":"IR","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":1.27,"median_lead_time_days":1.04,"true_positive_rate_pct":100,"true_positives":8},{"alerts":7,"country":"UZ","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":1.03,"median_lead_time_days":0.92,"true_positive_rate_pct":100,"true_positives":7},{"alerts":2,"country":"TR","false_alarm_rate_pct":0,"false_alarms":0,"lagging_alerts":0,"mean_lead_time_days":0.92,"median_lead_time_days":0.92,"true_positive_rate_pct":100,"true_positives":2},{"alerts":3,"country":"LB","false_alarm_rate_pct":33.3,"false_alarms":1,"lagging_alerts":0,"mean_lead_time_days":13.6,"median_lead_time_days":13.6,"true_positive_rate_pct":66.7,"true_positives":2},{"alerts":6,"country":"SY","false_alarm_rate_pct":16.7,"false_alarms":1,"lagging_alerts":1,"mean_lead_time_days":8.11,"median_lead_time_days":7.92,"true_positive_rate_pct":66.7,"true_positives":4},{"alerts":8,"country":"MM","false_alarm_rate_pct":25,"false_alarms":2,"lagging_alerts":1,"mean_lead_time_days":3.93,"median_lead_time_days":1.92,"true_positive_rate_pct":62.5,"true_positives":5},{"alerts":11,"country":"NG","false_alarm_rate_pct":54.5,"false_alarms":6,"lagging_alerts":0,"mean_lead_time_days":6.72,"median_lead_time_days":5.92,"true_positive_rate_pct":45.5,"true_positives":5},{"alerts":7,"country":"TM","false_alarm_rate_pct":42.9,"false_alarms":3,"lagging_alerts":1,"mean_lead_time_days":7.67,"median_lead_time_days":8.67,"true_positive_rate_pct":42.9,"true_positives":3},{"alerts":9,"country":"NI","false_alarm_rate_pct":55.6,"false_alarms":5,"lagging_alerts":1,"mean_lead_time_days":7.59,"median_lead_time_days":7.92,"true_positive_rate_pct":33.3,"true_positives":3},{"alerts":7,"country":"BR","false_alarm_rate_pct":100,"false_alarms":7,"lagging_alerts":0,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0},{"alerts":6,"country":"ER","false_alarm_rate_pct":100,"false_alarms":6,"lagging_alerts":0,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0},{"alerts":5,"country":"SD","false_alarm_rate_pct":100,"false_alarms":5,"lagging_alerts":0,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0},{"alerts":5,"country":"KP","false_alarm_rate_pct":100,"false_alarms":5,"lagging_alerts":0,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0},{"alerts":4,"country":"CN","false_alarm_rate_pct":100,"false_alarms":4,"lagging_alerts":0,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0},{"alerts":4,"country":"PH","false_alarm_rate_pct":100,"false_alarms":4,"lagging_alerts":0,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0},{"alerts":3,"country":"ET","false_alarm_rate_pct":66.7,"false_alarms":2,"lagging_alerts":1,"mean_lead_time_days":null,"median_lead_time_days":null,"true_positive_rate_pct":0,"true_positives":0}],"schema":"voidly-sentinel-alert-lead-time/v1","window":{"lookback_days":90,"since":"2026-04-08T04:50:01.855034+00:00","until":"2026-07-07T04:50:01.855034+00:00"},"worst_country":{"alerts":7,"country":"BR","false_alarm_rate_pct":100,"median_lead_time_days":null,"true_positive_rate_pct":0},"_voidly_pay":{"claim_did":"https://voidly.ai/pay/claim","for_builders":"https://voidly.ai/pay/for-builders","marketplace":"https://api.voidly.ai/v1/pay/marketplace","live_demo":"https://huggingface.co/spaces/emperor-mew/voidly-pay","universal_proxy":{"url":"https://api.voidly.ai/v1/pay/proxy","example":"https://api.voidly.ai/v1/pay/proxy?u=<https-url>&to=did:voidly:<your-did>&price=0.01","page":"https://voidly.ai/pay/proxy","note":"Paywall any public HTTPS URL with one query param. No SDK install required."},"install":{"typescript":"npm install @voidly/pay","python":"pip install voidly-pay","langchain":"pip install voidly-pay-langchain","vercel_ai":"npm install @voidly/pay-vercel-ai","mcp":"npx @voidly/pay-mcp","cli":"npm install -g @voidly/pay-cli"},"note":"Voidly Pay is the open agent-to-agent payment rail. Claim a DID + 10 starter credits in 60s, or paywall any URL via the universal proxy with one query param."}}