Privacy Policy
In short
- The app has no user account and no sign-in.
- There is no server of our own. Every question ships inside the app; nothing is downloaded.
- Your progress, bookmarks and exam results stay on your device and are never transmitted.
- Firebase Analytics and Crashlytics are used, and a switch in the app's settings turns both off completely.
- Ads (Google AdMob) are only served after your consent in the EU/EEA, Switzerland and the UK, and you can withdraw it at any time. No ads are shown during the exam simulation.
- There is one purchase (“Remove ads”). The app store handles it; we never see payment data.
1. Controller
The controller for the processing of personal data under the General Data Protection Regulation (GDPR) is the developer of the app:
Faiz Ahmad Dae (WebJow)
Email: Support@topjow.org
Website: topjow.org
2. What the app stores on your device
The app keeps your study data in a file inside its own private directory on your device (plus one backup copy of the same file). This data never leaves the device: there is no sync, no backend and no developer access to it.
It consists of exactly this:
- Settings: interface language (Farsi, Dari, German or English), the federal state you picked, theme (light/dark), text size, whether the read-aloud button is offered, and whether onboarding has been completed.
- Study progress: per question, the Leitner box (1–3), how often it was answered and how often it was answered wrongly, and when it was last answered; bookmarks; your last ten exam results; the days on which you practised (for the streak, capped at the last 400 entries).
- Purchase and unlocks: whether the “Remove ads” purchase is owned; until when a rewarded video has unlocked the explanations (24 hours); when the review prompt was last shown; and whether usage statistics are switched on.
Legal basis: this storage is strictly necessary for the feature you asked for — studying and keeping track of your progress (§ 25(2) no. 2 TDDDG); to the extent personal data is processed at all, Art. 6(1)(b) GDPR applies.
Deleting it: “Reset progress” in the app's settings deletes your study data. Uninstalling the app removes everything listed above.
3. Usage statistics (Firebase Analytics)
To understand which parts of the app are used and where learners get stuck, the app sends a short, fixed list of events to Google Analytics for Firebase. No question text, answer text, chosen option, search text, question ID or exact exam date is ever sent. Only predefined categories and counts are accepted.
This is the complete list:
| Event | What is sent with it |
|---|---|
onboarding_completed | selected app-language code and federal-state code |
study_plan_set | number of days until the exam, never its exact date |
study_plan_removed | — |
practice_started | practice type and planned question count |
practice_completed | practice type, answered count and correct count |
practice_answer | whether the answer was correct; topic area (politics, history, society, federal state) |
exam_started | — |
exam_finished | score, passed yes/no, the federal state you selected |
explanation_unlocked | how it was unlocked: rewarded video, purchase, or restore |
remove_ads_offer_viewed | where the offer was opened: settings or an explanation |
remove_ads_checkout_started | where the accepted purchase attempt began |
purchase_remove_ads | — |
review_prompt_shown | — |
ad_revenue | ad slot, revenue value and currency as reported by AdMob |
In addition, the Firebase SDK itself collects technical information the app does not control: a randomly generated app-instance ID, device model, operating system version, language, app version, and a country derived from the IP address. Google uses the IP address for that derivation and does not keep it in the Analytics reports. No advertising identifier is read for Analytics.
Turning it off: Settings → “Send anonymous usage data”. With the switch off, no event is created any more, and collection is additionally disabled inside the Firebase SDK itself. The setting survives restarts and updates.
Legal basis: Art. 6(1)(f) GDPR — the legitimate interest in improving a study app that is offered free of charge. You may object at any time (Art. 21 GDPR); the switch named above is that objection and takes effect immediately.
Processor: Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ireland.
4. Crash reports (Firebase Crashlytics)
If the app crashes or hits an unhandled error, a report is sent to Firebase Crashlytics: the error message and stack trace, device model, operating system version, app version, the time, and an installation identifier generated by Crashlytics. The contents of your study data are not part of such a report.
Turning it off: the same switch as above — Settings → “Send anonymous usage data”.
Legal basis: Art. 6(1)(f) GDPR — the legitimate interest in finding and fixing crashes; an app that crashes during exam practice is of no use to anyone. You may object at any time using the switch.
Processor: Google Ireland Limited (address as above).
5. Ads (Google AdMob) and your consent
The app is funded by Google AdMob advertising. Ads are limited to these places and natural breaks:
- a banner on browsing screens such as home, lists, progress and settings;
- a full-screen ad only after an exam result or a completed practice result has been read and closed; the practice opportunity accrues after 20 answers;
- after the first 20 complete explanations are free, an optional rewarded video can unlock explanations for 24 hours — the correct answer is never behind an ad;
- at most one ad on a cold start, only after at least 40 completed answers.
There are no ads while the exam simulation is running, in the result review, or during onboarding.
To serve and measure ads, Google processes among other things: the device's advertising identifier (on Android, the Advertising ID), IP address, device type and operating system, approximate country, and your interactions with the ad. Details and the list of advertising partners are published by Google: business.safety.google/privacy and Google's GDPR notes for AdMob.
Consent: the advertising SDK stays off for the whole of onboarding: while you are choosing your language and your Bundesland, nothing is loaded and nothing is asked. It starts the moment onboarding is finished — still in your first session, before your first answer — and on every later launch with the app's first screen. Google's User Messaging Platform (UMP) then checks the consent status and shows its form where required in the EU/EEA, Switzerland and the UK. No ad is requested before that status is resolved.
Withdrawing or changing consent: Settings → “Ad privacy settings” reopens the same form. The entry is shown wherever consent is required.
Legal basis: your consent under Art. 6(1)(a) GDPR and § 25(1) TDDDG for storing and reading information on your device for advertising purposes. Withdrawal takes effect for the future.
Apple ATT (iOS): this step comes first — right after onboarding and before the consent flow described above. If iOS holds no tracking decision from you yet, the app shows a short screen of its own, in your language, explaining what is about to be asked; it carries a single “Got it” button, because the decision itself belongs in Apple's dialog and not in ours. Apple's “App Tracking Transparency” prompt follows immediately after it. You are asked once: with a decision on file, later launches ask nothing. Your answer determines whether AdMob may access the iPhone's IDFA advertising identifier; declining does not restrict any learning feature. You can change the decision under Settings → Privacy & Security → Tracking.
Recipient: Google Ireland Limited (address as above), as the provider of the advertising services in its own right.
Without ads: after the “Remove ads” purchase, ad serving in the app is switched off entirely.
6. In-app purchase “Remove ads”
The app offers one single purchase: remove_ads,
one-off and permanent. It removes the ads and unlocks all explanations. The
purchase is handled entirely by Google Play or the Apple App Store.
The developer receives no payment data — no card number, no name, no address. The app only records that the purchase exists. From the stores the developer receives aggregated sales and payout reports that do not identify you.
“Restore purchases” asks the store whether this purchase already exists (for example after a reinstall or on a second device).
Legal basis: Art. 6(1)(b) GDPR (performance of the purchase contract). The stores' own privacy policies apply to their processing: Google · Apple.
7. Review prompt
After you pass an exam simulation for the first time — and at most once every 90 days — the app asks for a store rating through the operating system's review feature. The dialog belongs to Google or Apple; the app does not learn whether or how you rated it. Only the time of the last prompt is stored on your device.
8. Text-to-speech
On request, the app reads the German question text aloud. To do so it hands
that text to your operating system's speech engine (language de-DE).
Persian is never spoken. Depending on which speech engine your device uses, its
provider may process the text on their own servers; the app has no control over
that, and what is handed over is only the German question text from the BAMF
catalogue — no data about you. The feature can be switched off in settings.
9. What the app does not do
- No account, no registration, no email address, no password.
- No access to location, contacts, camera, microphone, photos or files.
- No push notifications.
- No server of our own: the 460 questions, the translations and the pictures are part of the app and are never downloaded. The app works fully offline.
- No selling of data, and no sharing beyond the services named in this policy.
10. Recipients and transfers outside the EU
Data is disclosed only to:
- Google Ireland Limited — Firebase Analytics, Firebase Crashlytics, AdMob;
- Google Ireland Limited / Google Payments or Apple Distribution International — handling the purchase and the review prompt;
- GitHub, Inc. — only for delivering this website (see section 14).
Data may be transferred to and processed in the USA by Google LLC or Apple Inc. Such transfers rely on those recipients' certification under the EU-US Data Privacy Framework and/or on the European Commission's Standard Contractual Clauses, which form part of the respective terms.
11. Retention
| Data | Kept for |
|---|---|
| Progress, settings and exam results on the device | until you choose “Reset progress” or uninstall the app |
| Analytics events at Google | up to 14 months for user-level and event-level data; standard aggregated, non-identifying reports may be kept longer |
| Crash reports | 90 days (Firebase Crashlytics retention) |
| Advertising data at Google | according to Google's own retention rules |
| Purchase record | held by Google or Apple under their statutory and contractual periods |
12. Your rights
Under the GDPR you have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20), and to object to processing based on legitimate interests (Art. 21). Consent you have given can be withdrawn at any time with effect for the future (Art. 7(3) GDPR).
In practice: the developer stores no data that could identify you and can therefore normally not find you again in the Firebase reports (Art. 11 GDPR). The fastest way to exercise your rights is directly in the app:
- turn off usage data and crash reports: Settings → “Send anonymous usage data”;
- change or withdraw ad consent: Settings → “Ad privacy settings”;
- delete all local data: Settings → “Reset progress”, or uninstall the app;
- reset your advertising ID or turn off personalised ads device-wide: in the Android or iOS system settings.
For requests: Support@topjow.org. Please describe what you need; we reply within the one-month period of Art. 12(3) GDPR.
You also have the right to lodge a complaint with a data protection supervisory authority (Art. 77 GDPR) — either where you live or the authority responsible for the controller.
13. Children
The app is aimed at adults preparing for the naturalisation test (“Einbürgerungstest”) or the “Leben in Deutschland” test. It does not knowingly collect data from children. Ad content is limited to AdMob's strictest content rating (“G” — suitable for general audiences).
14. This website
This page is served by GitHub Pages (GitHub, Inc., 88 Colin P. Kelly Jr. Street, San Francisco, CA 94107, USA). When you open it, GitHub processes the connection data that is technically required, including your IP address, the date and time, the file requested and your browser. The legal basis is Art. 6(1)(f) GDPR (providing a secure, working website). See GitHub's privacy statement. This website sets no cookies and loads no third-party fonts, scripts or analytics; there is no tracking on it.
15. Changes to this policy
When the app changes, this policy is updated; the version published here with the date given above is the one that applies. Material changes to the processing will be announced in the app.
This policy describes the app as of the date given above. It is not legal advice.