Privacy Policy
For our iOS app for learning Mandarin from video clips. Effective November 11, 2026
- Your learning progress stays on your device. We can't see it.
- An account is optional. If you sign in with Apple, we get an anonymous ID, not your name or email.
- Crash reports help us fix bugs. They describe the device and the error, not you.
- We tell Meta (Facebook) when the app is installed and when you start a trial or subscribe, so we can see which ads work. Your advertising identifier is shared only if you tap "Allow" when the app asks to track.
- We don't sell your data and there are no ads in the app.
Who we are
The app is made by Andrew Breckenridge ("we", "us"). This policy covers the Mandarin-learning app and this website.
What we collect and why
Your learning data
Your level, the shows you pick, the words you save and know, your daily goal and your settings are stored on your device and aren't synced anywhere. What you do in the app (below) is recorded as usage events, but your saved words and progress themselves stay on the device.
Usage analytics
We use Mixpanel to understand how the app is used. For example: which onboarding steps people finish, which clips are watched, which words are tapped and saved, and when the subscription screen is shown. Events are tied to a random ID generated on your device, or to your anonymous account identifier if you sign in. Mixpanel receives your IP address with each request and may use it to estimate your country or city. Our own server also receives which clips are watched, with a random device ID, to decide which clips to show more often. We don't send your name, email, or contacts.
Sign in with Apple (optional)
If you sign in, Apple gives us an anonymous identifier for your account, so your subscription follows you to a new device. We don't ask Apple for your name or email address. The identifier goes to RevenueCat (subscriptions), Mixpanel (usage analytics) and Sentry (crash reports), described below. Signing in doesn't move your learning progress off the device.
Crash and bug reports
We use Sentry to receive crash reports, errors and performance data: device model, iOS version, app version, the error, and the app steps just before it (for example, which screen was open). An error report can include a screenshot of the screen and a short recording of the session leading up to it, with text and images masked. If you're signed in, the report carries your anonymous account identifier. If you send a bug report from the app, Sentry also receives your message, a screenshot of the screen you were on, and your email address if you choose to enter one so we can reply.
Purchases and subscriptions
Payments are handled by Apple. We never see your card details. We use RevenueCat to manage subscriptions. RevenueCat receives your purchase and subscription history (for example: trial started, renewed, cancelled), an anonymous customer ID (or your anonymous account identifier if you're signed in), a device identifier (the identifier for vendor), and your IP address. If you came from an Apple Search Ads ad, RevenueCat also receives which campaign it was. RevenueCat also passes subscription events to Mixpanel. We use this to give you access to what you paid for and to compare versions of the subscription screen.
Advertising measurement (Meta)
We may advertise the app on Meta platforms (Facebook and Instagram). To see which ads lead to installs, the app includes the Meta SDK. It tells Meta when the app is installed and opened, and when a free trial starts, along with an anonymous Meta ID for your device.
During setup, iOS asks whether the app may track you across other companies' apps and websites:
- If you tap Allow: your trial and subscription events go to Meta with your device's advertising identifier, so Meta can link them to the ad you saw.
- If you tap Ask App Not to Track: your advertising identifier is not shared. Trial and subscription events still go to Meta with the anonymous Meta ID, a device identifier (the identifier for vendor) and your IP address, and Meta uses them only to measure ad results in aggregate. Meta also uses Apple's privacy-preserving tools (SKAdNetwork) for this.
You can change this at any time in iPhone Settings → Privacy & Security → Tracking.
Videos
Clips come from YouTube. When a clip plays, YouTube (Google) receives the request and handles it under the Google Privacy Policy.
Reminders
If you allow notifications, daily reminders, the trial-ending reminder and any offer reminder are scheduled on your device. No notification data is sent to us.
What we don't do
- We don't sell or rent your personal data.
- We don't show ads inside the app.
- We don't collect your contacts, photos, microphone, or location.
Who we share data with
Only the service providers named above (Apple, Mixpanel, Sentry, RevenueCat, Meta, and YouTube/Google), for the purposes described, and only what each needs. We may also disclose data if the law requires it.
How long we keep it
Crash data and subscription records are kept only as long as they're useful for running and improving the app and meeting legal obligations, under each provider's retention settings. Learning data stays on your device until you delete the app.
Your choices and rights
- Account: in the app, go to Settings to sign out or delete your account. Deleting it revokes the app's Sign in with Apple access to your Apple Account, signs you out and removes the account identifier from the app. Your subscription is billed by Apple, so deleting the account doesn't cancel it: cancel in iPhone Settings → [your name] → Subscriptions.
- Tracking: turn it on or off in iPhone Settings → Privacy & Security → Tracking.
- Notifications: turn them off in iPhone Settings → Notifications.
- Learning data: delete the app.
- Access or deletion: email us and we'll delete crash and subscription data linked to you, or send you a copy. Depending on where you live (for example in the EU, UK, or California), you may have further rights, such as correcting your data or objecting to its use. Email us to use them.
Children
The app is not directed to children under 13, and we don't knowingly collect data from them. If you think a child has used the app, email us and we'll delete the related data.
Changes
If this policy changes, we'll update the date at the top of this page. If we make significant changes, we'll also tell you in the app.
Contact
Questions or requests: asbreckenridge@me.com