1. Who we are
German with Levels (“the app”, “we”, “us”) is a mobile app for learning German. The app is operated by Deniz Yagci, who is the “data controller” for the personal data described in this policy. This policy explains what data we collect, why, and the choices you have. If you have any questions, contact us at [email protected].
2. Information we collect
Account information. You can use the app without signing up. On first launch we create an anonymous profile so your progress can be saved. If you choose to create or link an account, we collect your email address (and a password for email sign-in), or a secure sign-in token when you use Sign in with Apple or Google. We never receive your Apple or Google password. If you sign in with Google, the sign-in token also carries the name and profile photo from your Google account; they are stored with your account but we do not display or use them. Sign in with Apple shares only your email address (or Apple’s private relay address if you hide it) — never your name.
Learning data. We store your progress: words learned, batches and lessons completed, practice answers, streaks, your level (A1/A2) and app preferences. Progress is kept on your device and also saved under a random profile identifier on our servers so features like your review queue work. Without an account, that identifier is not linked to your name or email address; creating an account links it to your email so your progress can be restored on a new device.
Microphone & speech recognition. Some practice exercises let you say a German word or phrase out loud (the “Say it” exercises). When you start one, the app asks for microphone permission and listens only while you are speaking. Your speech is turned into text so the app can check your pronunciation. This recognition runs on your device whenever your device supports it; if it does not, iOS sends the audio to Apple’s speech-recognition service to produce the text. We do not record, store, or upload your voice — only the recognized text is used, for a moment, to score the exercise, and it is then discarded.
Diagnostics & crash reports. The app contains no third-party analytics or crash-reporting SDK. If the app crashes, we may receive a crash report through Apple’s standard crash-reporting service — and only if you have chosen to share diagnostics with developers in your iOS settings. These reports do not include your name or email.
Optional usage analytics. Analytics are off by default. You can turn on anonymous usage analytics in Profile → Privacy. If enabled, we record anonymized in-app events to understand which features help learners. You can turn this off at any time.
Purchases. Paid subscriptions and unlocks are processed by Apple’s App Store — we never receive your payment card details. We use RevenueCat, a subscription-management service, to know which features you are entitled to: it receives your random profile identifier and Apple’s purchase receipt (product, price, renewal and expiry dates), and we store the resulting entitlement with your profile.
3. How we use your data
- To save your learning progress and let you continue where you left off.
- To sync your progress across your devices when you have an account.
- To recognize your speech and check your pronunciation when you use a speaking exercise.
- To diagnose crashes and fix bugs.
- With your consent, to improve the app through anonymous analytics.
- To respond to your support requests.
Under the EU General Data Protection Regulation (GDPR), our legal bases for the above are: performance of a contract — saving and syncing your progress, managing your account and delivering purchased features; your consent — optional analytics and microphone access for speaking exercises (both off until you turn them on, and both revocable at any time); and our legitimate interest in keeping the app secure and working — diagnosing crashes and preventing abuse of our services.
4. Local storage & cloud sync
The app is local-first: your learning is kept on your device so it works offline, and a copy of your progress is saved under a random profile identifier (see “Learning data” above). Cloud sync to an email-linked account only happens when you create or link one — it exists so you don’t lose progress if you change phones. If you delete the app without an account, your local data is removed with it; any remaining server-side progress stays linked only to the random identifier, not to you, and we delete it on request.
5. Who we share data with
We do not sell your personal data, and the app contains no third-party advertising. We use a small number of service providers strictly to operate the app; they process data only on our instructions:
Supabase — database & authentication (your account and synced progress), hosted in the EU (Frankfurt); Cloudflare — delivery of learning media such as images and audio; Apple — App Store purchases, Sign in with Apple, and speech recognition when your device cannot do it locally; Google — Sign in with Google; RevenueCat — subscription status (US); and Resend — sending account emails such as sign-in codes and password resets (US).
International transfers. Your synced data is stored in the EU. Some of the providers above (Apple, Google, RevenueCat, Cloudflare, Resend) may process limited data in the United States or other countries; where they do, the transfer is protected by the European Commission’s Standard Contractual Clauses or an adequacy decision such as the EU–US Data Privacy Framework.
6. Data retention & deletion
We keep account data for as long as your account is active, and learning progress for as long as the profile it belongs to exists. Security and rate-limiting records are kept for days, and routine server logs for a short period, before automatic deletion. You can request deletion of your account and associated data at any time from the Delete Account page, or by emailing [email protected]. If you don’t have an account, deleting the app removes your local data — and you can email us to erase any server-side progress stored under your device’s random profile identifier.
7. Children’s privacy
German with Levels is not directed to children under 13 — or the higher age (up to 16 in parts of the EU/EEA) your country requires for consenting to data processing — and we do not knowingly collect personal data from them. If you believe a child has provided us personal data, contact us and we will delete it.
8. Your rights
If you are in the EU/EEA or UK, you have the right to access, correct, export (data portability), delete or restrict the processing of your personal data, the right to object to processing based on legitimate interests, and the right to withdraw consent (for example, for analytics) at any time. Similar rights may apply elsewhere. To exercise any of them, email [email protected] — we respond within one month. You also have the right to lodge a complaint with the data-protection supervisory authority of your country.
9. Changes to this policy
We may update this policy as the app evolves. When we make material changes, we’ll update the date at the top of this page.
10. Contact
Questions about your privacy? Email [email protected] and we’ll be glad to help.