Home/Federation

Federation

Federation and compatibility

Understand ActivityPub, the Mastodon API, Misskey extensions, and federation troubleshooting.

11 min readBased on project sourcesEnglish

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

VisibilityLocal and federated behavior
publicAppears on public timelines and is delivered to followers and relevant remote servers
unlistedDirectly accessible but excluded from public timelines
privateDelivered only to the approved followers audience
directDelivered 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. 1
    Discovery

    Confirm that WebFinger and NodeInfo return the correct domain and actor.

  2. 2
    Edge

    Confirm that Cloudflare WAF, Bot Fight Mode, and TLS are not blocking the request.

  3. 3
    Signature

    Inspect Date, Digest, keyId, and signature-verification logs, and check clock skew.

  4. 4
    Audience

    Check that to, cc, visibility, and block policies match the intended audience.

  5. 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 ↗