Yokoso Privacy Policy

Effective: July 2026

Yokoso is a Japanese-learning app built to collect as close to nothing as possible.

What we store

Your learning progress (which items you've studied, your answers, and review schedules), your settings, and optional memory hooks you write. All of it lives on your device.

Sync & sign-in

The app never requires an account. If you choose to enable cross-device sync, your progress and settings are stored in a sync backend (Supabase) so your devices stay in agreement, keyed by a sync identifier: either a random code you generate on your device, attached to no identity at all, or — on the web — your Google account if you would rather tap once. Sign-in shares only your account identifier and email address with us; we use them to key your progress data, not for messaging, marketing or advertising. (Sign in with Apple is not currently offered.)

Your synced settings include the display name you typed in Settings, if you typed one. You can also claim an optional recovery name: a nickname plus a secret word, so a lost sync code can be found again. We store the nickname, the sync code it points at, and a one-way hash of the nickname and word together. The secret word itself never leaves your device and we cannot read it back. Anyone who knows both your nickname and your word can retrieve your sync code, so pick a word others won't guess.

WaniKani import

If you paste a WaniKani API token, the app talks directly from your device to WaniKani's API to read your progress there — no server of ours sits between you and them. Your token stays on that device unless you turn on sync. With sync on, the token travels inside your sync data, over an encrypted connection, and is stored in your private sync row, so your other devices can keep the import running. That is deliberate: a token that did not follow you would leave the import quietly broken on your next device. Apart from WaniKani itself and your own sync row, it is sent nowhere. The same is true of a Bunpro API key if you have one.

Speech

Listening practice is spoken by Japanese voices installed on your own device. Nothing you study is sent anywhere to be read aloud. Some browsers also offer Japanese voices that are synthesized on the browser maker's servers, which would mean sending the sentence you are studying to them: Yokoso never uses one. Those voices are left out of the voice picker, and the picker says when it has left one out. If your device has no Japanese voice installed, listening practice stays off until you add one, rather than quietly falling back to a voice on someone else's machine.

How synced data is used

If you turn on sync, your synced learning activity also helps us understand how Yokoso is used, in aggregate, to improve it. That means counts and averages across everyone who syncs: how many people are active in a week, how long a typical review log is, which practice modes get used, which JLPT bands people are working in. We look at it to decide what to build next and to describe the app honestly to other people. We do not build profiles of individuals, we do not sell it, and we do not hand it to anyone else for their own purposes. If sync is off, none of your activity reaches us at all.

Server logs

When sync is on, your device talks to our database provider, Supabase. Like any web service, their standard API logs record the basics of every request: the IP address it came from and the URL path it asked for. Your sync identifier travels in that path, so those logs can associate the two. We would rather that were not true, and we are telling you because it is. Those logs are kept on the provider's own retention schedule for our plan, and they are used for one set of things: keeping the service running, working out what went wrong when something breaks, and keeping it secure. Never for advertising, and never sold. With sync off, your device makes no such request and there is nothing to log.

What we don't do

No ads. No data sales. No third-party trackers. No advertising identifiers, no tracking pixels, and no sharing your data with anyone for their own purposes. The app works fully offline.

Who else is involved, and only if you ask

Everything above is optional and off until you turn it on. When you do, these companies process the data that feature needs, and nothing else: Supabase (sync and sign-in storage), WaniKani (your import, contacted from your device), Stripe (web supporter payments) and Apple (iPhone-app payments). Turn a feature off and it stops.

Payments

Optional support payments are processed by Stripe (web) or Apple (iOS). We never see or store card details.

Deletion

Settings → "Reset all progress" erases the data on that device; if sync is on it turns sync off first, so nothing pulls the erased data back. Settings → Sync also has "Turn off sync on this device" on its own, which leaves your progress here and stops it travelling. Neither one deletes the copy already in your sync row — your other devices are still using it. To have that row deleted, contact us with your sync code or account email.

Contact

james@yokosoapp.com

← yokosoapp.com · Terms · Support · Support Yokoso