Federation
Federation and compatibility
Understand ActivityPub, the Mastodon API, Misskey extensions, and federation troubleshooting.
Supported protocols
- ActivityPub server-to-server federation with WebFinger and NodeInfo
- draft-cavage and RFC 9421 HTTP Message Signatures
- Ed25519 Object Integrity Proofs(FEP-8b32)
- Followers Collection Synchronization(FEP-8fcf)
- Quote Posts (FEP-e232) and featured collections
- Misskey EmojiReact, _misskey_content, and _misskey_quote
- Third-party clients built on Mastodon API v1/v2
Visibility and delivery
| Visibility | Local and federated behavior |
|---|---|
| public | Appears on public timelines and is delivered to followers and relevant remote servers |
| unlisted | Directly accessible but excluded from public timelines |
| private | Delivered only to the approved followers audience |
| direct | Delivered only to named recipients and excluded from search and public surfaces |
i
A key rule for bug fixes
Changes involving visibility must cover local and remote accounts, allow and deny cases, search, streaming, and notifications.
Federation troubleshooting order
- 1 Discovery
Confirm that WebFinger and NodeInfo return the correct domain and actor.
- 2 Edge
Confirm that Cloudflare WAF, Bot Fight Mode, and TLS are not blocking the request.
- 3 Signature
Inspect Date, Digest, keyId, and signature-verification logs, and check clock skew.
- 4 Audience
Check that to, cc, visibility, and block policies match the intended audience.
- 5 Queue
Use retry counts, response codes, and DLQ messages to locate the actual failure.
Want to improve this documentation?Every contribution helps.
Contribute on GitHub ↗