By separating core protocol requirements and optional features.
The guide has a section titled “Protocol features”:
This is a place where information about optional features is collected, and soft deletion FEP could be mentioned there. A formal specification could be structured in a similar way.


I don’t know much about recent developments, but the early version of the protocol had several major flaws:
- Identity is based on a non-rotatable key, other types of identity are not supported.
- No privacy without encryption.
- Media attachments are not supported, all images are stored on a single server.
- Servers only store data and don’t do anything else, so they get abstracted away and everyone uses the same 5 relays (in Fediverse each server has a personality, and that creates a strong incentive to self-host).
There are also many minor things that I dislike, for example the use of numbers instead of human-readable names, unusual cryptography and so on.