Are voice audio messages end-to-end encrypted?
Users can enable message encryption in their settings. In the app with message encryption turned on, each message is encrypted end-to-end: Both on-device and cloud processing were designed with layers of security to help keep your Jamme experience safe. We have safeguards in place to protect data from being hacked. Data sent to our cloud is encrypted and securely stored in the cloud servers.
A brief description of our encryption model follows:
- End-to-end encryption for audio streams involves accessing the audio frame or packet and encrypting it post-compression before transmission to the Media Server or cloud. Currently, the cloud manages encryption.
- For storage in the cloud, we utilize SSE-S3 encryption, and for data transmission from the cloud to mobile devices, we employ HTTPS through CloudFront to ensure secure transmission.
- We also follow a hybrid encryption model. Initially, we generate a pair of asynchronous encryption keys on the client-side. The private key is stored within the device's Keychain, while the public key is stored on our servers.
- For each message that's sent, a unique symmetric AES-128 key (a message key) is generated. This key is used to encrypt the actual content of the message. The generated message key is then encrypted asymmetrically using the private key from the sender's Keychain and the public keys of the other participants.
- Upon receiving the message, the recipients can decrypt the message key using their respective private keys. Once the message key is decrypted, it can be used to decrypt the actual message content. The encrypted content of the messages is persistently stored on our servers.