Milduna ← All documents

Privacy Policy

Milduna — vocabulary learning app for Android, iOS and the web.
Version 2.1 — Last updated: September 2, 2026

In short: Milduna works without an account — in guest mode your data never leaves your device. If you create an account, we store your learning progress in the cloud (Firebase) so you find it again on every device. The App is free and shows advertising (Google AdMob); it sells nothing. Pronunciation audio is streamed from Cloudflare. Anonymous usage statistics (PostHog, hosted in the EU) are collected only if you opt in, and never identify you. We never sell your data, and we never send your learning progress to advertisers.

1. Publisher and data controller

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.

2. What we collect, and when

2.1 Guest mode — no account, nothing leaves your device

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.

2.2 Creating an account — Firebase Authentication (Google LLC)

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 methodData we receive
Google Sign-InEmail 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 iOSYour 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 / passwordYour 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.

2.3 Your progress — Cloud Firestore (Google LLC)

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.

2.4 Invitation codes

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.

2.5 Advertising — Google AdMob

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.

2.6 Pronunciation audio — Cloudflare, Inc.

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.

2.7 Hosting of the web version and of these documents

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.

2.8 Product analytics — PostHog (optional, with your consent)

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.

2.9 Reminders

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.

2.10 Technical and diagnostic data

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.

3. Why we use this data, and on what legal basis

PurposeData usedLegal basis (GDPR)
Running the app, saving and restoring your progressAccount, UID, progressPerformance of the contract (Art. 6.1.b)
Delivering pronunciation audio and web pagesIP address, technical request dataPerformance of the contract (Art. 6.1.b)
Granting referral rewardsInvitation code, account identifierPerformance of the contract (Art. 6.1.b)
Security, fraud and abuse prevention, service improvementTechnical data, server logsLegitimate interest (Art. 6.1.f)
Non-personalised advertisingTechnical data, ad interactionsLegitimate interest (Art. 6.1.f)
Personalised advertisingAdvertising identifier (AAID / IDFA)Your consent (Art. 6.1.a), freely withdrawable
Anonymous product analytics (PostHog)Usage events, language pair, platform, app style — random device identifierYour consent (Art. 6.1.a), off by default, freely withdrawable

Declining personalised advertising or anonymous statistics costs you nothing: the whole app stays available.

4. Who we share it with

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:

RecipientRoleLocation
Google Ireland Ltd / Google LLCFirebase Authentication, Cloud Firestore, AdMobEU and United States
Apple Inc. / Apple Distribution International LtdSign in with Apple iOSEU 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 CloudAnonymous 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.

5. How long we keep it

6. Your rights

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).

7. Children

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.

8. Security

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.

9. Changes to this policy

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.

10. Contact

Any question about this policy or your personal data: contact@milduna.com