Additionally, it might be helpful to look at the nostr-openmls rust crate I've been working on. The idea is that this library would serve as an abstraction layer between nostr clients and the OpenMLS API. Essentially handling some of the boilerplate and making sure that you're using the right settings and doing the right verifications along the way.

https://github.com/erskingardner/nostr-openmls

nostr:note1tk93pycrqxtpfegntastvm44qfakh8scwvp743vjrs633yv7kh6q6l0ctw

Reply to this note

Please Login to reply.

Discussion

Cool. This is super needed ... And I think your conclusions for why MLS for nostr are spot on too.

I am writing to inquire about the proposal you are presenting, specifically regarding the capabilities of Direct Message Nostr compared to SimpleX.

We have several requirements for our Direct Message implementation:

Encrypted Media Transmission: We need the ability to send encrypted media, not just text events. This means the uploaded media must also be encrypted on the server.

Encrypted Voice and Video Calls: It is essential for us to have secure, encrypted voice and video calling capabilities.

Self-Destructing Messages: We require a feature for messages to be self-destructing. This means that after a certain period of time or following our conversations, data should not be stored long-term on the relay or media server, ensuring it is completely deleted. This is crucial as any compromise of the private key could potentially expose all exchanged data.

Key Revocation: We need the ability to revoke our private key if lost or compromised, which would ensure a prompt and complete deletion of all associated data.

nostr:npub1exv22uulqnmlluszc4yk92jhs2e5ajcs6mu3t00a6avzjcalj9csm7d828

nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6

nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z