pull down to refresh
I agree. This is the reason I've given for why we don't have DMs yet and I was capitulating.
I'm probably overestimating how hard it'd be to build a e2ee PoC.
I'm probably overestimating how hard it'd be to build a e2ee PoC.
Assuming you're not going to build your own cryptography, it's easy to overestimate. Assuming you plan to roll your own, probably you're properly cautious.
MLS in a browser. How hard can it be? lol
I found someone giving it a shot already at least: https://github.com/LukaJCB/ts-mls
It's even listed on the "official" MLS implementations page, great process on the PR /s, and the author of that ts lib opened a pull request for it despite writing in the readme:
This library has not undergone a formal security audit. While care has been taken to implement the MLS protocol correctly and securely, it may contain undiscovered vulnerabilities. If you plan to use this library in a production or security-critical context, proceed with caution and consider conducting an independent security review.
Make of that what you will. If I personally were to integrate a standard and there would be no audited, non-solo developed libs, I'd probably write and have audited my own lib. So in either case we're kind of back to "you're right to fear it", sorry, lol.
However: that implementation still isn't the hardest problem. The hardest problem, even if you write a ts mls lib yourself, is still key management.
I'd hope we can reuse the encrypted "vault" that we use for syncing send wallet creds, but there's a lot more state in these protocols and having one key to retrieve it all may defeat their purpose.
Yeah I thought about that. I think that the distinction is that all the data in the vault can be reset and reconstructed but messages cannot.
It's perhaps naive but I was thinking we would hold the messaging keys in this vault as a backup of whatever we store on the device. Then there's at least some redundancy if the vault needs to be reset or the device gets wiped.
Maybe the reverse makes more sense. Wallet sync could be done by sending messages to other devices which only have on-device keys.
Anyway, I started out of my depth and went deeper. It should be a fun tab to keep open with Chat either way. Thanks for the motivation!
I think that
encrypt laterwill cause you problems with:Also note that I'd love to have a little setting to switch it off completely until that future encryption-enabled version, to reduce the temptation of misuse by people, including myself, that want to use DM but then inadvertently doxx themselves in the most awful ways thinkable without having any cryptographic backstop.