Help the model learn
The Voidly Sentinel classifier's lowest-confidence forecasts. The model is most uncertain about these 32 predictions — human labels here have the highest information value for the next retrain. Submit observed outcomes via the auth-gated /v1/sentinel/report_miss endpoint.
Method: Impact-aware ranking — Settles 2009 (UW TR-1648). Uncertainty fallback — Lewis 1994. Calibrated uncertainty — arXiv 2510.03162 (2025). · Updated every 15 min · Raw JSON
How to submit a label
- Get an API key — admin via Voidly, or subscriber key via /alerts.
- POST to
/v1/sentinel/report_misswith:
curl -X POST https://api.voidly.ai/v1/sentinel/report_miss \
-H "X-Voidly-Subscriber-Key: $YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"country_code": "IR",
"what_happened": "Observed shutdown 2026-05-19 14:00 UTC, BGP withdrawal of AS31549. Sourced from NetBlocks twitter + my SSH probe in Tehran.",
"source_url": "https://twitter.com/netblocks/status/..."
}'Rate limit: 10 / hour / key. The label enters error_queue on the Vultr ML server and is incorporated by the next nightly retrain. See /methodology for the gate logic that decides whether new models replace the serving one.
50 uncertain forecasts (lowest distance from 0.5 first)
- RussiaRUInvalid Dateresolved wrongProbability52.8%Distance from 0.52.8 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong · high_volume_country · recent_drift
- PakistanPKInvalid Datenot yet resolvedProbability51.0%Distance from 0.51.0 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- PakistanPKInvalid Datenot yet resolvedProbability51.2%Distance from 0.51.2 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- PakistanPKInvalid Datenot yet resolvedProbability51.6%Distance from 0.51.7 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- VenezuelaVEInvalid Datenot yet resolvedProbability47.0%Distance from 0.53.0 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- VenezuelaVEInvalid Datenot yet resolvedProbability46.1%Distance from 0.53.9 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- EgyptEGJun 13, 2026not yet resolvedProbability45.4%Distance from 0.54.6 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- EgyptEGJun 14, 2026not yet resolvedProbability45.2%Distance from 0.54.8 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- EgyptEGJun 5, 2026resolved correctProbability45.1%Distance from 0.54.9 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_correct · high_volume_country · recent_drift
- LebanonLBInvalid Dateresolved wrongProbability50.7%Distance from 0.50.7 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong · high_volume_country · recent_drift
- SGSGInvalid Datenot yet resolvedProbability47.6%Distance from 0.52.4 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- SGSGInvalid Datenot yet resolvedProbability47.3%Distance from 0.52.7 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- SGSGInvalid Dateresolved wrongProbability45.6%Distance from 0.54.5 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong · high_volume_country · recent_drift
- SGSGInvalid Datenot yet resolvedProbability45.5%Distance from 0.54.5 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country · recent_drift
- IndiaINInvalid Datenot yet resolvedProbability50.7%Distance from 0.50.7 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability51.2%Distance from 0.51.2 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability51.7%Distance from 0.51.7 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability52.5%Distance from 0.52.5 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability52.5%Distance from 0.52.5 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability52.9%Distance from 0.52.9 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability47.1%Distance from 0.52.9 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- IndiaINInvalid Dateresolved correctProbability46.5%Distance from 0.53.5 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_correct · high_volume_country
- IndiaINInvalid Datenot yet resolvedProbability54.2%Distance from 0.54.2 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- KWKWInvalid Dateresolved wrongProbability53.9%Distance from 0.53.9 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- JOJOInvalid Datenot yet resolvedProbability46.1%Distance from 0.53.9 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- GBGBInvalid Datenot yet resolvedProbability50.4%Distance from 0.50.4 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- GBGBInvalid Datenot yet resolvedProbability52.9%Distance from 0.52.9 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- GBGBInvalid Datenot yet resolvedProbability53.8%Distance from 0.53.8 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- CubaCUInvalid Datenot yet resolvedProbability47.6%Distance from 0.52.4 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved · high_volume_country
- CACAInvalid Dateresolved wrongProbability52.1%Distance from 0.52.1 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- CACAInvalid Dateresolved wrongProbability54.8%Distance from 0.54.8 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- PhilippinesPHInvalid Datenot yet resolvedProbability50.1%Distance from 0.50.1 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- ESESInvalid Dateresolved wrongProbability49.2%Distance from 0.50.8 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- ESESInvalid Datenot yet resolvedProbability49.2%Distance from 0.50.8 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- JPJPInvalid Datenot yet resolvedProbability50.8%Distance from 0.50.8 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- ESESInvalid Dateresolved wrongProbability48.7%Distance from 0.51.3 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- ESESInvalid Datenot yet resolvedProbability48.7%Distance from 0.51.3 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- MXMXInvalid Datenot yet resolvedProbability48.7%Distance from 0.51.3 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- MXMXInvalid Datenot yet resolvedProbability48.7%Distance from 0.51.3 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- KRKRInvalid Dateresolved wrongProbability51.0%Distance from 0.51.0 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- MXMXInvalid Dateresolved correctProbability48.5%Distance from 0.51.5 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_correct
- MXMXInvalid Dateresolved correctProbability48.5%Distance from 0.51.5 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_correct
- KRKRInvalid Dateresolved wrongProbability48.6%Distance from 0.51.4 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- ESESInvalid Datenot yet resolvedProbability48.2%Distance from 0.51.8 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- KRKRInvalid Datenot yet resolvedProbability48.3%Distance from 0.51.7 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- KRKRInvalid Datenot yet resolvedProbability47.8%Distance from 0.52.3 ppPred above 0.5?↑ yesvery_close_to_threshold · not_yet_resolved
- SudanSDMay 29, 2026resolved wrongProbability48.1%Distance from 0.51.9 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- SudanSDMay 28, 2026resolved wrongProbability48.0%Distance from 0.52.0 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- SudanSDMay 27, 2026resolved wrongProbability45.5%Distance from 0.54.5 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
- SudanSDMay 31, 2026resolved wrongProbability45.2%Distance from 0.54.8 ppPred above 0.5?↑ yesvery_close_to_threshold · already_resolved_as_wrong
Why active learning matters
Most ML systems retrain on random labeled samples. Active learning literature shows that labeling the lowest-confidence predictions instead gives the biggest F1 gain per labeling-budget unit.
Voidly's weekly classifier retrain has been rejecting new model candidates since 2026-05-03 because they F1-regress on a dedup'd evaluation set. The gate is working as designed, but without fresh labels we can't distinguish “real regression” from “data drift the model needs to learn.”
This page closes that loop. Journalists + censorship experts see the model's most uncertain forecasts, submit observed outcomes, and the next retrain gate uses their labels for evaluation. Slow but durable.
References
- Calibrated Uncertainty Sampling for Active Learning (arXiv 2510.03162, 2025)
- RiskID: Active learning for network traffic
- /sentinel/backtest — honest model reliability
- /atlas/models — full model registry
- /methodology — retrain gate logic