Who is responsible
Oneiros is made by David Marinangeli, who is the data controller for the data described here. Contact: davidmarinangeli.dev@gmail.com
What we collect, and why
Your dreams
What you tell the app: the dream (written or spoken), its reading, the symbols you note and what they mean to you, the dream thread that links your dreams, and the tarot card you draw.
Without an account: stored only on your phone. Removing the app removes them.
With an account: stored in Google Firebase (Cloud Firestore, European Union). The content of dreams, readings, symbol notes, the dream thread and drawn cards is encrypted with AES-256 before it leaves your phone. Dates stay readable so the journal can be sorted.
Why: to give you the journal you asked for (performance of a contract).
Your voice
When you speak a dream, the recording is made on your phone, sent once to our server and to Gemini to be transcribed and read, and the temporary file is deleted right after. We don't keep recordings. The voice demo on this website runs only in your browser: nothing is recorded or sent.
What the AI receives
When you ask for a reading, our server (Google Cloud Functions, Belgium) sends Google's Gemini API:
- the dream's text or recording, and the app's language;
- for the “thread”, short summaries of a few earlier dreams: title, a one-line summary, symbols and date, never their full text;
- your goals and your most recurring symbols and feelings, if you've shared them.
Your name and how you asked the app to address you are never sent. Google processes this data as our provider under the Gemini API terms for paid services and does not use it to train its models. Drawing a tarot card sends the card and a summary of the dream in the same way.
Your account
If you create an account: your email address, your name if your Google or Apple account provides one, and how you signed in (Google, Apple or email). Handled by Firebase Authentication. Why: to keep your journal across devices (contract).
What stays on your phone
The name on your dream passport, how the app addresses you, your wake-up time, goals and reminder settings are stored only on your phone. Reminders are scheduled by your phone; no push service is involved.
Purchases
Subscriptions are sold by Apple or Google; we never see your card. RevenueCat (USA) receives the purchase receipt and an identifier (your account ID, or a random ID without an account) so the app knows whether you have Pro. Why: to provide what you paid for (contract), and to keep the records tax law requires (legal obligation).
Rewarded videos
If you choose to watch a video for a reward, Google AdMob shows the ad. In the EU and UK, Google's consent form asks you first. Your advertising identifier is used, and ads are personalised, only if you agree there. You can change your choice any time in Settings → Ads privacy choices. Why: your consent.
How the app is used, and crashes
Firebase Analytics records which screens are opened and events such as “dream saved” or “reading opened”, with the device model, system version, country and a random app ID. It never receives the content of your dreams. Firebase Crashlytics receives crash reports. Why: to find what confuses people and fix bugs (legitimate interest). You can object at any time by writing to us.
Measuring our ads
On iPhone, the TikTok SDK receives app events (install, opening, purchases) so we can tell whether our TikTok ads work. Your advertising identifier is shared only if you allow tracking when your phone asks. Why: measuring our advertising (legitimate interest); tracking only with your consent.
Security and abuse
Firebase App Check checks that requests come from the real app. For readings without an account we count requests per IP address for the day, to stop abuse. These counters are deleted after two days. Why: keeping the service safe (legitimate interest).
Sharing and support
When you share a dream, it goes only where you send it, for example to Instagram Stories through Meta's app. If you email us, we keep the conversation until your request is resolved.
This website
This website is hosted on Google Firebase Hosting. To deliver its pages, Google processes your IP address and browser details in its server logs. The site sets no cookies, runs no analytics and loads nothing from third parties; its fonts are served from the site itself. Why: showing you the page you asked for (legitimate interest).
Who receives data
Only the providers above, each for the purpose described:
| Provider | What for |
|---|---|
| Google Firebase | Accounts, encrypted journal, analytics, crash reports, App Check, hosting |
| Google Gemini API | Transcribing and reading dreams, tarot cards |
| Google AdMob | Rewarded videos you choose to watch |
| RevenueCat | Knowing whether you have Pro |
| TikTok | Measuring our ads, on iPhone |
| Apple, Google | Selling subscriptions |
Some of them are in the United States. Those transfers rely on the EU–US Data Privacy Framework or on the European Commission's Standard Contractual Clauses.
How long we keep it
- Your journal: until you delete a dream or your account.
- Deleting your account erases everything in our database right away: dreams, readings, notes, the thread, your subscription status and moonstones.
- Analytics events: at most 14 months. Crash reports: 90 days.
- Purchase records: kept by Apple, Google and RevenueCat for as long as billing and tax law require.
- Data sent to Gemini: kept by Google only as its terms for paid services allow, for example briefly to detect abuse.
Security
Data travels encrypted (TLS), and our database only lets you read your own journal. The encryption key for your dreams is derived from your account, so this is not end-to-end encryption: technically we could decrypt a journal. We commit not to.
Your rights
You can access, correct, export or delete your data, restrict or object to its use, and withdraw consent at any time.
- Delete your account in Settings → Delete account, or follow these steps without the app.
- For everything else, write to davidmarinangeli.dev@gmail.com. We answer within 30 days.
You can also complain to your data protection authority. In Italy that's the Garante per la protezione dei dati personali.
Children
Oneiros is not meant for anyone under 13, or under the age of digital consent in your country (14 in Italy and Spain). We don't knowingly collect their data; if we learn we have, we delete it.
Changes
If this policy changes, we update the date above, and we tell you in the app when the change matters.