Milduna — vocabulary learning app for Android, iOS and the web.
Version 2.1 — Last updated: September 2, 2026
Milduna — published by Amaury PASCHER.
Contact for any privacy question: contact@milduna.com
The full publisher identity (legal form, registered address, registration number) is set out in the Legal Notice.
No Data Protection Officer has been appointed: the processing described below does not meet the conditions of Article 37 GDPR.
You can use the whole app without signing in. Your progress (words learned, streaks, unlocked lessons, keys, display preferences, daily goal) is written only to the local storage of your browser or device (localStorage). This data is never sent to our servers. It is lost if you uninstall the app or clear your browser data, and it cannot be recovered.
If you choose to save your progress, we use Firebase Authentication to sign you in. What is shared depends on the method you pick:
| Sign-in method | Data we receive |
|---|---|
| Google Sign-In | Email address, display name and profile picture attached to your Google account — provided by Google, with your explicit authorisation at sign-in. |
| Sign in with Apple iOS | Your name (if you agree to share it) and an email address. If you choose Hide My Email, Apple gives us only a relay address ending in @privaterelay.appleid.com — we never see your real address. |
| Email / password | Your email address. The password is created, hashed and stored by Firebase — we never have access to it in clear text, and we cannot read it. |
A unique account identifier (Firebase UID) is generated. It is the only key linking you to the data described below — it contains no name, no email and no device identifier.
Once signed in, your progress is synced to Cloud Firestore in a single document keyed to your UID (users/{uid}). It holds: words and lessons completed, streak and daily-goal statistics, unlocked lessons and themes, keys earned, the language pairs you study, and display preferences.
It does not hold your name, your email address, your location, your contacts, or anything you type outside the exercises. Firestore security rules restrict every read and write to the signed-in owner of the document: no other user, signed in or not, can reach it.
If you share an invitation code, we store two minimal records: the code and the account identifier that owns it, and, for each person who enters that code, the fact that they did and when. The code itself is derived from the account identifier through a SHA-256 hash and cannot be reversed back to it.
No name, email address or learning progress passes through these records. They exist only so a referral reward can be granted, and they are erased when the account is deleted.
The App shows ads served by Google AdMob. Depending on your region and your choices, AdMob may collect:
In the EEA, the UK and Switzerland, the app shows a Google-certified consent screen (CMP) on first launch, before any ad is requested. If you decline, ads may still appear but are non-personalised. You can change your answer at any time from Settings → Ad preferences inside the app.
On iOS, personalised advertising also requires your permission through Apple's App Tracking Transparency prompt. If you decline it, the IDFA is not accessible to AdMob and advertising stays non-personalised.
AdMob has no access to your Milduna account or your learning progress. See the Advertising & Consent page for details.
Pronunciation clips are pre-generated files stored in Cloudflare R2 and delivered by a Cloudflare Worker. Playing a word sends a request to Cloudflare, which — like any web server — receives your IP address and standard technical request data (date, user agent, file requested) and keeps them for a limited period for security, anti-abuse and delivery purposes.
No account identifier, no cookie and no progress data is attached to these requests: they cannot be tied back to your account.
The web version of the app and the legal documents you are reading are hosted on Cloudflare Pages (Cloudflare, Inc.), at milduna.com. Cloudflare receives your IP address and standard technical request data when a page loads, and keeps them for a limited period for security purposes. It places no advertising or analytics cookie for us. The only measurement tool we use is the optional product analytics described in section 2.8 — off by default.
To understand which features are actually used and improve the app, Milduna can send anonymous usage statistics to PostHog (PostHog, Inc.), using its EU Cloud hosted in Frankfurt, Germany. Nothing is sent until you accept the one-time request shown in the app, and you can switch it off at any time from Account → Anonymous statistics.
When enabled, we record product events such as “a lesson round was completed”, “a word reached mastered status” or “the notebook was opened”, together with technical context (language pair, platform, app style). These events are never linked to your name, your e-mail address or your account identifier: they are grouped under a random identifier generated on your device, which we do not connect to your account. No word you type, no individual answer and no advertising identifier is sent. Session recording and automatic click capture are disabled.
If you enable them, study reminders are scheduled and displayed by your device itself. No message passes through a server, and we hold no notification token. You can withdraw the permission at any time in your system settings.
Like any app built on Google, Apple and Firebase SDKs, standard technical data may be collected automatically for operation and diagnostics: app version, language, device type, crash reports. This is handled by those providers under their own privacy policies.
| Purpose | Data used | Legal basis (GDPR) |
|---|---|---|
| Running the app, saving and restoring your progress | Account, UID, progress | Performance of the contract (Art. 6.1.b) |
| Delivering pronunciation audio and web pages | IP address, technical request data | Performance of the contract (Art. 6.1.b) |
| Granting referral rewards | Invitation code, account identifier | Performance of the contract (Art. 6.1.b) |
| Security, fraud and abuse prevention, service improvement | Technical data, server logs | Legitimate interest (Art. 6.1.f) |
| Non-personalised advertising | Technical data, ad interactions | Legitimate interest (Art. 6.1.f) |
| Personalised advertising | Advertising identifier (AAID / IDFA) | Your consent (Art. 6.1.a), freely withdrawable |
| Anonymous product analytics (PostHog) | Usage events, language pair, platform, app style — random device identifier | Your consent (Art. 6.1.a), off by default, freely withdrawable |
Declining personalised advertising or anonymous statistics costs you nothing: the whole app stays available.
We do not sell your data, and we share none of it for another company's own purposes. It is passed only to the processors and partners strictly required to run the service:
| Recipient | Role | Location |
|---|---|---|
| Google Ireland Ltd / Google LLC | Firebase Authentication, Cloud Firestore, AdMob | EU and United States |
| Apple Inc. / Apple Distribution International Ltd | Sign in with Apple iOS | EU and United States |
| Cloudflare, Inc. | Audio delivery (R2 + Workers), hosting of the web app and of these documents (Pages) | Global network, incl. United States |
| PostHog, Inc. — EU Cloud | Anonymous product analytics (opt-in) | European Union (Frankfurt, Germany) |
Some of these providers are established outside the European Union. Those transfers are governed by the standard contractual clauses approved by the European Commission and, where applicable, by the EU–US Data Privacy Framework, in accordance with Chapter V of the GDPR.
We may also disclose data where the law requires it — on a valid request from a judicial or administrative authority.
If you are in the European Union — or in a country granting equivalent rights — you may exercise the following over your data:
To exercise a right other than self-service deletion, write to contact@milduna.com. We answer within one month. You may also lodge a complaint with your national supervisory authority — in France, the CNIL (www.cnil.fr).
Milduna is not directed at children under 13 (or the higher minimum age applicable in your country), and we do not knowingly collect their data without appropriate parental consent. If you believe a child has given us data without such consent, write to us and we will delete it.
All traffic between the app and our services is encrypted in transit (HTTPS/TLS). Access to your Firestore document is restricted by security rules to your authenticated account alone. Passwords are never stored by us: Firebase handles them, hashed.
No system is invulnerable. Should a personal data breach be likely to result in a high risk to you, we will notify you and the CNIL as required by Articles 33 and 34 GDPR.
This policy may change as the service or the law evolves. The version number and date at the top of the page always reflect the current text. If a change materially affects your rights or the way your data is used, we will tell you inside the app before it takes effect.
Any question about this policy or your personal data: contact@milduna.com