プライバシー Privacy Policy
This policy describes what ミステリー日本語 keeps and what it sends. It is written PDPA-first for Singapore and is suitable for a mixed-age audience.
On your device
- Your progress — the steps done, the seals on each word, the kana learned, your dictation scores, the mock tests you have sat with the answers you gave, and how each word, question and grammar point has gone in 復習 — and your settings are stored in your browser's local storage on your own device. Unless you sign in, none of it is sent to us.
- Handwriting is checked on your device. The strokes you draw are not sent anywhere.
If you sign in
- Signing in is optional. When you sign in with Google, with Apple (on the web or in the iPhone app) or with a link sent to your email, we keep your email address (with Apple, the address Apple shares, which may be a private relay address), an account ID and a copy of your progress with Google Firebase (Google LLC), our account and database provider, so your progress follows you to every device where you sign in. The copy also holds the date you first opened the app. Only your account can read that copy.
- When the app opens, it connects to Firebase, which gives this browser an anonymous ID of its own. The app uses it to check whether the full version is unlocked. Nothing about you is sent with it until you sign in.
- If you connect an AI agent to your account (japanese.tips/authorize, which the agent opens), we keep your account ID, the agent's name and address, and your sign-in's refresh token, encrypted, with Cloudflare (our host). The agent can then read your mock papers 2 to 5 while you have the full version or are in your first week. Each time it does, japanese.tips uses the refresh token to ask Firebase whether you are still signed in and have the full version. A connection unused for 30 days ends; signing out everywhere ends it too, and Settings, Account lists the agents connected and disconnects any of them.
- In the Android app, signing in with Google uses your phone's own Google account picker.
- In the iPhone app, signing in with Apple or Google uses the phone's own Sign in with Apple sheet or Google's sign-in sheet.
If you buy the full version
- On the web and in the Android app, buying requires signing in, so the full version follows you to every device where you sign in. Its record holds the date it was paid for and the payment provider's references for it (for a subscription bought before, its plan, renewal date and status); only your account can read it.
- In the iPhone app nothing needs signing in: you buy with your Apple Account through the App Store, and the app sends Apple's signed record of the purchase to japanese.tips to check it. We keep Apple's transaction identifiers, the product, the price and currency, the App Store country, the date, and the date of any refund. Apple does not give us your name, email address or card.
- On the web, the purchase sheet asks japanese.tips which country your connection comes from, so that buyers in the EU, the EEA and the UK see the box about the right to cancel. The purchase record keeps that country and, if you ticked the box, when, and we email you a confirmation of it.
- On the web, payment is handled by Airwallex on its own hosted page: card details are entered there, and we do not receive or store card numbers. If your sign-in address is verified, we give it to Airwallex so the receipt reaches you.
- In the Android app, payment goes through Google Play under Google's terms. Google tells us the order's reference and whether it was refunded.
What the app loads
- The app's files — its scripts, fonts, lessons and stroke-order data — come from our host, Cloudflare. Those requests carry the standard technical data any web request does, such as your IP address, handled under Cloudflare's policies.
- We count visits with Cloudflare Web Analytics. When the app loads, it reports the page, the site you came from, how fast the page loaded, and your browser, device type and country. It uses no cookies and does not identify you or follow you to other sites, and it never sees your progress, which stays on your device.
- Active users are counted with an anonymous, scrambled identifier: once a day the app says it was used and whether the full version is unlocked, and the first time, where the visit came from (a search engine, a link, or typed in) and the page it began on. We keep the scrambled identifier, never the original, with the day, the country and the device type. Your device keeps where you first came from and the day of its last count. Nothing personal is stored.
- Visitors to these pages and the app are counted by device: your browser keeps a random number (no cookie), and once a day each page or the app says it was opened. We keep a scrambled form of that number with the day, never the number itself, so we can tell how many people read the pages, used the app, or both.
- We count requests to the reference pages under japanese.tips/jlpt and to the endpoints AI agents use, by kind of request and kind of browser or program (for example "a web browser" or "ClaudeBot"). The count keeps no IP address, no account and nothing that identifies you.
- If the app hits an error, it reports the error's message and where in the app it happened, with the page, your country and the kind of browser. The report keeps no IP address and no account.
- In the Android and iPhone apps, without the full version, a lesson round may end with a full-screen ad from Google AdMob (Google LLC), at most three a day. Every ad request is marked for child treatment and asks for ads suitable for all ages, and the app does not use the advertising ID. To show and count the ads and to prevent fraud, AdMob receives the phone's IP address (which may give its general location), a device identifier limited to this app or its developer (on Android, the app set ID), taps and views of the ads, crash logs, and data about the app's performance. In the European Economic Area and the UK, it asks for your consent first, and 設定's Privacy choices changes it.
- This website displays non-personalized advertisements served by Google AdSense, tagged for child-directed / age-restricted treatment (tfat=1) so that no interest-based advertising or remarketing cookies are used. The free web pages display ads; the paid full version has none. Third-party vendors, including Google, use cookies or web beacons to serve ads and measure ad performance on this website. How Google uses information from sites that use its services: policies.google.com/technologies/partner-sites.
Listening
Japanese is read aloud by your browser's built-in text-to-speech. Voices installed on your device are used first, and they speak on the device. If it has none, your browser may use an online voice, which sends the Japanese being read — the lesson's own text, never anything you enter — to the browser maker's service (for Chrome, Google). When one is in use, the app sends it a single silent syllable when you start using the app and after a minute without speech, so that a line plays without a wait.
In the Android app, Japanese is read by your phone's own text-to-speech engine (on most phones, Google's Speech Services), which speaks on the phone or, if the engine is set to, uses its online voices.
Children
Without signing in, the app collects no personal data (the visit counts above identify no one), so a child can use it without providing any; in the Android and iPhone apps, AdMob receives the data above for its ads, marked for child treatment. Signing in keeps an email address, as above. The full version is intended to be bought by an adult.
Your choices
最初から (Start over) in 設定 erases your progress, and if you are signed in, the copy on your account too. Clearing your browser's site data for this app erases everything it stored on the device. Delete account in 設定, アカウント deletes your account. For any question about data, write to support@latticelogic.app.
How long we keep your information
- Your account (sign-in, progress, what you own): while you use it. If an account is not used for 24 months and holds no purchase, we delete it. An account with a purchase is kept so that what you bought stays yours. You can ask us at support@latticelogic.app to delete any account sooner, and we delete it within 30 days.
- Purchases and refunds: for as long as tax law requires us to keep sales records (at least 5 years). (These hold the purchase, not your progress.)
- Sign-in links sent by email: Google Firebase sends them, and we keep no copy.
- Usage statistics (which days the app was opened, and how a visitor first arrived): stored under a scrambled id that is not your account id, and deleted after 13 months.
- Error reports and request counts: 3 months.
- An AI agent's connection: until you disconnect it, or 30 days after the agent last used it.
- Server logs: 30 days.
- Backups: 7 days, then overwritten.
- Emails we send you (the welcome email, receipts, the confirmation of the box about the right to cancel): copies stay in our mailbox as our record of what we sent, for support and, for receipts, tax.
If you are under 13 and a parent asks us to, we delete the child's information at once.
Deleting your account
- To erase only your progress, open 設定 and tap 最初から (Start over). This clears it on the device and, if you are signed in, on your account.
- To delete your account, open 設定, アカウント, tap Delete account and sign in once more. Your sign-in, your account ID and the copy of your progress are deleted at once, and a Sign in with Apple account's access is revoked. The device then starts over.
- If you cannot sign in, email support@latticelogic.app from the address you signed in with, or name that address in the message. We delete the account within 30 days and reply when it is done.
Records of any payment are kept for as long as tax law requires. A purchase is not refunded. Nothing else is kept.