← Back to Chatterbox

Privacy Policy

Last updated: 2026-09-24

0. In short

The text of your messages is encrypted on your device and can only be read by the people you send it to. We cannot read it, and neither can Google, whose servers we rent.

What we can see is that a conversation happened: which accounts are in it, and when they were active. Removing that is harder than encrypting the contents, and we have not finished. This policy says exactly where the line currently is.

1. What is end-to-end encrypted

Encrypted on your device, unreadable to us and to Google:

Most one-to-one and group messages additionally use a ratchet, meaning each message has its own key, so compromising your device does not expose earlier ones. Conversations where someone's client has not published the newer key material fall back to a single long-lived key, which does not have that property. The label under a message tells you which one it actually got.

One thing crosses this line, and only when you ask it to: looking a name up on Wikipedia sends that one name, not the message it came from. Section 6 says who receives it, and the lookup runs on the tap and not otherwise, so there is nothing standing to turn off. Summarising, translating and transcribing would cross it too — they are switched off in this release, with no control anywhere in the app that turns them on.

2. What is not encrypted, and what we can see

Encryption protects contents, not the fact of a conversation. These sit in the clear on our servers:

Typing indicators and read receipts are off unless you turn them on, and while off nothing is written.

What is no longer here: your email address and your name. Since September 2026 the account record holds only an account identifier — and since then there has been no address to hold anywhere. Signing up asks nothing about you: your account is a 24-word recovery phrase, and the credential Firebase Authentication checks is derived from it. What it stores is a random label under a domain that cannot receive mail.

Separately: because the app runs on Google Firebase, Google can see the IP address and timing of every connection your device makes to it. That is a property of the hosting, not of the app, and we cannot encrypt it away.

3. How people find you

They cannot search for you. There is no directory — no lookup by email, phone number or name — and the server refuses any query that tries.

You reach someone by sending them an invite link out of band, through whatever you already use. A link works once, expires after 24 hours, and can be withdrawn. Whatever you call someone is your own label for them, kept for you; if they introduced themselves, that name reached you encrypted.

4. What we collect

That is the whole list. There is no analytics and no crash reporting. The app used to send screen views to Firebase Analytics and crash reports to Firebase Crashlytics, both carrying your account identifier, so neither was anonymous; both are gone, along with the libraries that sent them. Errors are printed on a developer's own machine during development and go nowhere else.

5. Where it is stored

On Google Firebase — Firestore, Storage and Authentication — under security rules that decide who may read and write each document.

On your device, cached messages, settings and your app-lock PIN are encrypted with a per-device key held in the platform keystore (iOS Keychain, Android Keystore) rather than in ordinary app storage.

The private key that decrypts your messages never leaves your device, except as the recovery phrase you choose to write down. We do not hold it and cannot recover it for you. Lose it, and the messages sent to that device cannot be read again — by anyone, including us.

Versions 1.2.0 and earlier also saved a copy of the phrase to Google Block Store, Android's own backup, each time you signed in. If your phone had a screen lock, that copy was synced to your Google account, end-to-end encrypted. From version 1.2.1 the app no longer does this, and deletes that copy each time it starts.

6. Who else receives data

We do not sell, trade or rent your personal information. Data reaches:

The last three are switched off in this release. There is no control anywhere in the app that turns transcription, translation or summaries on, so nothing reaches those three services. They are listed rather than deleted because the code is still here and the features are meant to return — and when they do, they return with this disclosure and with a prompt before the first use. What would be sent then is sent to produce your result, not to train anything; neither a transcript nor a translation is stored on our servers.

The Wikipedia lookup has no switch because there is nothing standing to switch off: it runs on the tap and not otherwise. Wikipedia receives that one name and your IP address, the same as if you had typed it into their search box — no account, no message, no conversation. What comes back is shown and not saved, and nothing about it is written to the conversation.

Cloudflare Realtime has no switch either. Most calls do not need it: two devices that can reach each other directly — most calls on the same network — connect without it, and nothing is relayed. When they cannot, commonly because the two of you are on different mobile networks, the already-encrypted call is relayed rather than left unable to connect. What Cloudflare sees is both IP addresses, the call's timing, and roughly how much data moved; the audio and video stay under the same DTLS-SRTP encryption described in section 2, so relaying does not decrypt them.

We may disclose what we hold if the law requires it. What we hold is the list in section 2. We cannot produce message contents, because we cannot read them.

7. Push notifications

Firebase Cloud Messaging delivers notifications. Your device token is stored in a private part of your account that only you can read.

Notifications carry no message text. Your device decrypts the message locally and composes what you see; Google delivers the envelope, not the contents.

8. What you can do

If you would rather we deleted something by hand, write to us.

9. Retention

We keep your data while your account exists. Deleting the account deletes it, except for the jointly-held content noted above. Per-chat expiry removes messages on the schedule you set.

10. Limits you should know about

We would rather tell you these than have you find them.

11. Children

Chatterbox is not intended for children under 13, and we do not knowingly collect their information. If you believe a child has given us personal information, contact us and we will delete it.

12. Changes

We may update this policy. Significant changes will be announced in the app, and the date at the top is when it last changed.

13. Contact

Questions about this policy: [email protected]

14. Checking for a newer app version

Google Play is not the way this app reaches your Android phone. It is downloaded from chatterbox.fans instead, and a store that isn't in the loop cannot check for updates on your behalf — so this app can, if you ask it to.

Tapping "Check now" sends one request to chatterbox.fans asking which version is current. That request carries your IP address and nothing else — no account, no device identifier, no message. What comes back is a version number, compared on your phone against the version you're running; nothing is downloaded automatically, and nothing about the check is written to the conversation.

This has no switch because there is nothing standing to switch off: it runs on the tap and not otherwise.

If you install the update, it replaces the app in place using the same signing key, the same way an update from Google Play would.