Beyond Imagine (the “Operator”) explains below how information is handled in Hanmadi.
1. Information collected
This service is intended for users aged 13 and over, but we do not ask for, collect, or store your age, date of birth, or age group.
- Lesson completions; learning records for each scene (whether you tried it aloud, whether you recalled the answer on the first try in the lesson and in review, whether you combined expressions in another scene, and the first and latest completion times); saved expressions; synchronization order; and consent settings.
- When you sign in: your authentication provider, authentication identifiers, email address, and other information supplied by that provider.
- Subscription product identifiers, store, transaction status, and subscription entitlements. Proof of purchase is stored in encrypted form.
- Usage information, such as lesson IDs, screen categories, and outcomes, and crash diagnostics are collected automatically through Google Firebase (Analytics and Crashlytics) to improve quality. Information sent to Firebase does not include sentences, recordings, email addresses, Hanmadi account IDs, or proof of purchase.
- The Operator’s servers store, linked to your account, the number of times per day (Japan time) that you opened the app, viewed the Pass screen or the free trial offer, and could not start a practice because you had run out of energy. The type of device you last used (iOS or Android) and, on Android, which link or ad the app was installed from (only the name of that route) are also linked to your account. This information is used to analyze usage and improve the service, and it does not include the sentences you study or your recordings.
- Consent information and device information needed to serve ads to free users: advertising identifiers (the Android advertising ID and, on iOS, the IDFA only if allowed through ATT), IP address, device model, OS and language, and records of ad impressions and clicks. Whether personalization is allowed is determined by combining the in-app setting, Google UMP consent status, and, on iOS, ATT status.
- Information used to check free trial eligibility: Apple’s app transaction identifier (one per Apple Account) and Android’s device identifier (ANDROID_ID), stored only after conversion into a form that cannot be reversed (a keyed hash). Results from Apple DeviceCheck and Google Play Integrity are used only for this check and are not stored by the Operator. Through these mechanisms, an indication that the free trial has been used is recorded on Apple’s or Google’s servers.
- Settings for the “Today’s phrase” notification: a random identifier created by the app, stored only after conversion into a form that cannot be reversed (a hash), plus your display language, time zone, and whether notifications are on, without a link to your account. While notifications are on, a hash of the notification token is also stored. This information is used only to send the notification together to devices with the same language and time zone, delivered through Google Firebase Cloud Messaging.
- Installation identifier: a random identifier that the server creates for each installation of the app is kept in protected storage on your device, and the server stores only its hash, linked to your learning records. It is used to carry over your learning records when you use the app again on the same device without signing in, and to prevent energy from being obtained repeatedly by creating new accounts.
- Network information used to prevent misuse: your IP address is stored only after conversion, with a key held only by the Operator, into a form that cannot be reversed (a keyed hash). The value from when your learning records were first created is stored with those records. To prevent many learning records from being created in a short time, the recent number of creations from each network is recorded without a link to any account. When you send an inquiry without signing in, the value is stored with that inquiry to check the daily inquiry limit.
- In-app inquiries: the category, subject, message, display language, the Operator’s reply, and the app version and platform (iOS or Android) used to send the inquiry, linked to your account.
2. Recordings
Pronunciation practice recordings are created as temporary files on your device. Recording stops and these files are deleted when the lesson ends, the app goes into the background, or the practice screen is closed. Recordings and pronunciation practice data derived from audio are processed only on your device and are not sent to servers, advertising services, or analytics services.
3. Purposes of use
Information is used to provide learning features, synchronize devices, authenticate users, verify and restore purchases, reflect refunds, prevent misuse, provide user support, improve quality and the service using usage information and diagnostics, and serve ads within the scope of consent.
Information used to check free trial eligibility is used only to prevent repeated use of the free trial, and never for advertising, analytics or tracking across other companies’ apps and websites.
4. External services
Depending on the feature, we use the following services. Only the minimum information needed for each feature is sent to the relevant service.
- Supabase (authentication and database; data is stored on servers in Japan (Tokyo))
- Cloudflare (API and content delivery)
- Apple/Google (sign-in and store payments) and LINE (sign-in)
- Google Firebase (analytics, diagnostics and notification delivery)
- Advertising (free users only): Google AdMob and the networks that serve ads through AdMob, namely Pangle, Unity Ads and Meta Audience Network. To serve ads, measure their performance and prevent fraud, these ad providers receive the advertising information described in section 1 and handle it under their own privacy policies.
5. Provision to third parties outside Japan
Some of the services above are operated by businesses outside Japan, and information may be handled outside Japan. The main recipients and their countries are:
- Supabase, Inc. (United States; the storage servers are in Japan)
- Cloudflare, Inc. (United States; data centers worldwide)
- Apple Inc. and Google LLC (United States)
- Bytedance Pte. Ltd. (Pangle, Singapore)
- Unity Technologies (Unity Ads, United States)
- Meta Platforms, Inc. (Meta Audience Network, United States; for users in the EEA and the UK, Meta Platforms Ireland Limited (Ireland))
The information provided, its purposes and retention periods are as described in this policy and in each company’s privacy policy. Information on each country’s personal information protection system is available on the website of Japan’s Personal Information Protection Commission. Based on what each company has published, the operator confirms that they take the measures needed to protect personal information.
6. Analytics, diagnostics, and advertising choices
Collection of usage information and crash diagnostics through Firebase Analytics and Crashlytics is enabled automatically. The app has no switch for consenting to or disabling this collection. The in-app personalized ads setting is on by default and can be turned off at any time in Settings. Actual personalization requires a consent status permitted by Google UMP and, on iOS, ATT permission as well. If ATT is denied or restricted, the app switches to non-personalized ads without preventing use. No ads are requested for users with an active subscription. If you turn off personalized ads in Settings, or if ATT is denied or restricted, the app asks not only Google but also Pangle, Unity Ads and Meta Audience Network to serve non-personalized ads (Limited Data Use for Meta). In the EEA, the UK and Switzerland, your choices on the Google UMP consent screen are passed to each ad provider.
7. Storage and security
Communications are encrypted, and proof of purchase is encrypted on the server using AES-GCM. The app includes only keys that may be made public. Information is not retained longer than needed for its purposes of use, legal requirements, transaction audits, and fraud prevention.
While an unfinished purchase is being checked, proof of purchase is temporarily stored in protected storage on your device and deleted when processing finishes. This temporary storage is valid for three days; expired information is deleted the next time the app starts. Notification tokens used to confirm purchases are encrypted on the server, expire after three days, and are deleted by a scheduled process. Proof of purchase and learning content are never sent to Firebase.
Information used to check free trial eligibility is kept for three years from when it was last recorded and then deleted. After you delete your account, it is kept for the same period in a form not linked to the account, to prevent repeated use. If the check is wrong, for example because you received the device from someone else, contact us through the in-app inquiry form. After confirming, we will reset the record for that device.
The hash of the installation identifier and the keyed hash linked to learning records are kept with those learning records. When you delete your account (or, if you use the app without signing in, when your deletion request sent through the inquiry form is processed), they are deleted together with any learning records used only by that account. Creation counts per network are not linked to any account and are recounted and overwritten every hour. Keyed hashes linked to inquiries are deleted progressively once two days have passed. Inquiries, daily usage counts, device type, and install route are kept until you delete your account.
8. Your choices
Settings lets you choose advertising privacy options, add or remove sign-in methods, manage Pass, and delete your account. If you use the app without signing in, request deletion through the in-app inquiry form. Contact support for access, correction, and other inquiries about your data. If you cannot use the app, you can request account deletion through support. Deleting your account alone does not cancel an auto-renewing store subscription. Before deleting it, use “Manage Pass” to check cancellation status in the store where you subscribed. Deletion removes your profile, progress, and saved expressions. Purchase records needed for legal requirements or transaction audits may be retained separately from your identity.
Depending on the laws where you live (such as the GDPR in the EU and the UK, US state privacy laws, and Korea’s Personal Information Protection Act), you may have the right to request access to, correction or deletion of your information, restriction of processing, data portability, and withdrawal of consent. In the EEA and the UK, we process information on the basis of contract performance (learning features and purchases), legitimate interests (fraud prevention and quality improvement), and consent (personalized ads). Under some US state laws, providing information to ad providers for personalized ads may count as “sharing”; you can stop this sharing by turning off personalized ads in Settings. The operator does not sell personal information for money.
9. Contact and changes
Requests for access, correction, deletion, and other inquiries can be sent to hanmadi@mzss.app. Support hours are Monday–Friday, 09:00–17:00 Korea time (KST). Important changes will be announced on this page or in the app.
Personal information protection officer: Jay Lim, Representative (hanmadi@mzss.app)
The operator’s address will be disclosed without delay upon request.
Operator: Beyond Imagine
Effective date: October 28, 2026