Privacy Policy
Last updated: September 17, 2026
The short version. HSK Loop has no accounts and no servers of our own. Your study history — the words you have learned, your schedule, your statistics — never leaves your device. The third parties involved are Apple and Google Play, for in-app purchases; Google, for the optional rewarded ads that free users can choose to watch; plus, on iOS only, Google Firebase Analytics and RevenueCat.
What stays on your device
Everything the app creates as you use it is written to a single file inside the app's private storage on your device:
- Which words you have studied, and their spaced-repetition schedule
- Streaks, daily goals, and study statistics
- Favorites and recent dictionary lookups
- Settings such as interface language, HSK level, and reminder times
We have no way to read this file. It is not uploaded anywhere, and deleting the app deletes it. If device backup is turned on — iCloud Backup on iOS, or Google One backup on Android — the operating system may include it. That backup is between you and Apple or Google, and is governed by Apple's or Google's privacy policy.
Because everything is local, your progress does not sync between devices.
What we collect
We run no server and no account system. Your study content never reaches us: we cannot see which words you study, how far along you are, your statistics, or your favorites. There is no crash-reporting SDK.
We do collect anonymous usage analytics on iOS, described under Usage analytics below — things like how often the app is opened, not what you studied. The Android app sends no analytics at all.
The vocabulary, definitions, example sentences, and pronunciation audio are all bundled into the download, so studying itself works fully offline. The app uses the network only for the things described below: loading the consent form and rewarded ads from Google; checking your purchase with the App Store or Google Play; and, on iOS only, sending usage analytics to Google and reporting that purchase to RevenueCat so we can count it.
Advertising (free users only)
Free users have a daily limit on study cards. When you reach it, you can choose to watch a short rewarded video ad to keep going. Ads never appear on their own — one plays only after you tap the button that asks for it. Buying the premium unlock removes ads entirely.
Ads are served by Google AdMob. To deliver and measure them, Google may collect device and advertising identifiers, approximate location derived from your IP address, and data about how you interacted with the ad. This happens inside Google's SDK; we receive only a yes-or-no signal that the ad was watched to completion. See Google's Privacy Policy and how Google uses data from partner sites and apps.
Before any ad is shown, the app asks for your choices:
- In the EEA, the UK, and Switzerland, a consent form (Google's User Messaging Platform) appears when you first open the app.
- On iOS, Apple's App Tracking Transparency prompt appears once, shortly after you first open the app. If you decline, every feature keeps working; ads are simply not personalized and no advertising identifier is shared.
Usage analytics (iOS only)
The Android app contains no analytics SDK. Everything in this section applies to the iOS app only.
To understand how the app is used — which versions people run, whether anyone gets stuck at the first screen, how many sessions a typical day has — the app includes Google Firebase Analytics. It reports automatic events such as first open, app opens, session starts, and completed in-app purchases, together with your device model, operating system version, language, and an approximate region derived from your IP address.
It also creates a random app-instance identifier for this installation. That identifier is not your name or your Apple Account, and deleting the app discards it.
It receives none of your study data: no words, no progress, no statistics, no favorites, no dictionary lookups. We send no custom events.
If you allowed tracking, analytics may be associated with your device's advertising identifier; if you declined, it is not. Apple's SKAdNetwork, which attributes installs without identifying you, is used either way. See Google's Privacy Policy and how Firebase handles data.
Purchases
On iOS the premium unlock is a one-time, non-consumable in-app purchase handled entirely by Apple. We never see your name, payment details, or Apple Account. The app asks the App Store whether your account owns the product and stores that yes-or-no answer on your device. Purchases can be restored at any time from the app's settings.
On Android the same one-time unlock is handled entirely by Google Play. We never see your name, payment details, or Google Account. The app asks Google Play whether your account owns the product and stores that yes-or-no answer on your device. Purchases can be restored at any time from the app's settings. RevenueCat is not used on Android — no purchase data leaves your device beyond Google Play's own processing.
So that we can count how many purchases were made, the iOS app reports the completed purchase to RevenueCat, which keeps a dashboard for us. It receives the transaction and an anonymous identifier for the installation — never your name, payment details, or Apple Account, and none of your study data. Whether you own the premium unlock is still decided by Apple, not by RevenueCat. See RevenueCat's Privacy Policy.
Notifications
Study reminders are scheduled locally by your device's operating system. Nothing passes through a server, and we do not use push notifications. You can turn reminders off in the app, or in iOS Settings or Android app settings.
Children
HSK Loop is not directed at children under 13, and we do not knowingly collect personal information from them.
Your choices
- Delete everything: deleting the app removes all study data from your device.
- Limit ad tracking: on iOS, Settings › Privacy & Security › Tracking. On Android, Settings › Google › Ads, where you can reset or delete your advertising ID.
Changes to this policy
If this policy changes in a way that affects you, we will post the new version here and update the date at the top.
Contact
Questions about this policy: cs.topika@gmail.com