Before creating and publishing FEDERATION.md for #ktistec I wanted to understand what existing practice looked like across the Fediverse.
FEP-67ff describes the requirements of the FEDERATION.md file in loose terms and provides a non-normative template. I scraped the URLs of FEDERATION.md files from FEP-67ff itself and confirmed I could fetch them. The FEP listed 30 accessible projects (31 total, but one project—FIRM—does not appear to exist).
If a file had a section with the heading "Supported FEPs" per the non-normative template, I only looked there for supported FEPs. Otherwise I scanned the entire document.
Implemented FEPs, ranked by the number of implementations that attest support, are:
FEP Name #---- --------------------------------------------------------- --67ff FEDERATION.md 18f1d5 NodeInfo in Fediverse Software 168b32 Object Integrity Proofs 7044f Consent-respecting quote posts 72677 Identifying the Application Actor 7e232 Object Links 61b12 Group federation 63b86 Activity Intents 6521a Representing actor's public keys 52c59 Discovery of a Webfinger address from an ActivityPub actor 57888 Demystifying the context property 55feb Search indexing consent for actors 54adb Dereferencing identifiers with webfinger 4d556 Server-Level Actor Discovery Using WebFinger 4fb2a Actor metadata 4ef61 Portable Objects 48fcf Followers collection synchronization across servers 4844e Capability discovery 47628 Move actor 361cf The OpenWebAuth Protocol 3c390 Identity Proofs 3400e Publicly-appendable ActivityPub collections 3c0e0 Emoji reactions 30151 NodeInfo in Fediverse Software (2025 edition) 3fffd Proxy Objects 2f228 Backfilling conversations 2fe34 Origin-based security model 2eb48 Hashtags 2171b Conversation Containers 2a5c5 Web Syndication Methods 2
There are obvious flaws in the methodology. Or maybe in the data. Only 18 out of the 30 projects I could access had a FEDERATION.md that attested FEDERATION.md support. Only 19 mentioned "FEDERATION.md". Only 21 mentioned "67ff". The remaining projects clearly did support FEP-67ff—the file itself was evidence. (FEDERATION.md is not meant to be machine readable—there's an issue about that).
It was more difficult to rank implemented federation protocols. I extracted keywords from documents with a "Supported federation protocols and standards" section and created a dictionary of terms. If a file had a section with the heading "Supported federation protocols and standards", I only looked there. Otherwise I scanned the entire document.
Feature #---------------- --activitypub 26webfinger 24http_signatures 21nodeinfo 19json_ld 2ld_signatures 2ostatus 2authorized_fetch 1atproto 1
If time allows, I'm going to try to rank these documents by "utility", though I haven't yet determined the exact metric. These documents clearly provide valuable information, but their lack of standardization makes them harder to analyze systematically.