Privacy policy
Effective and last updated: September 13, 2026
HanziStep is a Chinese character learning app developed by glumes. Its registered Google Play package is com.glumes.hanzi. For privacy questions or requests, email ezglumes@gmail.com. 阅读中文隐私政策.
1. Learning data and backups
The current app stores study progress, practice history, saved characters, custom lists and preferences on your device. It does not provide an account or its own cloud-sync service. The app’s learning features do not upload these records to a HanziStep server.
You can import or export lists and backups with Android’s file picker. A location you choose may belong to a cloud storage provider. Android system backup may also store app data according to your device settings. These services process copies under their own terms.
2. Voice practice and optional permissions
Microphone: used only when you choose to record your voice for playback comparison. Recordings last up to 30 seconds and are saved in private app cache. The current app does not upload recordings or perform online pronunciation scoring. It deletes the temporary recording when you normally leave the practice page; an interrupted process can leave a cache file until it is overwritten or cleared.
Notifications: optional permission for local study reminders. You can revoke microphone or notification access in Android settings. Declining these permissions does not prevent dictionary lookup or handwriting practice.
Pronunciation: the release version uses your device’s text-to-speech engine for characters, words, sentences and passages. An online voice may process that text through its provider. Check the selected engine’s settings and privacy policy. Development builds may also offer bundled audio and local speech models.
3. Website visits and support
This website has no advertising, analytics scripts, forms, account login or application cookies. Images and styles are served from this site. Hosting is provided by Google Firebase Hosting, which processes request IP addresses to operate the service, detect abuse and analyse usage. Google states that Hosting retains IP data for a few months. See Firebase privacy information.
If you email us, we receive your email address, message and any attachments you choose to send. We use them to answer your enquiry, investigate the problem or handle your privacy request. Email is processed by our email provider, Google. Please send only information needed for the request, and avoid sending passwords, a child’s personal information or voice recordings.
4. Advertising and usage statistics
Google AdMob: HanziStep is intended for adults aged 18 and over. Non-Pro users may receive an app open ad at launch or an eligible return to a home tab, banners on the Dictionary and Practice home pages and at the bottom of Settings, character details and handwriting practice, a frequency-limited interstitial when leaving an eligible completed practice or quiz result using its bottom button, and an optional rewarded ad for an extra quiz session. App open ads are skipped during active learning and purchase flows; if an ad is not ready within the startup window, the app continues without waiting. The app does not apply child-directed or under-age-of-consent ad treatment and does not force all requests to be non-personalised. Google’s advertising services determine eligible personalised, non-personalised or limited ads using applicable privacy choices and requirements. If a banner is unavailable or loading, the app may show local recommendations for other glumes apps using bundled images and descriptions. These recommendations do not add impression or click tracking; selecting one opens its store page. Interstitials do not interrupt answering questions or writing strokes, and are skipped if no ad is ready. Ads remain subject to availability. Pro users do not receive Google ads or local app recommendations.
Google’s ad SDK may process IP addresses, app and ad interactions, diagnostic information and device identifiers, including the Android advertising ID where available and permitted, for advertising, measurement and fraud prevention. IP addresses can indicate approximate location. Non-personalised ads still involve data processing. Google’s User Messaging Platform updates privacy choices before advertising requests; required consent forms and advertising privacy options are provided by that platform. You can review available choices in Settings and manage advertising ID controls in Android settings.
Optional usage analytics and crash diagnostics: Firebase Analytics and Firebase Crashlytics are disabled by default. At first launch, you can allow or decline “Usage & diagnostics”; the same choice is available in Settings. Declining does not limit learning features. Advertising choices through Google UMP are separate from this permission.
When allowed, Analytics collects app-instance identifiers, device and app information, approximate location derived from network information, page visits, feature use and aggregate outcomes such as search result counts, playback availability, practice counts, purchase-flow status and advertising-flow results. We do not send search text, custom-list contents, handwriting paths, voice recordings, backup files or purchase tokens in our analytics events. Firebase Analytics advertising-ID collection and advertising-personalisation consent are disabled for this usage-analytics integration; AdMob separately handles advertising identifiers according to advertising choices.
When allowed, Crashlytics processes installation identifiers, app and device information, crash stack traces, diagnostic data and related usage breadcrumbs to diagnose failures. We do not set an account identifier. Turning “Usage & diagnostics” off stops future analytics collection and crash uploads, resets the local Analytics instance, and requests deletion of unsent crash reports. It does not erase reports already received by Google. This website does not run AdMob, Analytics or Crashlytics.
HanziStep Pro: the optional one-time purchase is processed by Google Play. HanziStep receives purchase status and signed purchase information, verifies it on the device, and acknowledges completed purchases through Google Play. A local Pro status is saved for offline access and refreshed from Play for restoration and entitlement checks. HanziStep does not receive your card details or send purchase receipts to its own server. Purchase history is managed by Google Play and is not removed by clearing HanziStep’s local learning data.
Read Google’s Privacy Policy, AdMob data information and Firebase Analytics data information. Android provides advertising ID controls in its privacy settings; clearing local app data does not erase data already held by a service provider.
5. Adult audience and purchases
HanziStep is designed and marketed for adults aged 18 and over, and Pro purchases are intended to be made by adults. HanziStep does not collect birth dates or perform its own identity verification. Google Play handles payment, account purchase authentication and applicable under-age restrictions; these controls do not guarantee that every minor can be identified. Earlier locally saved age choices are removed when the new version loads. Usage analytics and crash diagnostics require the separate optional choice described above.
HanziStep is not directed to children. If you believe a minor has provided personal information to us, contact ezglumes@gmail.com so we can review and address it. Please avoid including unnecessary personal information.
6. Retention, choices and deletion
- Learning data: stays on the device until removed through app functions, Android’s clear-storage control or uninstallation. Exported files and system or cloud backups must be managed separately.
- Temporary recordings: normally deleted when the voice practice page closes. Clear HanziStep’s cache in Android settings to remove a leftover recording.
- Local access and ad-frequency settings: Pro status, free quiz allowance, rewarded quiz credits and ad-frequency counters, timestamps and recent completed-session identifiers are stored privately on your device and excluded from HanziStep learning-data exports and Android backup. Clearing app storage removes these local settings; Google Play purchases can be restored using the same Google account.
- Support correspondence: retained as needed to resolve the enquiry, follow up on the same issue or meet applicable legal obligations. You can request access, correction or deletion by email; records that must be retained for legal reasons may be excluded.
- Analytics and diagnostics: Google processes these under the applicable Firebase/Analytics retention settings and service practices. You can stop new collection in Settings and contact us about access or deletion of identifiable records. Without an account, we may need information to locate a particular installation and cannot promise to identify aggregated statistics. See Firebase privacy and retention details.
- Hosting data: handled under Firebase’s service retention practices described above. Google-hosted services may process information in countries other than your own.
See step-by-step data management and contact instructions. We do not have an app account to delete, and we cannot remotely remove files that exist only on your device or in your chosen backup provider. We will explain any information needed to locate a request and any limits on what we can delete.
7. Sharing, security and changes
We use the providers described above for hosting, support, advertising, optional analytics and crash diagnostics, and Google Play purchases. Information may also be disclosed when required by applicable law. The site is delivered over HTTPS; local app files remain subject to device security and the backup services you use. No service can guarantee absolute security.
We will update the date and content of this policy when our practices change. New data handling will be reflected in this policy and the applicable in-app choices.