“AI is blocked in Iran, Russia, China” is a single headline hiding two different stories with two different villains. When you tag why each AI service is unreachable, a clean division of labor appears: the AI companies geo-fence their consumer chatbots out of sanctioned countries, while the states network-censor the developer supply chain — the open hub for model weights and datasets. They are blocking different layers of the stack, for different reasons.

Two mechanisms, roughly equal in number

Across the tracked AI services and countries, the blocked pairs split almost evenly — about 20 vendor geo-restrictions and 20 state network blocks — but they fall on different parts of the stack:

The division of labor

Put plainly: an Iranian developer can't open ChatGPT because OpenAI won't serve Iran, and can't reach HuggingFace because Iran's government blocks it. Same person, two unreachable tools, two entirely different gatekeepers — a San-Francisco compliance team and a state censor. The single most-blocked AI service overall is HuggingFace (16 countries, more than ChatGPT's 7 or Claude's 8): censorship of AI is increasingly censorship of the supply chain, not just the chat apps.

China is the full-stack censor; some heavy censors ignore AI

China is the standout — it network-blocks the most AI services (six): ChatGPT, Gemini, Mistral, Perplexity, and HuggingFace are firewall-dropped, while Claude is the lone vendor-geo case (Anthropic declines China; the edge is reachable). It censors both the apps and the hub. At the other end, several countries that censor heavily in general — Ethiopia, Sudan, Uzbekistan — show every tracked AI service reachable, alongside the democracies. Censorship is service-specific; a country's overall posture doesn't predict its treatment of any one tool.

Why it matters

“AI is censored in N countries” conflates a sanctions decision made by a company with a censorship decision made by a state — and it conflates blocking a chatbot with blocking the model hub developers build on. Both restrict access; they are different actors, different layers, and different remedies. Voidly's matrix tags the mechanism on every cell, and the summary now ships a blocked_by breakdown (vendor_geo_restriction vs state_network_block) so you can separate them in one call. Live: GET /v1/atlas/ai-availability.

Correction (2026-06-24): an earlier version of this finding put the state-censorship count at 4 and framed the split as “mostly vendor-geo.” That was a miscount over a stale, filtered snapshot — it omitted the 16 HuggingFace network blocks. The live breakdown is ~20/20; corrected here.