Privacy Policy
The short version
Last Chance Japanese stores your learning progress, answers, any exercise reports you choose to send, and a few preferences. Your first onboarding lesson is available as a guest. To start or restore a membership, you must link your progress to an account.
If you save your progress with Apple or Google, we receive the stable identifier that provider assigns to you for this app and, if you allow it, your email address. If you buy or restore a membership, RevenueCat processes your account identifier and store transaction information so the app can check and restore access. Apple or Google handles payment; we do not receive your full payment card details.
We use PostHog in its EU region to measure app usage with a pseudonymous analytics identifier. Analytics do not include your answers, Japanese text, account details, or the app’s guest learner identifier.
If the app crashes or hits an error, Sentry in its EU region receives a technical report so we can fix it. Crash reports do not include your answers, your IP address, or your account.
The first lesson is free. An active membership is required for full access. We do not sell your data, show advertising, or track you across other apps or websites.
What we collect
Learning data: the exercises you answered, whether each answer was correct, your typed answers, mastery estimates, session history, onboarding answers (previous attempts, reasons for stopping, self-selected level), and the moments the app showed you as proof of progress.
Exercise reports: the exercise and curriculum version, your selected reason, and any optional details you submit. Reports are associated with your random guest identifier so we can review them and remove them if you delete your data.
Device and account data: a random installation identifier, a random guest identifier, an access credential used to sync, your time zone, and the app version. The guest identifier is stored in secure device storage on Android and iOS, or in your browser’s local storage when you use the web preview. If you save your progress with Apple or Google, the identifier that provider assigns to you for this app and, if shared, your email address (with Apple, this may be a private relay address).
Membership data: the account identifier linked to your app account, the subscription product and transaction status, and relevant purchase, renewal, and expiration information. RevenueCat processes store transaction information to validate purchases and restores. Our API may receive membership status and subscription dates from RevenueCat so the app can keep access in sync. Apple or Google processes the payment; we do not receive your full payment card details.
Preferences: appearance, audio autoplay, and your selected reminder days and time if you enable reminders. When remote push is enabled, the API also stores an Expo push token for each opted-in device and the local calendar date of the most recent completed session so it can suppress same-day reminders and choose an appropriate message.
Product analytics: screen names, session and exercise types, answer outcomes and response times, story progress, dictionary and audio use, reminder choices, and exercise report categories. The PostHog SDK also sends app version and build, device model and type, operating system name and version, screen dimensions, locale, and time zone. PostHog receives a separate pseudonymous identifier; it does not receive answer text, Japanese content, optional report details, account identifiers, or the app’s guest learner identifier.
Crash and error reports: when the app crashes or an error occurs, Sentry receives the error message and stack trace, the screens and app actions just before it, the app version, device model, and operating system version, plus timing data from a small sample of sessions. We configure Sentry not to attach your IP address, account, guest identifier, answers, or console logs.
We do not collect your name, contacts, location, photos, microphone audio, or advertising identifiers. The app does not request microphone access.
How we use it
To choose what you study next, schedule review, and keep your progress across devices and reinstalls when you have saved it to an account.
To validate, restore, and manage membership access associated with your account, including showing whether your subscription is active or in a trial.
To review and correct reported curriculum issues. Optional report details are not included in analytics exports.
To send optional learning reminders on the days and at the time you choose. They are scheduled on your device by default. If remote push is enabled, the Expo push service and Apple or Google push infrastructure deliver them; a local session date and a coarse return-gap category select a gentle, relevant message.
To keep the service working: preventing abuse, diagnosing crashes and faults, and measuring aggregate use of the app (for example how many learners finish their first lesson). Free-text answers are removed from any analytics export.
Where it is stored
On your device, in the app’s private storage. Learning data is held on our servers in the European Union (Google Cloud, Belgium; Neon, Frankfurt). Product analytics events are hosted in PostHog’s European Union region, and crash reports in Sentry’s European Union region (Germany). Data is encrypted in transit.
These service providers process data only to run the app for us: Google Cloud and Neon (hosting), PostHog (usage analytics), Sentry (crash reports), Expo (push delivery, when enabled), RevenueCat (subscription validation and membership status), and Apple or Google (sign-in and store payments, when you choose them). We do not share your data with anyone else, except where the law requires it.
How long we keep it
Learning data is kept for as long as you use the app. We may remove data from installations that have been inactive for a long time. When you delete your learning data from Settings, it is removed from our servers immediately and from your device at the same time; backups expire within 30 days. Pseudonymous product analytics events are retained in PostHog for up to one year, and crash reports in Sentry for up to 90 days; neither is linked to your guest learner identifier or saved account. To request deletion of analytics records, contact us at the address below.
Your rights
You can export the data we hold about you (Settings → Export my data) and delete your app account and learning data (Settings → Delete my data) at any time, without contacting us. Deleting your app account does not cancel a subscription purchased through Apple or Google; cancel it separately in that store’s account settings.
If you no longer have the app, you can ask us to delete your account by email. Instructions are at https://lastchancejapanese.com/delete-account.
If you are in the EU, UK, or another region with data-protection rights, you may also ask us to correct or restrict processing, or lodge a complaint with your supervisory authority. Write to [email protected].
The legal basis for processing is the performance of our contract with you (providing the app) and, for aggregate analytics and fault diagnosis, our legitimate interest in keeping the service working well.
Who is responsible
Last Chance Japanese is run by the independent developer of Last Chance Japanese, who is the controller of the personal data described here. You can reach us at [email protected].
Children
The app is not directed at children under 13 (or the age of digital consent in your country) and we do not knowingly collect data from them. If you believe a child has provided data, contact us and we will delete it.
Changes
If this policy changes in a way that matters, the app will tell you before the change applies. The effective date at the top always reflects the current version.
Contact
Questions or requests: [email protected].