Katsuyo — Privacy Policy

Last updated 12 September 2026

Katsuyo is a Japanese verb conjugation practice app. It has no advertising and no tracking. Accounts are optional: everything works without one, and the app never asks you to make one. This policy describes exactly what the app sends off your device, and what it keeps on it.

What leaves your device

An anonymous device identity. On first launch the app signs in anonymously to Firebase Authentication, which creates an account identifier for this installation and sends authentication tokens between the app and Google's servers. It carries no name, no email address, and nothing about you. It exists so that, if you later create an account, your progress can move with it rather than being stranded.

Your account, if you create one. Creating an account stores your email address (with Firebase Authentication) and a password, which Firebase stores only in hashed form and which the developer never sees. You can sign in on another device with them, and you can reset the password by email.

Your synced progress, once you have an account. With an account — and only then — the app uploads a compressed copy of your practice data so it survives a lost device and follows you to another one:

This copy is readable only by that account. Theme and text size are not uploaded — they stay per device. Without an account, none of this leaves your device.

Leaderboard entries. If you score highly enough and choose to submit, the app saves the display name you type, your score, the JLPT level you played, and the date. This is stored in Google Cloud Firestore and is publicly readable — it is shown to everyone who opens the app. Please do not use your full name, an email address, or anything else you would not want published. Names are filtered for offensive content and can be reported by other players.

Feedback and reports. If you send feedback, or report a leaderboard name, the app transmits what you wrote. A report also includes the reported name, its score and board, an identifier for the leaderboard entry, the display name you last used, and the time. These are delivered to the developer by email through Formspree. Submitting either is entirely optional.

An optional tip, if you leave one. Tips on web and Android are processed on a Stripe-hosted payment page. On iOS, tips are processed by Apple through StoreKit by default; the United States App Store storefront also offers a secondary Stripe-hosted option. The payment provider receives the amount and the information needed to process the transaction. Katsuyo never receives your full card details and does not attach your account, learning history, or leaderboard activity to the payment.

Nothing else is transmitted. There is no analytics, crash reporting, advertising, or tracking of any kind in this app, and no advertising identifier is requested or used.

Page counts on the website. playkatsuyo.com, including the conjugation reference and the browser version of the app, uses GoatCounter to count page views. It records the page, the referring site, browser and operating system type, screen size, and country. It sets no cookies and stores no IP address or other identifier, and it is hosted in the EU. The iPhone and iPad app does not include it.

What stays on your device

All of it lives in the app's local storage and is deleted when you delete the app. Without an account it is uploaded nowhere; with one, everything except the theme, text size and audio cache is also copied to your account, as described above. The app always works from this local copy, so it keeps working offline either way.

Service providers

As with any internet service, these providers receive your device's IP address as an unavoidable part of handling the request, and may retain it in server logs. The app itself neither reads nor stores your IP address.

Children

Katsuyo is a study tool suitable for all ages and does not knowingly collect personal information from anyone, including children. The only information a user can publish is a self-chosen leaderboard display name. Please choose one that does not identify you.

Removing your data

Your account. Settings → Account → Delete account permanently removes your account and everything synced to it. If you cannot reach the app, you can request deletion here. The progress on that device is left alone, and the app keeps working without an account. One record is kept indefinitely afterwards: the deleted account's internal identifier and the time it was deleted, and nothing else. It exists so that a device still holding a valid sign-in cannot recreate the account you just deleted; it contains no email address, no name, and no progress.

Leaderboard entries are not removed by deleting your account. Board entries carry no account information at all, so they cannot be traced back to an account — which also means deleting one cannot find them. To have an entry removed, contact the developer at the address below with the name and approximate date, or use the report button on the entry itself.

Your progress. Settings → Reset progress clears your learning history, statistics and high score; with an account, on every device signed in to it. To remove everything held on a device, delete the app.

Data sources

Japanese word, reading and meaning data comes from JMdict and KANJIDIC, © the Electronic Dictionary Research and Development Group, used under CC BY-SA 4.0. Japanese text is set in Noto Sans JP, used under the SIL Open Font License 1.1.

Changes

If this policy changes, the revised version will be posted at this address with an updated date.

Contact

Questions, data removal requests, or reports of objectionable content: feedback@keshiki.app. You can also use the in-app feedback form: tap the ? icon on the home screen, then Feedback.