1. Introduction
This Privacy Policy applies to the mobile application Hanzi Writer ("the App")
developed and operated by Yunhe District Yibai Network Convenience Store ("Yibai Online", "we", "us", or "our").
We are committed to protecting your privacy and being transparent about how we collect, use, and share your data.
This policy explains what data we collect, why we collect it, and your rights regarding that data.
By using Hanzi Writer, you agree to the collection and use of information in accordance with this policy.
If you do not agree with any part of this policy, please do not use our App.
2. Information We Collect
We collect the following categories of data to provide, improve, and maintain our services.
The data is collected either directly from you or automatically when you use the App.
2.1 Identifiers
User ID
- Data collected: Email address, Firebase User ID (UID), Google / Apple account identifier used for sign-in.
- Purpose: Account authentication, progress synchronization across devices, subscription management, personalized content delivery.
- Linked to you: Yes — directly associated with your user account.
- Collection method: Provided by you during registration or sign-in.
Device ID
- Data collected: Identifier for Vendor (IDFV) on iOS; Advertising Identifier (IDFA, only if you grant tracking permission); AdMob-generated device identifiers.
- Purpose:
- Analytics: Understanding usage patterns across different devices.
- Third-party advertising: Serving personalized ads via Google AdMob.
- App functionality: Preventing abuse, ensuring service compatibility.
- Product personalization: Tailoring ad experiences.
- Developer advertising or marketing: Measuring campaign effectiveness.
- Tracking: When you consent via iOS App Tracking Transparency prompt, your IDFA may be used to track your activity across apps and websites for advertising purposes.
- Linked to you: May be linked to your identity through your account or advertising profiles.
- Your control: On iOS, you can deny tracking permission when prompted or later in Settings > Privacy > Tracking. On Android, you can reset your advertising ID in Google Settings.
2.2 Usage Data
Product Interaction
- Data collected: Events related to your interaction with the App, including but not limited to: practice sessions (characters practiced, duration, mode), OCR scans, searches, topic creation/selection, review sessions, feature usage (TTS, favorites, sharing), subscription page views, purchase events, backup/restore operations, and ad impressions/clicks.
- Purpose: Analytics — to understand how users interact with the App, identify popular features, measure engagement, and guide product improvements.
- Linked to you: Yes — associated with your User ID when logged in.
Advertising Data
- Data collected: Information about advertisements displayed to you, including which ad slots were shown, whether an ad was clicked, and any errors encountered during ad loading.
- Purpose: Third-party advertising — to serve ads via Google AdMob and measure ad performance.
- Linked to you: Yes — may be linked to your Device ID and/or User ID.
2.3 Diagnostic Data
Crash Data
- Data collected: Crash logs, exception details, stack traces, and non-fatal error reports (including business logic errors with severity classification).
- Purpose: Analytics — to detect, diagnose, and fix bugs and crashes, ensuring App stability.
- Linked to you: Yes — may include custom keys linking errors to your account context.
Performance Data
- Data collected: Execution time of critical operations (e.g., page loads, API requests, practice sessions, purchases, OCR scans). Collected at approximately 15% sampling rate in production to minimize data volume.
- Purpose: Analytics — to identify performance bottlenecks, optimize App responsiveness, and monitor key operation latencies.
- Linked to you: Yes — may be associated with your session/device.
Other Diagnostic Data
- Data collected: Network error reports (timeouts, connection failures), Firebase service availability status, payment error details, and feature availability status.
- Purpose: Analytics — to diagnose infrastructure issues, troubleshoot service disruptions, and ensure reliable operation.
- Linked to you: Yes — may be associated with your User ID when relevant.
2.4 Contact Information
Email Address
- Data collected: The email address you provide during account registration or sign-in.
- Purpose: App functionality — used as your primary account identifier for authentication, password recovery, progress cloud sync, and subscription management.
- Linked to you: Yes — this is your primary personal identifier.
2.5 Locally Processed Data (Not Transmitted)
- Camera Access: Requested for OCR (Optical Character Recognition) scanning. Camera data is processed locally on your device using Google ML Kit and is not uploaded to our servers or any third party.
- Photo Library Access: Requested to select images containing Chinese characters for OCR recognition. Selected images are processed locally on your device and are not stored or transmitted to our servers.
2.6 AI Service Input Data
- Data collected: Text descriptions you enter when using the "Smart Topic Generator" (AI-powered vocabulary list generation).
- Purpose: App functionality — sent to Google Gemini (via Firebase Vertex AI) to generate vocabulary lists based on your description.
- Linked to you: Yes — associated with your User ID.
- Important note: Your input data is not used to train Google's AI models. It is processed solely for generating your requested content.
3. How We Use Your Data
We use collected data for the following purposes:
- App Functionality: To authenticate your account, synchronize your learning progress across devices via cloud backup/restore, manage subscriptions, generate AI-assisted content, and send push notifications about your learning activities.
- Analytics: To understand how you use the App, identify and fix crashes and performance issues, measure feature adoption, and make data-driven product improvements.
- Product Personalization: To tailor your experience, including personalized ad delivery based on your device and preferences.
- Third-Party Advertising: To display advertisements from Google AdMob in the free version of the App. Ad behavior may be influenced by your Device ID (subject to your tracking preference on iOS).
- Developer Advertising or Marketing: To measure the effectiveness of our marketing campaigns and understand user acquisition channels.
- Tracking: If you grant tracking permission on iOS (via the App Tracking Transparency prompt), your IDFA may be used to track your activity across apps and websites for the purpose of serving personalized advertisements from our advertising partners.
4. Third-Party Services and SDKs
We integrate with the following third-party services. Each provider has its own privacy policy governing its use of data.
We encourage you to review their policies:
| Service |
Purpose |
Privacy Policy |
| Google Firebase |
Authentication (Firebase Auth), cloud database (Firestore), file storage (Storage), cloud functions, remote configuration, analytics (Analytics), crash reporting (Crashlytics), performance monitoring (Performance), push messaging (Messaging), app integrity check (AppCheck), and AI services (Vertex AI / Gemini). |
View |
| Google AdMob |
Displaying banner advertisements in the free version of the App. Collects device identifiers and ad interaction data for ad targeting and measurement. |
View |
| RevenueCat (Purchases) |
Managing in-app subscriptions (via Apple App Store & Google Play). Handles subscription state, receipts, and webhooks. |
View |
| Google ML Kit |
On-device optical character recognition (OCR) for scanning Chinese characters from camera or photos. All processing happens locally; no image data leaves your device. |
View |
| Google Sign-In / Apple Sign-In |
Alternative authentication methods allowing you to sign in with your existing Google or Apple account credentials. |
Google /
Apple
|
5. Data Sharing and Disclosure
We may share your data in the following circumstances:
- With third-party service providers listed above (Google Firebase, AdMob, RevenueCat) solely for the purposes described in Section 4.
- To comply with legal obligations such as laws, regulations, court orders, or government requests.
- To protect rights and safety — to protect our rights, property, safety, or the safety of our users or the public.
- In connection with a business transfer such as a merger, acquisition, or sale of assets, in which case your data would be transferred to the new entity subject to continued protection under this policy.
We do not sell your personal data to third parties for their independent marketing purposes.
6. Data Retention and Security
- We retain your personal data only for as long as necessary to fulfill the purposes outlined in this policy, or as required by applicable law.
- Analytics and diagnostic data is retained according to the retention policies of our service providers (e.g., Firebase Analytics retains data for up to 14 months; Crashlytics retains crash data for 90 days by default).
- If you delete your account, we will delete or anonymize your personal data within 30 days, except where retention is required for legitimate business or legal purposes.
- We implement industry-standard technical and organizational security measures to protect your data, including encryption in transit (TLS) and at rest (where applicable), access controls, and regular security reviews of our third-party dependencies.
7. Your Rights and Choices
You have the following rights and options regarding your data:
- Access and Portability: You can view and export your learning progress data within the App settings.
- Delete Account and Data: You can delete your account and all associated data at any time:
- In-App: Go to Settings → Delete Account.
- By Email: Contact us at [email protected]. We will process your request within 30 days.
- Tracking Preference (iOS): When prompted by the App Tracking Transparency dialog, you can choose to Allow or Ask App Not to Track. You can change this setting anytime in iOS Settings > Privacy > Tracking. Denying tracking will limit ad personalization but will not affect core App functionality.
- Advertising Personalization (Android): You can opt out of personalized ads by adjusting your ad personalization settings in Google Settings on your device.
- Cookies and Similar Technologies: Our App does not use cookies. However, some third-party SDKs (such as AdMob) may use device identifiers for similar purposes.
- Opt out of Analytics: While we require analytics data to maintain and improve the App, you may contact us to discuss limiting analytics collection for your account.
- Push Notifications: You can disable push notifications at any time through your device system settings without affecting other App features.
8. Children’s Privacy
Our App is not directed at children under the age of 13 (or the applicable age of digital consent in your jurisdiction).
We do not knowingly collect personally identifiable information from children under 13.
If we discover that a child under 13 has provided us with personal information,
we will promptly delete it from our servers. If you are a parent or guardian and believe
your child has provided us with personal information, please contact us so we can take appropriate action.
9. International Data Transfers
Our service providers (primarily Google/Firebase) may process your data in servers located outside your country of residence,
including in the United States. By using the App, you consent to such international transfers of your data.
These transfers are conducted in accordance with applicable data protection laws and the privacy policies of our service providers.
10. Changes to This Policy
We may update this Privacy Policy from time to time to reflect changes in our practices, technologies,
legal requirements, or other factors. We will notify you of material changes by updating the "Last updated"
date at the top of this page. Continued use of the App after changes constitutes acceptance of the updated policy.
We encourage you to review this policy periodically.
11. Contact Us
If you have questions, concerns, or requests regarding this Privacy Policy or our data practices,
please contact us:
Legal Name: Yunhe District Yibai Network Convenience Store (亚和区一百网络便利店)
This Privacy Policy complies with Apple App Store Review Guidelines (Section 5.1.1) and Google Play Developer Data Safety requirements.