voidly

Circumvention recommendation engine: ranked try-first / fallback / avoid per country, evidence-based

Activists, journalists, and refugees routinely need to know which VPN / Tor / Lantern variant actually works in their country. The historical answer has been "ask in a forum, try a few, see what survives." This endpoint ranks per-country circumvention tools on top of the evasion-success-rate sidecar (per-tool probe success, last 30 days). Rank score = success_rate * sqrt(confidence) * recency_decay. Tier buckets: try_first (success >= 70% AND confidence >= 0.70), fallback (success >= 30% OR confidence < 0.50), avoid (success < 10% AND confidence >= 0.50). Conservative gate refuses to emit tier labels for any country with < 100 total probes — a missing tool is almost always an OONI-coverage gap, not a working tool. First run: 22/34 countries with viable recommendations, 13 with at least one try_first tool. Iran (IR) is correctly gated out at only 83 probes (Tor=72/72 at 54%, Psiphon=11/11 at 0%) — too small to rank. Pakistan (PK) is the worst case: every measured tool falls into avoid (Tor 0.3% over 1,495 probes, generic-VPN 0% over 16, ProtonVPN 0%, Psiphon 0%, Lantern 0%); the endpoint surfaces Tor as least-bad with an explicit coverage_note saying the headline is NOT a working recommendation and suggesting self-hosted WireGuard / Cloudflare WARP / Snowflake-only Tor. Try-first headlines: Venezuela Tor 96.7%, Indonesia Tor 96.4%, Turkey Tor 96.2%, Malaysia Tor 96.1%, Iraq Tor 94.3%, India Tor 89.1%, Thailand Tor 88.8%, Russia generic-VPN 87.0%. Honest caveats hammered on every response: probe success != real-user success (DPI may rate-limit real traffic but not probes), recommendations stale within hours, "try first" != safe, domain-fronted tools under-estimated, self-hosted invisible. Response carries do_not_share_card_without_caveats:true by design. Live at GET /v1/atlas/circumvention/{cc} + GET /v1/atlas/circumvention/info.

#circumvention#tor#vpn#recommendation#evidence-based#ml-honesty#safety-disclaimer#transparency#api

Raw data