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 18
f1d5 NodeInfo in Fediverse Software 16
8b32 Object Integrity Proofs 7
044f Consent-respecting quote posts 7
2677 Identifying the Application Actor 7
e232 Object Links 6
1b12 Group federation 6
3b86 Activity Intents 6
521a Representing actor's public keys 5
2c59 Discovery of a Webfinger address from an ActivityPub actor 5
7888 Demystifying the context property 5
5feb Search indexing consent for actors 5
4adb Dereferencing identifiers with webfinger 4
d556 Server-Level Actor Discovery Using WebFinger 4
fb2a Actor metadata 4
ef61 Portable Objects 4
8fcf Followers collection synchronization across servers 4
844e Capability discovery 4
7628 Move actor 3
61cf The OpenWebAuth Protocol 3
c390 Identity Proofs 3
400e Publicly-appendable ActivityPub collections 3
c0e0 Emoji reactions 3
0151 NodeInfo in Fediverse Software (2025 edition) 3
fffd Proxy Objects 2
f228 Backfilling conversations 2
fe34 Origin-based security model 2
eb48 Hashtags 2
171b Conversation Containers 2
a5c5 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 26
webfinger 24
http_signatures 21
nodeinfo 19
json_ld 2
ld_signatures 2
ostatus 2
authorized_fetch 1
atproto 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.
#ActivityPub #Fediverse #Fep67ff #fep