This document tracks adoption of RFC 9421 on the Fediverse.
Most ActivityPub servers implement HTTP Signature for authenticating server-to-server requests. The Fediverse community adopted an early version of RFC 9421, draft-cavage-12, which is incompatible with the released version.
The ActivityPub and HTTP Signatures Report outlines how HTTP Signatures and particularly draft-cavage-12 are implemented on the Fediverse.
Some Fediverse software has begun implementing the release version of RFC 9421, using the double-knocking technique suggested in the Report, or using other techniques.
This tracking document can help implementers debug their own implementation, as well as deciding when it’s worthwhile to include RFC 9421 in their own servers.
This matrix is for tracking server implementation status of RFC 9421. The table has the following columns:
Thanks to FediDB for the seed version of the software list.
| Software | Accept for GET | Accept for POST | Send for GET | Send for POST | Issue(s) |
|---|---|---|---|---|---|
| Activity-Relay | ? | ? | ? | ? | ? |
| activitypub.bot1 | ✅ Y | ✅ Y | ✅ Y 2 | ✅ Y 2 | #176 |
| Activityrelay | ? | ? | ? | ? | ? |
| Akkoma | ❌ N | ❌ N | ❌ N | ❌ N | 1145 |
| BadgeFed | ? | ? | ? | ? | ? |
| Betula | ? | ? | ? | ? | ? |
| Bonfire | ✅ Y | ✅ Y | ✅ Y 3 | ✅ Y 3 | 7 |
| Bookwyrm | ? | ? | ? | ? | ? |
| Bridgy-fed | ❌ N | ❌ N | ❌ N | ❌ N | 2635 |
| Cherrypick | ? | ? | ? | ? | ? |
| Drupal | ? | ? | ? | ? | ? |
| Ecko | ? | ? | ? | ? | ? |
| Emissary | ❌ N | ❌ N | ❌ N | ❌ N | 608 |
| Fedibird | ? | ? | ? | ? | ? |
| Firefish | ? | ? | ? | ? | ? |
| Forgejo | ? | ? | ? | ? | ? |
| Forte | ✅ Y | ✅ Y | ✅ Y 4 | ✅ Y 4 | N |
| Foundkey | ? | ? | ? | ? | ? |
| frequency | ? | ? | ? | ? | ? |
| Friendica | ? | ? | ? | ? | ? |
| Funkwhale | ? | ? | ? | ? | ? |
| Gancio | ? | ? | ? | ? | ? |
| Ghost | ? | ? | ? | ? | ? |
| GNU social | ? | ? | ? | ? | ? |
| Gotosocial | ❌ N | ❌ N | ❌ N | ❌ N | 4939 |
| Hackers’ Pub | ? | ? | ? | ? | ? |
| Hollo | ? | ? | ? | ? | ? |
| Hometown | ? | ? | ? | ? | ? |
| Honk | ? | ? | ? | ? | ? |
| Hubzilla | ✅ Y | ✅ Y | ✅ Y 4 | ✅ Y 4 | N |
| Iceshrimp | ? | ? | ? | ? | ? |
| irwin | ? | ? | ? | ? | ? |
| Kmyblue | ? | ? | ? | ? | ? |
| Ktistec | ? | ? | ? | ? | ? |
| Lemmy | ? | ? | ? | ? | ? |
| Loops | ? | ? | ? | ? | ? |
| Lotide | ? | ? | ? | ? | ? |
| Manyfold | ❌ N | ❌ N | ❌ N | ❌ N | 6871 |
| Mastodon | ✅ Y | ✅ Y | ❌ N 5 | ❌ N 5 | 29905 |
| Mbin | ? | ? | ? | ? | ? |
| Meisskey | ? | ? | ? | ? | ? |
| Microblogpub | ? | ? | ? | ? | ? |
| Microdotblog | ❌ N | ❌ N | ❌ N | ❌ N | RFC 9421 |
| Misskey | ❌ N | ❌ N | ❌ N | ❌ N | 17706 |
| Mitra | ? | ? | ? | ? | ? |
| Mobilizon | ? | ? | ? | ? | ? |
| murlog | ? | ? | ? | ? | ? |
| NeoDB | ? | ? | ? | ? | ? |
| NodeBB | ✅ Y | ✅ Y | ❌ N | ❌ N | 13382, 14622 |
| Owncast | ? | ? | ? | ? | ? |
| PeerTube | ? | ? | ? | ? | ? |
| Piefed | ? | ? | ? | ? | ? |
| Pixelfed | ❌ N | ❌ N | ❌ N | ❌ N | 6590 |
| Pleroma | ? | ? | ? | ? | ? |
| Plume | ? | ? | ? | ? | ? |
| Postmarks | ? | ? | ? | ? | ? |
| Sharkey | ? | ? | ? | ? | ? |
| Smithereen | ? | ? | ? | ? | ? |
| Snac | ? | ? | ? | ? | ? |
| stegodon | ? | ? | ? | ? | ? |
| streams repository | ✅ Y | ✅ Y | ✅ Y 4 | ✅ Y 4 | N |
| Takahe | ? | ? | ? | ? | ? |
| Threads | ? | ? | ? | ? | ? |
| Vernissage | ? | ? | ? | ? | ? |
| wafrn | ? | ? | ? | ? | ? |
| WordPress | ✅ Y | ✅ Y | ✅ Y 6 | ✅ Y 6 | 2859 |
| WriteFreely | ❌ N | ❌ N | ❌ N | ❌ N | RFC 9421 |
tags.pub, groups.pub, activitypub.bot and others ↩
https://docs.bonfirenetworks.org/federation-interoperability.html#7-http-signatures-secure-fetch ↩ ↩2
Supports double-knock, capability, and toggle on permanently via config. ↩ ↩2 ↩3 ↩4 ↩5 ↩6
Added in 4.7.0. Double-knock, but uses draft-cavage-12 first. PR ↩ ↩2