Privacy Policy
Effective date: April 22, 2026 · Last updated: September 30, 2026
CalmMessage is an iMessage extension that helps you rewrite emotionally charged text messages before you send them. This policy explains exactly what data we collect, what we never collect, who we share it with, and how long we keep it.
At a glance
WE COLLECT
- Identifiers: Email address or Apple private relay address (via sign-in)
- Usage Data: Rewrite counts, mode & timestamps
- Account Status: Subscription tier and purchase events (via RevenueCat)
- Device Identifier: A device ID, used only to detect first-time use
WE DON'T KEEP
- Your message text (discarded right after each rewrite)
- Message history or archives
- Payment or card details
- Advertising or tracking data tied to your identity
We do not sell or rent your personal data, and we do not share your account, message, or app usage data with advertisers or third-party marketers. The one exception is described in the Cookies section below: if you accept our cookie banner, a basic ad measurement event (like a page view) is shared with Meta from our marketing pages only.
What we collect and why
Account Identifiers
When you sign in, Firebase Authentication (operated by Google) verifies your identity and provides us with your Firebase user ID and email address. We store these in our database to manage your account and subscription.
If you sign in with Apple and choose Hide My Email, Apple generates a private relay address (ending in @privaterelay.appleid.com) unique to you and this app. We store that relay address in place of your real email — we never see your actual Apple ID email. The relay address functions as your account identifier within CalmMessage and is subject to the same retention and deletion rights as any other email address we store.
Device Identifier
So we know whether to show first-run onboarding, we record a device identifier the first time the app is launched on a device. It is stored in its own table with a timestamp and nothing else — a simple "has this device used CalmMessage before" flag.
We do not link it to your account, email, usage data, or the diagnostic logs described below, and we do not use it for advertising, analytics, or profiling.
Usage Data
We record how many rewrites you have performed, which rewrite mode was used (de-escalate, shorten, or set-boundary), and when each rewrite occurred. This is used to enforce free-tier limits and provide usage summaries.
Subscription & Purchase History
We manage subscriptions through RevenueCat, which records your purchases, renewals, cancellations, and refunds and links them to your Firebase user ID. We use this to apply the correct entitlement, show you your current subscription status, and understand revenue and cancellations.
We keep a log of these subscription events (what happened and when) on our server. It is linked to your account and is deleted with it.
Message Content
We do not store the text of your messages or their rewrites in our database. Your text is held in memory only long enough to generate a rewrite, and is then discarded. We do not keep any fingerprint, hash, or other derived copy of your message content.
| Data Category | Storage Location | Retention | Reversible? |
|---|---|---|---|
| Firebase UID / Email (or Apple private relay address) | Our database (VPS) | Until account deleted | N/A |
| Rewrite counts / Mode | Our database (VPS) | Until account deleted | N/A |
| Full Message Text | Not stored (processed in memory) | Discarded after rewrite | Not retained |
| Full Rewrite Text | Not stored (returned to your device) | Discarded after rewrite | Not retained |
| Subscription / purchase events (via RevenueCat) | Our database (VPS) | Until account deleted | N/A |
| Device identifier (onboarding flag) | Our database (VPS) | Kept as a standalone flag; not linked to your account | N/A |
Diagnostic & Operational Logs
For stability monitoring, our server keeps short-lived operational logs containing usage metadata — such as rewrite counts, which mode was used, response timing, and error traces. These logs are linked to your account identifier so we can report your usage accurately and trace problems, so they are not anonymous. They do not contain your stored message history. They are kept only on our private VPS, are never transmitted to other parties, and are automatically deleted on a rolling 7-day basis.
Third-party data processors
The following services process your data. We have no control over their own internal data retention policies — please review them directly.
The CalmMessage app contains no advertising networks and no third-party analytics or tracking SDKs. We do run our own analytics on our server, using data we collect ourselves: rewrite counts, modes, and subscription events. Your in-app activity, message content, and account data are never shared with advertising, analytics, or marketing companies. We use the Meta Pixel on our marketing site (calmmessage.com), covered in the Cookies section below. It never has access to your in-app activity, message content, or account data.
Cookies
This section explains whether and how CalmMessage uses cookies and similar tracking technologies, across the CalmMessage iOS app and this website.
The CalmMessage app
- No cookies. No tracking pixels.
- No advertising SDKs. No third-party analytics SDKs.
- Your messages and in-app behavior are never used for advertising, ever.
calmmessage.com
- Necessary: strictly necessary cookies (Cloudflare security).
- Advertising: a Meta advertising cookie, on our marketing pages only, on only after you accept our cookie banner.
- Never: cookies that connect to your in-app activity, messages, or account.
We do not sell or rent your personal data, and we do not share your account, message, or app usage data with advertisers or third-party marketers. The one exception is the Meta advertising cookie described here, which only runs if you accept it.
The CalmMessage iOS app
CalmMessage is a native iOS iMessage extension. It does not use a browser and therefore cannot set browser cookies. Authentication is handled entirely through the Firebase Authentication SDK, which stores a secure token in the iOS Keychain, not a cookie. That token is sent directly to our API over HTTPS and verified server-side on every request.
This website
The marketing site you're reading right now is a separate surface from the app. It uses the Meta Pixel, on our marketing pages only, to measure how people find CalmMessage. Strictly necessary cookies are also set by our hosting provider (Cloudflare) for security and bot protection; these don't identify you and aren't shared with us in any usable form.
The Meta Pixel is off by default. A cookie banner appears on your first visit, and nothing loads until you accept it. Declining doesn't affect your ability to use the site or the app, and you can change your mind at any time by clearing your browser's cookies for this site. The pixel runs only on our marketing pages, not on this page, the support page, the settings page, or the accessibility page. The only events it sends are page views and a single signup event when you sign up for early access; it never receives anything about your messages, your emotional state, or how you use the app. Because the pixel is opt-in everywhere rather than only where a law requires it, every visitor gets the same control, including visitors covered by the EU and UK GDPR, California's CCPA/CPRA, and Quebec's Law 25.
| Technology | Used? | Purpose |
|---|---|---|
| Strictly necessary (security) | Yes | Set by Cloudflare for bot protection. Doesn't identify you. |
| Analytics cookies | No | Not currently used. |
| Advertising cookies | Yes, with consent | Meta Pixel, to measure how people find us and reach similar audiences with our marketing. |
| iOS Keychain (app only) | iOS only | Firebase stores your auth token here. Not a cookie, not web-accessible. |
Data retention
- Account & Usage Data: Kept for as long as your account is active.
- Diagnostic Logs: Automatically purged every 7 days.
- Subscription & Purchase Events: Kept for as long as your account is active, then deleted with it.
- Device Identifier (onboarding flag): Kept as a standalone record. Because it is not linked to your account, it is not removed by account deletion. Email us if you want it cleared.
- Account Deletion: All associated records are permanently deleted from our database within 30 days of a deletion request.
Your rights
Access and export
You can request a copy of the data we hold about you (email, tier, usage counts, subscription events). Requests are fulfilled within 30 days.
Deletion
You may delete your account and all associated data at any time via the "Delete Account" option in the app settings, or by emailing us (see below). We will permanently delete your records within 30 days. Deletion also notifies Firebase and RevenueCat so your account is closed out on their end as well.
Regional Rights (GDPR / CCPA)
Depending on your location, you have the right to access, rectify, erase, and port your data. We process your personal data as necessary to perform our contract with you. This means we use your information to fulfill our obligations, including delivering products or services you have requested, processing payments, and managing your account. This processing is essential for the establishment and performance of our contractual relationship.
We do not "sell" personal information as defined by the CCPA. The Meta Pixel on our marketing site can count as "sharing" personal information for cross-context advertising under the CCPA/CPRA. Because it is off until you affirmatively accept our cookie banner, no sharing happens unless you choose it, which satisfies your right to opt out of that sharing before it ever occurs. To exercise any of these rights, contact us below.
Security
All communication between the CalmMessage app and our server is encrypted in transit via HTTPS/TLS (TLS 1.2 or 1.3). The app additionally uses certificate pinning, so it will only connect to our genuine server and rejects any intercepted or tampered connection. Our database is stored on a private VPS with restricted access, and Firebase Authentication tokens are verified server-side on every request.
No system is perfectly secure. In the event of a data breach, we will notify affected users within 72 hours of discovery.
Children's privacy
CalmMessage is not directed at children under 13. We do not knowingly collect personal information from anyone under 13. If you believe a child has provided us information, please contact us and we will delete it promptly.
Changes to this policy
If we make material changes to this policy, we will update the effective date above and notify users via the app or email. Continued use of CalmMessage constitutes acceptance of the updated policy.
Contact us
For privacy questions, data requests, or account deletion:
Email: support@calmmessage.com
We aim to respond to all privacy inquiries within 2 business days.