{"count":26,"generated_at":"2026-06-25T04:41:17Z","methodology":"For each pair of countries with a substantial national-block list (>=30 domains), the number of domains BOTH block nationally (confirmed >=3 networks each), a Jaccard overlap, and how many shared domains fall in political SPEECH (NEWS/HUMR/POLR) or circumvention TOOLING (ANON). IMPORTANT: raw shared-domain counts are CONFOUNDED - many pairs share gambling and adult domains simply because blocking those is independently common, which is convergence, NOT a shared blocklist. The shared_political + shared_tooling counts are the real signal: they isolate whether two countries block the SAME news outlets, human-rights orgs, and VPN tools. In this corpus only Iran-Russia show substantial shared political blocking (the same Amnesty/Article19/CPJ/BBC/DW and the same ExpressVPN/Tor-bridge/CyberGhost set); other high-overlap pairs (Saudi-Thailand, Turkey-Indonesia) overlap almost entirely on gambling/adult. Overlap is correlation, NOT proof of coordination or imported blocklists. CAVEATS: anomaly-based censors (China's GFW) under-counted; the political/tooling restriction counts only Citizen Lab-tagged domains; the confirmed layer is a periodic snapshot (see /v1/measurement/freshness).","min_list_size":30,"min_shared":10,"pairs":[{"jaccard":0.107,"pair":["IR","RU"],"sample_political":["24chasa.bg","advocate.com","amnesty.org","article19.org","bbc.com","cpj.org","dw.com","euronews.com"],"sample_tooling":["anonymouse.org","betternet.co","bridges.torproject.org","cyberghostvpn.com","expressvpn.com","getoutline.org","hide.me","hidemyass.com"],"shared_domains":135,"shared_political":23,"shared_tooling":25},{"jaccard":0.087,"pair":["ID","IR"],"sample_political":["freespeech.org","freespeechcoalition.com","guerrillagirls.com","reddit.com","secure.avaaz.org"],"sample_tooling":["anonymouse.org"],"shared_domains":84,"shared_political":5,"shared_tooling":1},{"jaccard":0.055,"pair":["ID","RU"],"sample_political":["ddosecrets.com","hizb-ut-tahrir.org","secure.avaaz.org"],"sample_tooling":["anonymouse.org"],"shared_domains":45,"shared_political":3,"shared_tooling":1},{"jaccard":0.036,"pair":["IR","SA"],"sample_political":["jazannews.org","khilafah.net"],"sample_tooling":["anonymouse.org","stupidcensorship.com"],"shared_domains":32,"shared_political":2,"shared_tooling":2},{"jaccard":0.032,"pair":["IN","IR"],"sample_political":["khilafah.net","secure.avaaz.org"],"sample_tooling":[],"shared_domains":28,"shared_political":2,"shared_tooling":0},{"jaccard":0.025,"pair":["RU","SA"],"sample_political":["ikhwanonline.com","khilafah.net"],"sample_tooling":["anonymizer.ru","anonymouse.org","guardster.com"],"shared_domains":18,"shared_political":2,"shared_tooling":3},{"jaccard":0.02,"pair":["IN","RU"],"sample_political":["khilafah.net","secure.avaaz.org"],"sample_tooling":[],"shared_domains":14,"shared_political":2,"shared_tooling":0},{"jaccard":0.053,"pair":["IR","TR"],"sample_political":["wikileaks.org"],"sample_tooling":["anonymouse.org"],"shared_domains":46,"shared_political":1,"shared_tooling":1},{"jaccard":0.131,"pair":["ID","TR"],"sample_political":["hizb-ut-tahrir.org"],"sample_tooling":["anonymouse.org"],"shared_domains":44,"shared_political":1,"shared_tooling":1},{"jaccard":0.044,"pair":["IR","TH"],"sample_political":["dailymail.co.uk"],"sample_tooling":["hotspotshield.com"],"shared_domains":37,"shared_political":1,"shared_tooling":1},{"jaccard":0.044,"pair":["RU","TR"],"sample_political":["hizb-ut-tahrir.org"],"sample_tooling":["anonymouse.org"],"shared_domains":31,"shared_political":1,"shared_tooling":1},{"jaccard":0.054,"pair":["ID","IN"],"sample_political":["secure.avaaz.org"],"sample_tooling":[],"shared_domains":19,"shared_political":1,"shared_tooling":0},{"jaccard":0.104,"pair":["ID","TH"],"sample_political":[],"sample_tooling":[],"shared_domains":32,"shared_political":0,"shared_tooling":0},{"jaccard":0.083,"pair":["ID","SA"],"sample_political":[],"sample_tooling":["anonymouse.org"],"shared_domains":29,"shared_political":0,"shared_tooling":1},{"jaccard":0.14,"pair":["SA","TH"],"sample_political":[],"sample_tooling":[],"shared_domains":25,"shared_political":0,"shared_tooling":0},{"jaccard":0.131,"pair":["TH","TR"],"sample_political":[],"sample_tooling":[],"shared_domains":24,"shared_political":0,"shared_tooling":0},{"jaccard":0.031,"pair":["RU","TH"],"sample_political":[],"sample_tooling":["hotspotshield.com"],"shared_domains":21,"shared_political":0,"shared_tooling":1},{"jaccard":0.075,"pair":["SA","TR"],"sample_political":[],"sample_tooling":["anonymouse.org"],"shared_domains":17,"shared_political":0,"shared_tooling":1},{"jaccard":0.035,"pair":["ID","IT"],"sample_political":[],"sample_tooling":[],"shared_domains":16,"shared_political":0,"shared_tooling":0},{"jaccard":0.017,"pair":["IT","RU"],"sample_political":[],"sample_tooling":[],"shared_domains":14,"shared_political":0,"shared_tooling":0},{"jaccard":0.045,"pair":["IT","TH"],"sample_political":[],"sample_tooling":[],"shared_domains":13,"shared_political":0,"shared_tooling":0},{"jaccard":0.04,"pair":["IT","TR"],"sample_political":[],"sample_tooling":[],"shared_domains":13,"shared_political":0,"shared_tooling":0},{"jaccard":0.053,"pair":["IN","TR"],"sample_political":[],"sample_tooling":[],"shared_domains":12,"shared_political":0,"shared_tooling":0},{"jaccard":0.034,"pair":["IT","SA"],"sample_political":[],"sample_tooling":[],"shared_domains":11,"shared_political":0,"shared_tooling":0},{"jaccard":0.053,"pair":["IN","TH"],"sample_political":[],"sample_tooling":[],"shared_domains":10,"shared_political":0,"shared_tooling":0},{"jaccard":0.068,"pair":["PL","TR"],"sample_political":[],"sample_tooling":[],"shared_domains":10,"shared_political":0,"shared_tooling":0}],"schema":"voidly-co-blocking/v1","source":"Voidly (https://voidly.ai) - please credit 'Voidly' as the source.","_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."}}