Privacy Policy
Last updated: August 2026
Your cycle data is sensitive. This policy explains, in plain language, exactly what Lunara does and does not collect, where it is stored, and the choices you have. The short version: by default, your data stays on your device and is never uploaded.
1. The default: local-first, no account
When you use the tracker without signing in, Lunara stores your periods, symptoms, settings and predictions only in your browser using IndexedDB. This data never leaves your device, is not transmitted over the network, and works fully offline. Lunara does not run analytics or advertising scripts on the tracker, login, or dashboard pages.
2. Accounts and authentication
Creating an account is optional and only needed for encrypted cross-device sync. If you register, we store your email address, a name, and a salted, hashed password (bcrypt). We keep a session cookie in your browser so you stay signed in. We do not collect or store your cycle data in readable form on our servers.
3. Encrypted sync (end-to-end)
If you turn on sync, Lunara encrypts your data on your device before uploading it. The server stores only ciphertext and wrapped (encrypted) keys — specifically: wrapped data key, wrapped recovery key, the encrypted vault, initialization vectors, key-derivation salts, iteration count, a version number, and a timestamp. We do not have your password or your recovery code, and we cannot decrypt your data.
If you forget your password and lose your recovery code, your synced data is permanently unrecoverable. This is the trade-off of true end-to-end encryption, and it is the reason we cannot read your data.
4. Analytics and advertising
We use Google Analytics and may show advertising on public content pages only (such as this one and our guides). These scripts are not loaded when you are in the tracker, login, or dashboard. We never sell personal data. Cycle data, whether local or synced, is never used for advertising or shared with advertising partners.
5. Cookies
We use a strictly necessary session cookie when you sign in. On public content pages, Google Analytics and any advertising may set their own cookies. You can control cookies through your browser settings.
6. Third parties and data residency
Lunara is hosted on Cloudflare (static pages, Workers API, and D1 database), which may process and store data across its global network. If you use Google sign-in, Google processes that authentication. Cycle data uploaded for sync is stored as ciphertext in Cloudflare D1.
7. Your rights (GDPR / CCPA and similar)
You can access and export your local data at any time from the tracker, and delete it by clearing browser storage or using the “erase everything” action. For account data and synced ciphertext, email privacy@lunara.app to request access or deletion. Because synced data is end-to-end encrypted, we can delete ciphertext on request but cannot read it for you.
8. Children
Lunara is not intended for users under the age at which they can lawfully consent to health data processing in their jurisdiction, and is not directed at young children.
9. Changes
We may update this policy. Material changes will be reflected by the “last updated” date above. For questions, email privacy@lunara.app.
Lunara is an educational tool and not a medical device or contraceptive. See our Terms of Service.