~/ember$cat privacy-policy.md

Privacy Policy

Ember is built so that we can't read your messages. Here is exactly what we can see, what we store, and why.

last updated 28.10.2026

01Data Controller

The controller of personal data collected within the Ember application is Sławomir Paduch.

Contact for data protection matters: [email protected].

02What data we collect

2.1. Account data – email address, username, password (stored only as a bcrypt hash), public account identifier.

2.2. End-to-end encryption data – new encryption (v2): for each of your devices, public identity keys, a signed prekey and a set of one-time prekeys, plus a signed list of your devices. Your account key is stored on the server only in a form wrapped with your recovery code (generated on your device); the server cannot unwrap it. Older encryption (v1): your public key. Accounts created before the PIN was retired also had their private key stored on the server, encrypted with a PIN. The app deletes that copy once your key is safely in your recovery-code backup. Until that happens, a short PIN can be guessed by brute force by anyone who obtains the encrypted copy, so treat that protection as weak. New accounts never upload such a copy. Your account password (stored as a bcrypt hash) is a separate thing from the PIN and the recovery code and unlocks no key. The controller does not know your PIN or recovery code and cannot decrypt the content of your messages.

2.3. Communication content – messages, images, voice recordings and the setup of calls are end-to-end encrypted. What the server can still see depends on which encryption a chat uses; see 2.3c and 2.3d. Chat backgrounds (photos, GIFs and videos, app-wide and per chat) are encrypted on your device before upload; the server stores only an unreadable blob that only you can download. Profile pictures are not end-to-end encrypted and are visible to other users.

2.3a. Public profile – display name, bio, status (emoji, text and expiry time) and profile color, if you choose to set them. They are not encrypted and are visible to other users of the app, like your username and profile picture.

2.3b. Preferences – appearance settings (theme, colors, fonts, animated background parameters) are stored unencrypted so they follow your account across devices. Personal customization – contact nicknames and colors, chat folders, pinned chats, per-chat looks and emoji usage – is end-to-end encrypted on your device; the server only stores an unreadable blob. Notification settings – quiet hours and time zone, the list of people allowed to notify you during quiet hours (VIP), muted chats and the notification preview mode – are stored unencrypted, because the server needs them to decide whether to send a push notification.

2.3c. What the server sees with the new encryption (v2) – the new encryption is being rolled out gradually and applies only to chats where both sides use the new version of the app; a group switches when an admin upgrades it. The server does not see the sender or the conversation of a one-to-one message, the text, the attachments, reactions, read state, edit history, or the name, description, picture and room names of a v2 group. It still sees:

2.3d. What the server sees in older chats (v1) – chats and groups that have not moved to the new encryption work as before. Their content is end-to-end encrypted, but for as long as the messages exist on the server it stores and can see:

2.4. Group data – the member list, roles, bans and the moderation log are visible to the server in every group. In groups on the older encryption the name, description, picture and room names and topics are unencrypted too; in groups on the new encryption they are encrypted on your devices and the server keeps only an unreadable blob. Groups on the new encryption also have a membership log stored on the server: every addition, removal, role change and room change, signed with the account key of the member who made it. The server can read this log but cannot forge an entry in it.

2.5. Technical data – IP address and connection times (rate limiting, protection against abuse), the push token (FCM) of each device, the day each of your devices was last seen and, if you turn on the history backup, the size and day of its encrypted chunks.

03Purpose and legal basis for processing

DataPurposeLegal basis (GDPR)
AccountService provisionArt. 6(1)(b)
Encryption keysE2EArt. 6(1)(b)
Message metadataMessage deliveryArt. 6(1)(b)
IP addressProtection against abuseArt. 6(1)(f)
Push token (FCM)NotificationsArt. 6(1)(a)
Public profileShowing who you are to other usersArt. 6(1)(b)
Preferences and notification settingsPersonalizing the app, deciding when to notify youArt. 6(1)(b)
Call and voice-room trafficConnecting calls and voice rooms (TURN/SFU)Art. 6(1)(b)

04Who we share data with

Firebase Cloud Messaging (Google) – the push token of your device and the push notification itself. Pushes of the new encryption are data-only wake-ups: they carry no names and no user or conversation identifiers, and no message content; the app shows a generic “New message”, and details appear only after the app has decrypted the message. Pushes of older chats may carry the sender or group name, depending on your preview setting (or only a generic “New message”), and never the content of an encrypted message.

Cloudflare, Inc. – relay servers (TURN) for calls and the media server (SFU) for group voice rooms. Cloudflare sees IP addresses, connection times and the volume of the relayed traffic. Audio and video are end-to-end encrypted, so Cloudflare cannot see their content.

05Data retention period

Until the account is deleted – deletion is permanent. With the new encryption, a message that is waiting for a device is deleted once that device confirms receipt, and at the latest after 30 days; encrypted attachments are deleted after 30 days. Encrypted history backups stay until you delete them or delete the account (switching the backup off in the app does not yet delete chunks that are already stored). Messages of older chats stay on the server until the account is deleted or until that data is removed after a migration to the new encryption.

06User rights

Access, rectification, erasure, restriction, data portability, objection, complaint to the supervisory authority (in Poland: PUODO). Contact: [email protected].

07Data security

08Local data on the device

Your private keys are created on your device. The private key of the older encryption is kept on the device (an old account may still have a PIN-encrypted copy on the server until the app deletes it, see 2.2); the device keys of the new encryption and your local message database never leave the device, except as an encrypted backup if you turn it on. The recovery code (and the PIN of an old account) is never sent to the server. A decrypted copy of your encrypted preferences (see 2.3b) and of your message cache is kept on the device too. All of it is removed when you log out.

09Children and minors

Not intended for persons under 16 years of age.

10Changes to the Policy

We will notify you via the “Message from the creator” feature in the app.

11Contact

[email protected]