Fediverse Jurisdiction Observatory

Method

Everything here comes from endpoints each server already publishes to any client. No accounts, no authenticated requests, no user content.

What is fetched

/.well-known/nodeinfo and the document it points to; the software's own instance API; published rules, terms and privacy policy; and, where the software offers one, a twelve-week activity series.

We never request /api/v1/instance/domain_blocks: Mastodon's default robots.txt disallows it. We never request /api/v1/announcements or the profile directory — the first needs an account, and the second is personal data this project does not collect.

Politeness

Jurisdiction is a relation, not a column

Each server gets a row per (country, basis, reason). A server whose domain is .de, whose origin resolves to France and whose terms submit to English law produces three links and no pretence that one is the answer. 385 servers link to more than one country and 14 have no single strongest link.

basisweightwhat it means
names its law5the operator named a jurisdiction's law in its own policies
named legal entity5a company or charity form implies where it can be sued
registry record4RDAP publishes a registrant country
origin resolves there3our own DNS and IP-range resolution
presents as of there3the server describes itself as a place's community
domain suffix2a ccTLD or geoTLD asserts it
language offered1a distinctive regional language
tracker claim1a third party says so, unverified

Generic ccTLDs assert nothing and are excluded: .io is British Indian Ocean Territory and .ai is Anguilla, but nobody using them is there. Reading those as country signals would be the largest single error in the dataset.

Hosting country

Resolved independently — DNS, then two offline IP-range datasets — and kept alongside the tracker's claim so the disagreement is visible (49 servers). Behind a CDN the country is recorded as unknown, never as the CDN's: the address belongs to the CDN's anycast estate, not the operator. 315 servers are in that state.

AS registration country and IP block country are stored separately because they routinely differ: an IONOS AS registered in Germany routes blocks that geolocate to London.

Registration and certificates

RDAP is queried through the rdap.org bootstrap, one domain at a time, a second apart, and only when the last good record is over 90 days old. Certificate Transparency names come from a scanner following the CT logs directly.

CT coverage begins when that scanner was switched on and does not predate 2026. A domain with no names has not been observed, which is not the same as having no certificates. Absence is never evidence.

The stock privacy policy

254 servers publish their software's shipped privacy policy unchanged. It says "If this server is in the US...", "If this server is in the EU or the EEA...", and concedes that "Law requirements can be different if this server is in another jurisdiction."

An early cut of this classifier read those conditionals as declarations and reported 116 servers as governed by non-UK law; the real figure was 5. The template is now identified by fingerprint — three or more verbatim phrases — and excluded from every policy-derived signal.

These are not legal findings

Section 4(5)-(6) of the UK's Online Safety Act, Article 3 of the EU's DSA and their equivalents elsewhere turn on user numbers, target market and risk of harm. None of that is observable from outside. Every weight here is attached to a named, checkable reason so a reader can disagree and recompute — the per-link evidence is in the downloads.

Cadence

Weekly. Jurisdiction moves slowly, but age gates, geo-blocks, rule changes and closures move in days. Every run is stored append-only under its own run id, so the tables are a time series rather than a snapshot that overwrites itself.