Problem
It seems that ALL messages are stored in plaintext on the server, which raises some concerns for privacy.
Proposed solution
Store the messages in an encrypted manner in the server, and the server also holds the keys for decryption and it's used when needed (e.g. moderation, or regular viewing), and it also sophisticates anybody trying to read the messages directly and purely just from the database.
Notes (optional)
This is different to E2EE, but it is similar to Telegram's Cloud Chats. From what I've found, Telegram stores the messages in an encrypted manner at rest yet they also hold the encrypted keys in the server as well.
It's recommended to store the keys inside a KMS (key management system) like OpenBao/HashiCorp Vault.
This would be a good default for every single chat on the platform, but maybe E2EE for DMs would be nice. I won't talk about that here, though.
15 comments
Comment by Rex
Comment by @frolleks
Comment by @DarkRTA
Comment by @tsubus
Comment by @DarkRTA
Comment by @frolleks
Comment by @DarkRTA
Comment by @Darker-Ink
Comment by @frolleks
Comment by @frolleks
Comment by @frolleks
Comment by @frolleks
Comment by @frolleks
Comment by @spectrapulse
Comment by @frolleks