Great pod! Also, Cordn received a shoutout here. Really appreciate it! π We will continue building, so hopefully more people and merchants can have a great experience with private comms over Nostr
View quoted note β
Besao
besao@cordn.net
npub1qc8q...twss
Cooking π³
Wanna chat? https://cordn.net/p/besao
Multi-device support is coming along nicely. We already have it working in our dev branch, and feels like magic β¨ We're still polishing it, but we're confident we'll have it ready by next week!
View quoted note β
Weβve started working on the multi-device spec! I already have a solid draft for it, along with test cases. If youβd like to review it, please take a look

GitHub
cordn/spec/applications/multi-device.md at feat/multi-device Β· Cordn-msg/cordn
Private group messaging you can own. Contribute to Cordn-msg/cordn development by creating an account on GitHub.
GM GM!
π₯ Exciting news π₯ Encrypted media and pinned messagesπΌππ
Now you can share files and media in Cordn, and it is end-to-end encrypted. Also messages can now be pinned to the top of the chat. β¨
We added a new application spec to Cordn that defines how to encrypt and decrypt media for the chat. A photo or document is sealed on your device before it ever leaves, with a key derived from the group's own shared session, and only members can derive the same key to unlock it. The coordinator and the storage layer only ever see opaque bytes. They can store and relay the file, but they can't read it.
For storage, the default is Blossom, though the spec doesn't mandate it. That keeps Cordn aligned with the Nostr ecosystem's media layer while leaving room for other backends. The practical size limit for a file comes from whatever server you choose.
In the web app you can now upload and share files and media straight into your groups. You can configure which servers Cordn uses for uploads, and we ship a curated list of Blossom servers that are friendly to opaque encrypted bytes.
Any media link you paste into a message also renders inline now, so an image or video URL shows up as a preview instead of a bare link. And under Config β Media you can choose whether images and avatars load automatically, useful on a metered connection.
The second feature is pinned messages for groups. Anyone in a group can pin a message, and pinned ones gather in a carousel at the top of the chat. Jump straight to any of them, or open the full list to see them all and unpin. Each pin shows who pinned it.
A lot of media polish landed alongside:
β’ Tap any image to open it full-screen: zoom in or out (even past 100%), drag to pan, double-tap to fit, and save a copy.
β’ Download any shared file or image straight from its message menu.
β’ Media you've opened stays loaded when you scroll away and come back.
β’ Links, mentions, and previews now render in the message info panel too, not just in the chat.
β’ Avatars and banners respect your "load avatars" choice everywhere: chat bubbles, profile cards, and the group and direct-message list.
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 π
For storage, the default is Blossom, though the spec doesn't mandate it. That keeps Cordn aligned with the Nostr ecosystem's media layer while leaving room for other backends. The practical size limit for a file comes from whatever server you choose.
In the web app you can now upload and share files and media straight into your groups. You can configure which servers Cordn uses for uploads, and we ship a curated list of Blossom servers that are friendly to opaque encrypted bytes.
Any media link you paste into a message also renders inline now, so an image or video URL shows up as a preview instead of a bare link. And under Config β Media you can choose whether images and avatars load automatically, useful on a metered connection.
The second feature is pinned messages for groups. Anyone in a group can pin a message, and pinned ones gather in a carousel at the top of the chat. Jump straight to any of them, or open the full list to see them all and unpin. Each pin shows who pinned it.

Buckle up! Great new features are on the way π
Any message in a Cordn conversation now opens into a full info panel, the thread around it, who reacted and with what, and its delivery status, all in one place. β¨
Until now, message info lived behind a button buried in the overflow menu, and it only showed the raw event envelope. If you wanted to understand a message in context, what it was replying to, who had reacted, whether it had been edited, you had to piece it together yourself. The new panel brings all of that into a single view, with the full reply chain laid out as a proper thread.
While we were in there, we rethought how you interact with a message:
β’ The Info button now sits next to Reply and React on every message, so it is one tap away instead of hidden in a menu.
β’ From the panel you can jump straight back to any message in the chat, the one you're viewing or any other in the thread. On desktop the panel stays open beside the conversation; on mobile it closes so you land right where you need to be.
β’ The thread view indents replies by depth (and keeps deep conversations readable), so a long back-and-forth no longer collapses into a flat list.
Also in this release:
π When a message you had replied to got deleted or edited, its reply preview kept showing the original text. It now reflects the current state, "This message was deleted" or the edited content, so the conversation reads honestly.
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 π

Okay, the latest updates to the Cordn coordinator and web app have been a bit boring. Weβve been focusing on bug fixing and reliability. Now itβs time to get back to the fun stuff ahead! :)
Buckle up!
Joining a group in Cordn is now as reliable as it should have always been. π
If you ever left a group and asked to rejoin, you may have hit an annoying glitch: your join request wouldn't reach the admins until you sent it a second time (or hit "reset request state"). It was subtle, persistent, and it took us a proper bug hunt to pin down.
While we were in there, we cleaned up the rest of the join-request flow:
β’ You no longer see your own join request in your notifications after being re-added to a group where every member is an admin.
β’ Stale join-request notifications for groups you no longer administer are cleaned up automatically.
β’ An admin can now accept a join request from someone who is still technically in the group β they are cleanly removed and re-added instead of the accept silently failing.
Also in this release:
β¨ Coordinators now display the name their server advertises when available, with your custom label still taking priority. A coordinator's page also shows its about text, website, and picture.
π Sending a message no longer waits on an unrelated coordinator that is having trouble β only the group you are messaging waits for its own coordinator, so healthy groups stay snappy when another one is slow to reconnect.
π The sidebar finishes loading sooner after sign-in: join requests and key packages no longer wait for every group subscription to finish opening.
π The New conversation dialog and chat home now show exactly the same key-package list, so the two can no longer drift apart after a refresh.
π The key packages settings page now stays in sync with the rest of the app β creating or removing a key package updates every list immediately.
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 π
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:
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 π
GitHub
cordn/spec/03.md at master Β· Cordn-msg/cordn
Private group messaging you can own. Contribute to Cordn-msg/cordn development by creating an account on GitHub.
I donβt make the rulesβ¦ At most, two or three people work on this in their spare time, with only one of them putting in a bit more effort. Thereβs no funding so far aside from community contributions. Driven by the vision of empowering people to have alternative, private, and sovereign communications, and, of course, love π
View quoted note β
π New Cordn Web update live.
We smoothed out the coordinator and group-joining experience:
πΉ Coordinators are now saved automatically when you join a group or publish a key package β the separate "Save locally" step is gone, and joining a group can no longer silently change your default coordinator.
πΉ The New conversation dialog and the key-package directory now reflect coordinators you've joined the moment you join them β no manual save, no page refresh.
πΉ Stuck waiting on a join request? You can now hit "Request again" from the group page. Sent requests clear automatically once you're actually added.
πΉ Fixed: coordinators you just joined sometimes connected through the wrong relays.
The complete list of news at https://cordn.net/chat/news
Free and open source, as always π«Ά
#nostr #cordn #opensource
Great post :D
https://stacker.news/items/1513682
Yes, man! Great analysis π€
> Remember that the relay operator was defined as the scary vantage point because it sees the protocol-level events and the network layer in the same hands: what you do and where you are, at once. Cordn severs that convergence. [...] The party that can interpret the traffic cannot locate you, and the party that can locate you cannot interpret the traffic.
View article β
Oh wow, @Laeserin ! Thank you so much for such a fat zap! Really appreciate it :)
That will keep our public coordinator running for months π«Ά