Source code and details: https://git.anarchists.space/NanoChat/Server
Features
- Small codebase
- Messages expire after 30 days
- Panic button to delete all messages in a room
- WebSocket for communication
- Docker support
Technical details
- AES-256-GCM for client-side encryption
- Key is not sent to server


How does the anonymity work?
There are no user identities (not even cryptographic ones), and room encryption key is stored in URL which is never sent to server. Anyone can choose any nickname and you can access official instance (https://nanochat.anarchists.space/) through Tor.