ASTRA
Privacy Policy.
1. Who we are
Astra is a daily horoscope app published by CodeEnsis Ltd. ("we", "our", "us"). This policy explains what Astra collects, how it is used, and the rights you have.
2. What Astra stores on your device
The following data lives only on your phone, in the app's private storage, and is never transmitted to CodeEnsis or any third party:
- Your sun sign and preferred tone of voice.
- Your date of birth. Optionally, your time of birth and the city you were born in. Astra works without time and city — they make the natal chart and forecasts more precise, nothing more.
- Readings you tap Save on (the horoscope text, affirmation, sign, tone, and timestamp).
- Notification preferences (whether the daily reminder is on, and the time of day you chose).
If you uninstall Astra, all of this is removed with the app. There is nothing left for us to delete on a server, because we never had it.
3. What is sent to our backend
To generate today's reading, Astra calls a CodeEnsis Cloud Function. The request contains:
- Your sun sign (e.g. "libra").
- The tone you picked (e.g. "warm", "sharp", "esoteric").
- The date scope being requested (today, this week, this month, or a compatibility pair).
- Your app locale (e.g. "en-US"), so the response is in the right language.
- An anonymous opaque identifier, used purely to enforce a per-device daily quota that protects the AI endpoint from abuse. The identifier is not linked to your name, email, or any device identifier we control. We do not use it to build a profile of you.
What is not sent: your date of birth, your time of birth, the city you were born in, your saved readings, your name, your email, your contacts, your location, or any advertising identifier.
4. The AI provider
To generate a reading, Astra's Cloud Function calls OpenAI (gpt-4o-mini). The prompt contains your sun sign, your tone, the date scope, and your app locale. It contains nothing that could be used to identify you to OpenAI.
OpenAI's data handling is described at openai.com/policies/privacy-policy. CodeEnsis has commercial API terms with OpenAI under which prompts and outputs are not used to train OpenAI models.
5. The shared reading cache
To avoid re-billing the AI for the same reading, generated outputs are cached server-side keyed by sign + tone + date + locale. Every person who shares those four values reads the same cached output that day. The cache is fully anonymous: it contains no user identifier and no personal information.
6. What Astra does not collect
- No real name, email, phone number, password, or social login.
- No advertising identifiers. No third-party advertising SDKs.
- No analytics or crash-reporting SDKs in the current release.
- No contacts, location, microphone, camera, or photo-library access.
- No precise device location. The city you enter is stored on-device only.
7. Permissions Astra asks for
- Notifications — to deliver the optional daily reading reminder at the time you choose. Reminders are scheduled locally on your device; no remote push servers are used. You can revoke this permission at any time in your device's system settings.
8. Children
Astra is rated 12+ and is not directed at children under 13. We do not knowingly collect data from children under 13.
9. Your rights
Because there is no account and your birth details never reach our servers, the exercise of your rights is straightforward:
- Access / portability: Saved readings are visible in Profile → Library → Saved readings. Birth details are visible in Profile → Birth details. Both live on your device and are visible to you directly.
- Deletion: Uninstalling Astra removes all of your data, because all of it is local. There is no server-side profile to delete. If you want us to confirm that nothing is held about you, write to [email protected] — we will reply with a written confirmation.
10. Data retention
On-device data is retained until you uninstall the app or clear it from app settings. The shared anonymous reading cache is retained for up to 30 days. The anonymous per-device quota counter resets daily.
11. Earlier versions of Astra
Before v1.0.1 (May 2026), saved readings were also written to a Firestore collection under an anonymous user id. On the first launch of v1.0.1 or later, any such records are pulled down into your phone's local storage and then deleted from our servers. After that one-shot drain, no saved readings remain on our backend. If you would like written confirmation that the legacy records tied to your previous anonymous id have been removed, contact [email protected].
12. Changes to this policy
We may update this policy as Astra evolves. Material changes will be reflected here with an updated "Effective" date above. Continuing to use Astra after a change means you accept the updated policy.
13. Contact
Questions or requests about this policy: [email protected]. A human reads every message.