pull down to refresh

Announcing a new specification for Cordn: sealed group payloads. 🔒

Are messages decryptable by the coordinator? No, they never were. MLS already encrypts your message with very fancy crypto. This new specification doesn't change that; it only reduces interpretability to the maximum.

Previously, the MLS wire framing still leaked the epoch number (a curious coordinator could watch epochs tick over). Spec/03 seals each payload under a key derived from your group's current MLS epoch secret, so the coordinator now just stores gibberish. It learns nothing. Not the content, not the epoch, not even the framing that says "this is MLS." Read the spec: https://github.com/Cordn-msg/cordn/blob/master/spec/03.md

A bonus consequence: since the routing group ID is now something the client supplies, groups could rotate their group ID from the coordinator's perspective, which also enhances privacy and reduces interpretability from the coordinator's point of view.

We upgraded the Cordn coordinator to version 0.3.x to implement this cleanly. We are rolling it out progressively in our web client, and it is opt-in for now:

• Old and new clients coexist transparently in the same group; sealed and plaintext messages mix seamlessly.
• You can enable it from any group's info page, under the 'advanced' dropdown.
• Once we are confident, sealed payloads will become the default.

We are testing this in the open, so feel free to enable it and break things. Found a bug? Let us know. 🐛

Also in this release, we have made some app improvements:

✨ Backup & recovery: export keys, group secrets, and coordinators; restore on a fresh device.
🐛 Some minor bug fixes.
🔄 Some minor changes.

The complete list is available at https://cordn.net/chat/news

Aren't you using Cordn yet? Just start chatting at https://cordn.net/

If you like the project and want to see it grow, please consider contributing in any way you can. Every bit counts, report a bug, contribute with your expertise, send some sats. We are building this together in the open 💛