Nomadic ActivityPub
Nomadic identity is a feature that allows users to freely move from one server to another without losing their identities and content. It was originally introduced in the Zot protocol.
An extension of ActivityPub protocol is currently being developed that enables nomadic identity and other protocol improvements:
- Identity that is not tied to a single server.
- Storing user data on multiple servers.
- Local-first delay-tolerant applications.
- End-to-end encryption.
Implementations of Nomadic ActivityPub can operate in a mode that is compatible with existing ActivityPub server applications.
Protocol comparison
| Protocol | Identity | Data portability | Private content | ActivityPub interop |
|---|---|---|---|---|
| ActivityPub | Domain name | None | Yes | Yes |
| ATProto | DID | Limited | No (requires E2EE) | No (requires a bridge) |
| Nostr | Cryptographic key | Full | No (requires E2EE) | No (requires a bridge) |
| ActivityPub (nomadic) | DID or cryptographic key | Full | Yes | Yes (via gateways) |
Specifications
Status
The specifications are not stable and major changes may occur in the future.
Implementations exist and they are partially interoperable:
- Streams & Forte
- Mitra (requires Mitra Mini client)
- tootik
Libraries that support FEP-ef61:
- apx_sdk (Rust)
Research
These areas are the focus of ongoing research:
- Alternative DID methods. FEP-ef61 recommends
did:key, but other DID methods can be used too. - Alternative transports. Portable activities may be delivered using protocols other than HTTP (e.g. peer-to-peer protocols).
- End-to-end encryption. A proposed implementation of encrypted direct messages has been described in FEP-0806: Simple client-side encryption. The work on encrypted groups has not started yet.
- Using single identity with multiple applications - requires a generic FEP-ae97 server.