Toku Reader

プライバシーポリシー

二つのアプリと、このウェブサイト。三つのポリシーを、一つのページに。

このページは英語のみで提供しています。英語版が正式なものです。

Toku Reader for iPhone and iPad

Last updated: October 24, 2026

Toku Reader (“the App”) is a reading assistant for Japanese and Chinese — and for English, for readers whose own language is Japanese or Chinese — developed by Darren Nah. This policy explains what data the App collects, why, and how it is handled.

On-Device Processing

The core function of Toku Reader is to help you read. All of the reading help — working out the words, their readings and meanings, and dictionary lookups — happens entirely on your device. The texts you paste, import, or read in the App are never sent to the developer or to an AI provider, except in two cases you choose: the sentence you send when you ask for an AI explanation (see “AI explanations” below), and the passage around a word when you send a feedback report (see “What We Collect”). If iCloud sync is on — it is unless you switch it off — the texts you save are also kept in your own iCloud account, on Apple’s servers, where the developer cannot read them (see “iCloud Sync” below).

This applies to all content surfaces in the App:

  • Text Reader — Pasted or imported text (plain text, PDF, EPUB, SRT files) is processed and stored locally on your device.
  • Links you paste or share — When you give the App a web address — by pasting it, by tapping the link the App offers from your clipboard, or by sharing a page into Toku Reader from another app — the App downloads that page itself, directly from the website, and turns it into text on your device. The website sees a visit from your device’s internet address, labelled as Toku Reader — or, for a link shared in from another app, possibly as an ordinary iPhone browser. Your Safari cookies and sign-ins are never sent; for a link shared in from another app, a sign-in you made to that site in the App’s own Web tab may be, as it would be if you opened the page there. A GitHub link is fetched from GitHub (raw.githubusercontent.com), together with any pictures the document shows, each from wherever it is hosted. None of this passes through the developer’s servers.
  • Web Reader — The in-app browser (the Web tab) lets you read web pages with reading aids. Web pages load directly from each website, as they would in Safari, and the reading help happens on your device. Words you type into the address bar that are not a web address are sent to Google Search as a search, as in any browser; Google’s Privacy Policy applies to it. Browser conveniences — browsing history, open tabs, per-site reading-aid preferences — are stored only on your device, are never transmitted anywhere, are excluded from device backups, and can be cleared at any time (History > Clear). The App developer cannot see your browsing activity.
  • Writers you follow — If you follow a website or a writer (the Writers shelf on the Read tab), the App checks that site’s public news feed for new articles, directly from the site: now and then when you open the Home or Read tab, only over Wi-Fi, and whenever you pull down to refresh the Writers list. Opening an article opens the site’s own page in the Web tab. The developer sees none of this.
  • Videos (YouTube) — The App plays YouTube videos through YouTube’s official embedded player and shows their subtitles as tappable text. When you search for videos, open a video or a channel page, play a video, ask for subtitles translated into another language, or see a video’s or channel’s picture in Toku, the request goes directly to YouTube (Google); the developer never sees it. If you follow a channel, the App also asks YouTube for that channel’s list of recent videos — now and then when you open the Home tab, and only over Wi-Fi — so it can show what is new; you can switch this off in Settings → Listening & Downloads (“New videos from channels you follow”). Google’s Privacy Policy applies to that traffic. Subtitle text and your recent-video list are cached locally on your device; all language analysis of subtitles happens on-device. The App developer receives none of this data.
  • OCR Reader — When you use the camera or select a photo for text recognition, images are processed entirely on your device, either by Apple’s own text recognition or by Google ML Kit’s (see “Third-Party SDKs” below). Both are built into the App, so nothing is downloaded for them. Images are not uploaded, stored, or transmitted.
  • Dictionary — Lookups use dictionaries built into the App. No network requests are made for dictionary lookups.
  • Translations — Sentence and line translations are made on your device, using either Apple’s built-in translation or Google ML Kit’s (see “Third-Party SDKs” below). The files each needs for a language are downloaded once — Apple’s from Apple (iOS may ask you first), ML Kit’s from Google. The text being translated is not sent to Apple, Google, or the developer. Translated subtitles for a YouTube video come from YouTube.
  • Handwriting Input — When you use the handwriting canvas to draw a character, recognition runs on your device using Google ML Kit. The files it needs come from Google and are then kept on your device — after that, recognition runs fully offline. They download in the background over Wi-Fi after you finish setup — they do not wait for you to open the handwriting canvas. See “Third-Party SDKs” below.
  • Sharing into Toku Reader — When you share text from another app into Toku Reader, it is processed and stored locally on your device. When you share a link, the App fetches that page from its website, as described under “Links you paste or share” above.
  • Word Review & SRS — Saved words, review history, and spaced-repetition scheduling data are stored locally on your device.
  • Text-to-Speech — Read-along audio is generated on-device using Apple’s built-in speech synthesis. No audio data is transmitted.
  • Anki Import / Export — Imported .apkg files are parsed in memory on-device and are not retained after import. Exports are written to a file location you choose, or, if you ask, handed to the AnkiMobile app on the same device; nothing is transmitted.
  • Sharing — When you share a word, a video, an article, or a podcast episode from Toku, the App makes a tokureader.com link that carries only that item’s title, its language, its source’s name, a link to the original (for an article, its web address), and, for a word, its reading and a short meaning. It never carries the article, the transcript, or anything about who shared it, apart from the language of the sharer’s menus, in the address (for example tokureader.com/ja/s/… for Japanese menus), and it goes only where you send it. What the website does when the link is opened is described in the website’s section of this page, under “Share Links”.

Podcasts and Speech Models

Podcasts live on the open internet, so this part of the App has to reach it. What it does, and who sees what:

  • Shows and episodes — Feeds, episode audio, artwork, chapters, and any transcript a publisher provides are fetched directly from that publisher and from Apple’s podcast content network. That includes checking the shows you follow for new episodes (now and then when you open the Home tab, and only over Wi-Fi) and, while you listen, downloading the next episode in line so it starts without a wait. None of this passes through the developer’s servers.
  • Transcripts from LISTEN — When you open the page of a Japanese show whose own feed carries no transcripts, the App may check, once, whether LISTEN (listen.style), a Japanese podcast service, publishes a copy of that show’s feed with transcripts. The check asks LISTEN for that show’s feed and nothing else. If you then follow the show from LISTEN’s copy, its feed comes from LISTEN from then on.
  • Finding shows — The search box on the Home tab sends what you type to Apple’s podcast directory and to YouTube at the same time (and may also send it to PodcastIndex.org). An Apple Podcasts link you paste is looked up in the same Apple directory. The list of popular shows on the Home tab is Apple’s public chart of top podcasts for the country whose language you are learning; fetching it sends no search words and nothing about you. These requests go to those services, not to the developer.
  • Transcribing an episode — When a publisher provides no transcript, the App makes its own, on your device. The speech-recognition files this needs are downloaded once: on recent versions of iOS, from Apple; on older ones, from Hugging Face, over Wi-Fi only. The download starts when you first open an episode that needs it — or, in the background over Wi-Fi, soon after you first listen to an episode or tap a word in a transcript, so that it is ready when you need it. The audio itself is never uploaded; transcription happens entirely on the phone.
  • Your own audio and video files — When you open an audio or video file from your own device through the Files picker, the App reads it where it sits and writes the transcript on your phone (or uses a subtitle file you picked with it). The App keeps only a pointer to the file, never a copy. The file, the audio and the transcript are never uploaded and never leave your device. Removing a file from the App’s list never touches the file itself.
  • Shadowing practice — Repeating a line back uses the microphone. The recording is compared with the line on your device and stays on your device. No audio is transmitted.

What We Collect

The App sends the developer two kinds of data automatically, both of which you can switch off, and more only when you choose to: feedback reports you send, and AI explanation requests if you turn that feature on. The two automatic kinds never include the text you read; a feedback report does, as described below.

  • Crash and freeze reports— on by default, and switched off in Settings → Privacy & AI (“Share anonymous crash & performance reports”). If the App crashes, stops responding, or puts an unusual load on your device’s processor or storage, the report carries: your device model, iOS version, the App version and build number, technical details of where in the App the problem happened, and the anonymous device identifier described below. It never carries your texts, your saved words, or anything you typed.
  • Getting-started counters— sent only by new installs. Most are sent in the first two days; any that first happens later — for example your first saved word — is sent when it happens. Switched off in Settings → Privacy & AI (“Share anonymous setup counters”). Seven yes-or-no facts about getting started — for example whether setup was finished, whether a word was tapped, and whether the App was opened again on the second day — plus how many seconds passed before the first tap, the anonymous device identifier, and the App version. No content of any kind is included.
  • Feedback reports you choose to send — when you report a wrong reading or definition, or send feedback about the App, the report carries: the word you tapped, the passage you were reading exactly as it appeared on screen, how the App had read that word, which part of the App you were in, the language, your note, and technical version information about the App. When you tell the App that an AI explanation is wrong, the report carries the sentence, which explanation it was, and the kind of wrong you chose.

The anonymous device identifieris a random number the App makes the first time it opens and keeps in your device’s secure storage. It exists to group reports that came from the same device; it cannot identify you personally, and it is tied to no name, email, or account. It may survive deleting and reinstalling the App. It — or, in newer versions of the App, a scrambled, one-way code made from it — goes with crash reports, setup counters, feedback reports, and AI explanation requests. With crash reports, setup counters, and feedback reports, what arrives is stored as it is, so that reports from the same device can be grouped. For AI explanations (and for hearts and reactions, described below) the server never stores what arrives in its original form: it keeps only a scrambled, one-way copy, which for explanations is used to count them against your monthly allowance.

Optional External Integrations

The following integrations are off by default and only activate when you explicitly opt in. Each is independent — you can use the App without any of them.

AI explanations (optional, off until you turn it on)

The App can explain whya word or a sentence means what it means. This is off until you turn it on. When you have turned it on and you tap the AI button, the App sends the following to the developer’s server, which forwards it to an AI provider: the sentence you asked about and the sentence before it, the App’s own reading of that sentence and the dictionary meanings it found, the question being asked, the language you read answers in, your rough reading level if you have set one, and what kind of text it came from (for example a web page, a podcast, or a video).

The provider is either Anthropic (Claude) or Google (Gemini); the developer may use either one at any time, so both are named here. Each retains what it receives under its own API terms — see Anthropic’s privacy policy and the Gemini API terms.

No name, email, or account is sent. The anonymous device identifier described above (or the scrambled code made from it) is sent so that explanations can be counted against your allowance — or, if you are a subscriber, your proof of subscription from the App Store instead — and the server stores it only as a scrambled, one-way copy. The answer is kept on the server, filed by the sentence it explains rather than by who asked, so that anyone who later asks about the same sentence can be shown the same answer.

Reading, dictionary lookups, and listening never use this. You can turn it off again at any time in Settings.

Hearts and reactions (built in, not switched on yet)

The App contains a way to put a heart or a reaction on a story, a podcast, a YouTube channel, or an AI explanation, and see how many other readers did the same. Nothing you brought in yourself — your texts, web pages, or files — can carry one. It is switched off today, and it can be switched on at any time, without an App update. When it is on, the App fetches the counts — a request that says nothing about you — and each tap you make sends the developer’s server which item it was, which reaction, whether you added or removed it, the item’s language, and your reading level if you have set one, together with the anonymous device identifier (or the scrambled code made from it), which the server keeps only as a scrambled, one-way copy. To prevent abuse, the server also keeps, for each day, a scrambled, one-way copy of the internet address the taps came from — never the address itself. Only the totals are ever shown to anyone. Settings → Privacy & AI shows how many you have given and lets you remove all of them from the server at any time.

Sign in with Apple (optional)

If you sign in with Apple, the name and email Apple shares (both of which you can hide) are stored only in your device’s Keychain and are never sent to the developer. If you later delete your account, the App sends a single one-time authorization code from Apple to the developer’s server for one purpose only: to tell Apple to revoke the sign-in token. The code is used once and nothing from it is stored.

WaniKani (optional)

If you connect a WaniKani account, the App acts as a client of wanikani.com’s public API (api.wanikani.com). This requires:

  • Your WaniKani Personal Access Token (PAT), which you generate on wanikani.com and paste into the App. The PAT is stored in the iOS Keychain on your device. It is only transmitted to api.wanikani.com over HTTPS, never to the App developer’s servers.
  • Your WaniKani subjects, assignments, review statistics, and study materials are fetched from api.wanikani.com and cached locally so reviews and lessons work offline. Pronunciation recordings and radical pictures are loaded from the file addresses WaniKani’s API gives for them.
  • When you submit a review grade, the result is sent to api.wanikani.com to update your SRS progress on WaniKani’s servers. The App does NOT send this data anywhere else.

Disconnect at any time in Settings — the PAT is deleted from the Keychain and cached WaniKani data is cleared. The App does not read, log, or transmit your WaniKani data except to and from WaniKani (api.wanikani.com, and the file addresses its API gives). WaniKani’s own privacy policy applies to data it holds on its servers.

Premium Subscription (optional)

The monthly Premium subscription is processed entirely through Apple’s StoreKit. Payment information is handled by Apple — the App never sees or stores your payment method, Apple ID, or billing details. The App keeps on your device your current plan (free or Premium), a count of the word lookups you have made today, and a count of the explanations you have asked for this month. The proof of subscription Apple issues is sent with an explanation request so the server can confirm that you are a subscriber.

What We Do NOT Collect

  • No names or email addresses are ever transmitted to the developer. If you optionally use Sign in with Apple, the name and email Apple shares (which you can hide) are stored only in your device’s Keychain and never sent to us; the WaniKani PAT likewise stays on your device and is only sent to wanikani.com
  • No location data
  • No third-party analytics or advertising SDKs. The developer receives only the crash reports and setup counters described under “What We Collect” above, both of which you can switch off in Settings
  • No advertising identifiers
  • No browsing history or web activity is ever transmitted to the developer (your local history stays on your device, under your control)
  • No photos or camera images
  • No payment information (handled entirely by Apple)
  • The texts you read in the App are processed entirely on your device and are never sent to the developer, apart from a sentence you choose to send for an AI explanation and the passage around a word in a feedback report you choose to send
  • Nothing the App keeps in your iCloud account — your library, saved words, decks, reading position, podcast favorites — is visible to the developer. It is in your account, not ours (see “iCloud Sync” below)

Device Permissions

The App may request the following permissions, all of which are optional:

  • Camera — Used only for the OCR Reader to photograph printed text. Images are processed on-device and never leave your device.
  • Photo Library — Used only for the OCR Reader to select images for text recognition. The App uses Apple’s privacy-preserving photo picker, which only gives the App access to photos you explicitly select.
  • Microphone — Used only for shadowing practice, to record you repeating a line. The recording is compared with the line on your device and never leaves it.
  • Notifications — Optional. The App can remind you when your review words are ready, offer one sentence a day from your own reading to try, and, if you connect WaniKani, tell you when WaniKani reviews become available. All of these are scheduled on your device by iOS; no data is transmitted to enable them.

Third-Party SDKs

The App includes one family of software from another company that can send data of its own: Google ML Kit. What it is used for, what it sends, and how to avoid it are listed below.

  • Text recognition (Japanese and Chinese) — one of the two ways the App can read text in a photo. It is built into the App, so nothing is downloaded for it. Recognition runs fully on your device.
  • Handwriting recognition (in the Dictionary tab). Recognition runs on your device, but the files it needs come from Google.
  • Translation — what a podcast’s “Show English” (or “Show translation”) option uses, and what the text reader uses when Apple’s own translation is not available or cannot handle a sentence (see “Translations” above). Translation runs on your device, but the files it needs come from Google.
  • ML Kit’s own diagnostics. Google ML Kit generates a pseudonymous instance identifier and may send basic diagnostics to Google on first use. This is Google’s default behavior and is not specific to this App. See Google ML Kit’s terms and Google’s Privacy Policy.

When the handwriting and translation files are downloaded: the handwriting files download from Google in the background, over Wi-Fi, after you finish setup — they do not wait until you open the handwriting canvas — and on some versions of iOS the translation files do too. Otherwise a translation file downloads from Google the first time a translation needs it, over Wi-Fi or cellular data. If a background download does not succeed, Settings lets you try again, and that may use cellular data. Once a file is on your device, that feature works offline from then on.

Can you avoid Google ML Kit? Not entirely: it is part of the App, and some of its files download after setup as described. You can avoid usingit — the OCR Reader can use Apple’s own text recognition instead, and you need never open the handwriting canvas or turn on a podcast’s “Show English” (or “Show translation”). Everything else — the web reader, dictionary text search, word reviews, WaniKani, paste-based reading — never uses ML Kit, apart from the text reader’s translation when Apple’s is not available or cannot handle a sentence.

No advertising SDKs and no third-party analytics SDKs are integrated. Crash reports go to the developer’s own server, not to a third-party crash-reporting service, and can be switched off in Settings.

What Happens at Launch

On each app launch, Toku Reader fetches the latest set of approved dictionary corrections (reading/definition fixes the developer has curated from anonymous user feedback) from the same Supabase server the feedback reports go to. This is a read-only download of correction entries — no personal data is sent from your device in this request, and the App does not upload or identify you during the fetch. If the network is unavailable, the App continues using the previously cached corrections bundled with the app.

In the same way, when the App opens and when you come back to it, it downloads from the developer’s storage the App’s own settings, the list of stories (and, for the languages you read, the stories themselves and their pictures), and the list of recommended shows and videos on the Home tab, so that all of them can be corrected without waiting for an App Store update. When you use videos it also downloads a few settings for the video features from the same server. These requests carry no personal data either. The developer’s storage is hosted by Supabase; the stories, their pictures, and the recommendations may instead be served by Cloudflare or from an address under tokureader.com. Wherever they are, the host sees only what any server sees with an ordinary request: your device’s network address and which file was asked for.

iCloud Sync (Your Own iPhones and iPads)

Toku Reader can keep your reading in step across your own Apple devices. It does this unless you switch it off. Your saved texts and books, your saved words — with their review progress and any AI explanations you kept with them — your decks and tags, and where you had got to in each text are stored in your own iCloud account— on Apple’s servers, under your Apple ID, in what Apple calls a private database. That means exactly what it sounds like: it belongs to you, not to us. The App developer cannot read it, cannot list it, and could not produce it if asked to.

Your podcast favorites, your collections, and the shows and channels you follow travel the same way, also inside your own iCloud account.

  • Nothing new is sent to the developer.This feature does not add anything to what is described under “What We Collect” above. Your texts still never reach our servers.
  • It covers your iPhones and iPads— the devices signed in to the same Apple account. Toku Reader for Android does not sync, and cannot: iCloud is Apple’s.
  • Your settings do not sync. Reading aids, text size, and your other preferences are set on each device separately.
  • You can turn it off.In the App, go to Settings → Account & plan and switch off “Sync with iCloud”. Nothing further is sent to iCloud after that.
  • You can delete what is already there.In the App, go to Settings → Account & plan and tap “Delete the Copy in iCloud”. That removes the App’s copy in your iCloud account — never the library on your device — and switches sync off so nothing goes straight back up. Or, on your iPhone or iPad, open the iOS Settings app, tap your name at the very top, then iCloud → Manage Account Storage (called “Manage Storage” on some versions of iOS) → Toku Reader. Deleting it there removes the App’s iCloud data from your account. Because this is your account and not ours, this is something only you can do — the developer has no way to reach it.

Apple’s handling of data in your iCloud account is governed by Apple’s Privacy Policy, not by this one.

How Data Is Stored

The data that leaves your device for the App developer’s servers — crash reports, setup counters, feedback reports, AI explanation requests, and, once that feature is switched on, hearts and reactions — is stored in a database run by Supabase, on Amazon Web Services servers in the United States. Data is sent encrypted (over HTTPS), and access to the database is restricted.

WaniKani data (if you opt in) is held by WaniKani on its own servers under WaniKani’s privacy policy. Apple holds subscription and payment data under Apple’s privacy policy. The App developer has no access to either.

Data Retention

Feedback reports, crash reports, and setup counters are retained indefinitely, to fix what is wrong and to see whether the App is getting easier to start using. An AI explanation is kept, filed by the sentence it explains rather than by who asked, so that the same question does not have to be asked twice. You may request deletion at any time (see below).

Your Rights

What you can ask for depends on where you live. The four cases below cover most readers; if yours is not listed, write to the address at the foot of this policy and the same requests will be honored.

Under GDPR (European Union)

If you are in the EU/EEA, you have the right to:

  • Access the personal data we hold about you
  • Request correction of inaccurate data
  • Request deletion of your data
  • Request portability of your data
  • Object to processing of your data

Legal basis for processing: legitimate interest in improving the App’s accuracy based on voluntary user feedback.

Under APPI (Japan)

If you are in Japan, you have the right to request disclosure, correction, or deletion of your personal information under the Act on the Protection of Personal Information. Data is stored in the United States; transfers rely on the developer’s data-processing agreement with Supabase, which includes standard contractual clauses.

Under PIPL (China)

If you are in China, you have the right to access, copy, correct, and request deletion of your personal information under the Personal Information Protection Law. The App processes all reading content locally on your device. Only the data described under “What We Collect” is transferred to servers in the United States.

Under CCPA (California, USA)

If you are a California resident, you have the right to know what personal information is collected and to request its deletion. The App does not sell personal information.

Children’s Privacy (COPPA)

The App is not directed at children under 13. We do not knowingly collect personal information from children. If you believe a child has submitted data through the App, please contact us for removal.

Changes to This Policy

We may update this policy from time to time. Changes will be posted on this page with an updated date.

Contact

The data controller for this website and the Toku Reader apps is Darren Nah, an individual developer in New York, NY, USA.

For any privacy-related request — access, deletion, or a question — please write to:

tokureader@gmail.com

If you are in the EU or UK and are unhappy with how your data is handled, you may complain to your local supervisory authority (in the UK, the Information Commissioner’s Office).

Privacy Policy — Toku Reader for Android

Version 2.6 · Last updated: October 25, 2026

Toku Reader ("the App") is a Japanese and Chinese reading assistant developed by Darren Nah. There is no account, and the App sends nothing you read, listen to, record or save anywhere — with one exception you switch on yourself: AI explanations. If you turn that on, the single sentence you ask about is sent to be explained, and nothing else; that one feature is described in full under AI explanations. Separately, if you have Android's own backup to your Google account switched on, Android itself keeps a copy of your saved words, texts and settings there; the developer never sees it (see Android's own backup). The App contains no advertising SDK, no crash-reporting SDK, and no analytics SDK of the developer's.

The App does fetch things for you — stories, podcasts, videos, web pages and word files — and a few of those downloads happen on their own, some of them from the developer's own storage. None of them carries an install number or anything you have read, saved or looked up; the ones that check shows and channels you follow ask only for that show's or channel's own list. Every place the App connects to, and when, is listed under Where the App connects.

It does contain two Google SDKs — ML Kit and Google Play Billing — and those report their own diagnostics to Google. That is described in full under Google's SDKs, because a policy that said "nothing leaves your phone" while a Google library reported to Google would be false.

This policy covers the Android app (package com.darren.tokureader). The iOS app is a separate product with its own privacy policy. Where the two differ, this page governs Android. Notably, the iOS app has a feedback-and-corrections feature that sends data to a server; the Android app has no such feature. The Android app does reach the developer's server, but it sends something of yours there only for AI explanations after you turn that feature on, and for a gift link if you use one. Its other requests there are plain downloads — the free stories and a few settings — that carry no install number and nothing you read; they are described under Where the App connects.

What the developer collects

Nothing at all, unless you turn on AI explanations or use a gift link. There is no sign-up, no login and no user account. Your texts, saved words, review history, recordings, browsing history and downloads are kept on your phone, and the developer never receives them. (If Android's own backup to your Google account is switched on, Android also keeps a copy of some of them there — see Android's own backup.) With that switch off and no gift link used, the App still downloads a few things from the developer's storage and server — the free stories and a few settings — but those requests carry no install number and nothing you read, save or look up: only which file they want (which for the stories follows the languages you read), plus what every internet request shows, described under Where the App connects.

If you do turn AI explanations on, the sentences you explicitly ask about — and nothing else — reach a small server the developer runs, along with a random per-install number used to count your monthly allowance. It is still no name, no email and no account. Exactly what is sent, what is kept and how to have it deleted is set out under AI explanations.

If you use a gift link, the gift's short name, the App's version and that same random per-install number reach the same server, so it can record that this installation holds the gift and until when. Again no name, no email and no account.

Almost everything the App does for you happens on your device

  • Reading — text you paste, share, import or scan is analysed on-device: word boundaries, readings (furigana / pinyin), and dictionary meanings. It is stored on your phone, and the developer never receives it.
  • Dictionaries — the Japanese and Chinese dictionaries ship inside the App (they are most of its download size). The English word files, which only a reader of English needs, are not part of the first download: Google Play delivers them the first time they are needed (see Where the App connects). Once a language's files are on your phone, a word's meaning is looked up entirely on your phone, and the App reads perfectly well in airplane mode. Asking for an AI explanation of a word or sentence is the one tap that sends anything of yours off the phone, and only if you have switched that feature on.
  • Saved words and review — your saved words, review history and scheduling are kept on your phone.
  • Reading text in photos — the Japanese and Chinese text recognition models are bundled inside the App. Photos are read on-device and are never uploaded or stored by the App. The App has no camera permission at all: you pick an existing image through Android's own picker, which hands the App only the file you chose.
  • Transcribing podcasts — when a show publishes no transcript, the App writes one on your phone; the audio is not uploaded to anyone. The speech-recognition files it needs are downloaded once — see Where the App connects.
  • Your own audio and video files — When you open an audio or video file from your own device through the Files picker, the App reads it where it sits and writes the transcript on your phone (or uses a subtitle file you picked with it). The App keeps only a pointer to the file, never a copy. The file, the audio and the transcript are never uploaded and never leave your device. Removing a file from the App’s list never touches the file itself.
  • Shadowing recordings — recordings you make stay in the App's own private space on your phone. They are not uploaded, and they are not sent to any speech-recognition service.
  • Browsing history in the Web tab — the addresses you visit are kept in the App's own private space on your phone so the "continue reading" shelf works. They are never sent to the developer or to anyone else; the one copy elsewhere is the one Android's own backup may keep in your Google account (see below).
  • Text-to-speech — spoken readings use the text-to-speech engine already installed on your Android device.
  • Crash reports — if the App closes unexpectedly, it writes the technical details to a file on your phone and offers to share it the next time you open the App. Nothing is sent unless you tap Send and choose where it goes. You can dismiss it and the file is deleted. (Separately, Google Play collects crash and not-responding data for every app installed from Play — that is a Play platform behaviour, described under Google's SDKs.)

Where the App connects, and why

This list is meant to be exhaustive. Most of these requests happen because you asked for something — a show, a video, a page, a word. A few happen on their own, and each entry says when. Apart from the five entries marked the developer's own — stories, a few settings, AI explanations, gift links, and hearts — every request goes to that third party directly: it does not pass through, and is not logged by, any server of the developer's.

  • Podcast feeds and episodes — the App fetches a show's feed and downloads or streams episodes from the show's own host. The list of shows is bundled in the App, so browsing the directory sends no search anywhere; its covers load as described under Podcast artwork. Be aware that podcast audio links routinely redirect through the publisher's own measurement services before reaching the audio file; those services see a normal media request (including your IP address and app user agent), exactly as they would from any podcast app. Two screens read a feed on their own, to show a show's newest episode: Home, for the shows you follow, and the first-run Start here page, for the show it suggests. Opening a Toku share link for an episode makes the App fetch the web address written in that link, to find the show; it also fetches any chapter list or transcript a show's feed points to.
  • Apple's podcast directory — when you type into the App's search box, what you typed is sent to Apple's public podcast directory (itunes.apple.com) so the App can find shows beyond the ones it ships with. The App also asks that directory to look up a show it has no details for yet — one named in a shared episode link, or one you followed in an older version of the App. No account is involved, and Apple sees a normal request.
  • Podcast artwork — cover images are loaded from the publisher's own image host or from Apple's image server. Every cover in the App's built-in list of shows comes from Apple's image server (is1-ssl.mzstatic.com), so Apple sees a normal image request when you browse that list.
  • Speech-recognition download — the files that let the App transcribe offline are downloaded once, from Hugging Face (huggingface.co) and GitHub (github.com), the usual public places these files are kept. A larger optional version you can choose in Settings › Transcripts & Storage also comes from Hugging Face. Each host sees a normal file download. After that, transcription is fully offline. If you never transcribe anything, this never happens.
  • Web Reader — the in-app browser loads the pages you go to directly from each website. The App does not collect, log or transmit your browsing history, the addresses you visit, or page contents — the one exception being a single sentence you deliberately ask about with AI explanations switched on, which is sent without the page address. Sites you visit see you as they would in any browser, and their own privacy policies and cookies apply to them. Words you type into the address bar that are not a web address are searched for on DuckDuckGo (duckduckgo.com), as in any browser.
  • Links you paste or share — if you paste or share a link to a web page into the reader, the App downloads that page itself, straight from its site, to turn it into text you can read; for a page on GitHub it downloads the file from raw.githubusercontent.com. No cookies are sent, and the site sees a normal request from the App.
  • YouTube — everything to do with YouTube goes to YouTube (Google) directly. When you type into the App's search box, what you typed is also sent to YouTube's search (www.youtube.com) to find videos. If you open a YouTube video to read along with its captions, it plays in YouTube's own embedded player (from www.youtube-nocookie.com and www.youtube.com), and the App asks YouTube for that video's captions (and, sometimes, its title). If you open a channel's page, or see a video's or channel's picture in the App, the App requests that channel's list of videos, or that picture, from YouTube (i.ytimg.com for a video's picture, yt3.googleusercontent.com or yt3.ggpht.com for a channel's). A picture is kept on your device after it is first fetched, and no cookies are sent with it. If you follow a channel, Home checks its list of videos for new ones on its own, now and then and only on Wi-Fi, and you can turn that off in Settings ("New videos from channels you follow"). YouTube sees a normal request each time.
  • Google's downloads for on-device features — two optional features fetch files from Google the first time you use them, then work offline afterwards: handwriting input in the Dictionary tab (the App shows you the size and asks before downloading) and Show English translation on transcripts (downloaded without asking, on first use, over whatever connection you are on). If you never use those features, nothing is downloaded.
  • English word files, from Google Play — reading English needs English word files, which are not part of the App's first download. The first time the App needs them — for example when you tap an English word — it asks Google Play to deliver them, and Google Play downloads them as part of the App, the way it downloads the App itself. If you never read English, they are never downloaded.
  • Google Play Billing — if you buy a subscription, the purchase is handled entirely by Google Play. The App asks Google Play for the price and for your existing purchases, and it never sees or handles your payment details.
  • Google Play's rating card — now and then the App asks Google Play to show its own rating card (see Ratings and feedback below); anything you write there goes to Google Play.
  • WaniKani — only if you connect it; see below.
  • Google's SDK diagnostics — see below.
  • Stories — the developer's own. The App's free stories, with their pictures, are downloaded from the developer's storage, hosted by Supabase in the United States. This happens on its own, now and then and only on Wi-Fi: the App checks for stories in the languages you read that are new or have changed, and downloads them. They are kept on your phone and read offline. Each request asks for one file — saying which copy is already on your phone, so nothing is downloaded twice — and carries no install number and nothing you read. The same files may instead be served by Cloudflare, or from an address under tokureader.com.
  • A few settings — the developer's own. On its own, now and then, the App downloads a few settings from the developer's storage and server on Supabase. They let the developer adjust or switch off parts of the App without an app update — for example AI explanations, hearts (below), the YouTube pictures, or the checks for new videos from channels you follow. This happens whether or not you have turned on AI explanations. None of it carries an install number or anything you read, save or look up: beyond what every internet request shows (described below), each request says only which settings it wants — the same for every copy of the App — and, for some, which copy is already on your phone.
  • AI explanations — the developer's own, and the only entry here that sends anything you read. If, and only if, you switch this feature on and tap to ask about a sentence, that sentence goes to a small server the developer runs on Supabase in the United States, which passes it to the AI provider. This never happens with the switch off. See AI explanations for everything that is sent, everything that is kept, and how to have it deleted.
  • Gift links — the developer's own, and only if you use one. A gift is checked with the same server of the developer's that AI explanations use, but that check is not behind the AI explanations switch: it happens because you used a gift, whether that switch is on or off, and it never happens if you have not used one. See Gift links.
  • Hearts and reactions — the developer's own. This version contains a way to heart a story or a video, or to say whether a story helped or was too hard, and to see how many other readers did. The developer has not switched it on. While it is off it is not shown and it sends nothing. Before it is switched on, this page will be updated to say exactly what it sends and keeps.

Requests to the developer's own storage and server show it, as any internet request does, the network (IP) address they came from and the standard line Android adds to an app's requests, which names your Android version and build and your phone model. Supabase, which hosts them (or Cloudflare, if the stories are moved there), keeps the standard request logs any host keeps, the same kind described under Gift links.

First-run setup is no exception: the entries above that happen on their own can happen during it, and the stories check starts as soon as you have said which languages you read. If you accept the offer to prepare offline listening, the speech model download and a first episode download happen too; those two are optional and are described on screen before they start.

AI explanations (optional)

Apart from a gift link, if you use one, this is the only part of the App that sends the developer anything of yours, and it is switched off until you switch it on. If you never switch it on, nothing in this section ever happens to you.

With it on, a word card gains a small sparkles button, and a sentence gains the rows Why this meaning? and What is this sentence doing?. Tapping one asks an AI to explain, in a sentence or two, which meaning fits this particular sentence and why. The first time you tap, the App shows you what will be sent and asks; you can say no, and you can turn the feature off again whenever you like in Settings.

One small automatic request comes with this feature: now and then the App downloads a few settings from the developer's storage that say, among other things, whether AI explanations are switched on at all (the developer's off switch). That download carries no data about you — it is a plain download of a public file, like fetching a podcast list — and it happens whether or not you have turned explanations on. It is described in full, with the App's other plain downloads, under Where the App connects.

Where the request goes

It travels over HTTPS to a small server the developer runs on Supabase, hosted in the United States. That server passes the sentence to the AI provider — today Claude, made by Anthropic. The developer may change provider (Google's Gemini, for example) without changing what is sent; if that happens, this page will be updated to name the new one. Your phone never talks to the AI provider directly.

What is sent

  • The sentence you tapped. If you asked about the whole sentence, also the sentence immediately before it, so the answer fits the context.
  • The App's own reading of that sentence — its words, and how the App read each one.
  • The meanings, readings and grammar notes the App's built-in dictionaries found for that sentence.
  • Which question you asked, and whether you are asking it again.
  • Which part of the App you asked from — pasted or imported text, a web page, a podcast, or a video. The web address is not sent, only the word "web".
  • The language you want the answer in, and technical version information about the App's dictionaries.
  • A random number the App made up when you installed it. It is not your name, your email, or any Google or Android account — it exists only to count how many explanations this installation has used this month. The server stores it only in a scrambled, one-way form, so the stored counter cannot be turned back into the number your phone holds.
  • If you subscribe, a proof of purchase from Google Play, so that the larger allowance applies to you. It carries no payment details of any kind.

Never sent: your name or your email address (the App has neither, and there is no account), the addresses of pages you visit, your saved words, your review history, any audio or recording, any photo, and any sentence you did not tap. The rest of whatever you are reading stays on your phone.

What is kept, and for how long

  • A counter — the scrambled number above, with how many explanations it has used this calendar month, so the free allowance can be applied.
  • The answer, filed by the sentence it explains rather than by who asked, so that anyone who later asks about the same sentence can be shown the same answer.
  • One line per request: the scrambled number, what was asked, technical version information, and how long the answer took. It is there to spot the feature breaking and to keep its costs in check.

Being straight with you: no deletion schedule has been set yet. Those rows are kept indefinitely today. A retention period will be chosen and this page will then say what it is. Until then, "indefinitely" is the honest answer — writing "30 days" here because it reads better would be a promise the server does not keep.

Asking for it to be deleted

Email tokureader@gmail.com and ask. The App cannot show you your random number today, so a request is actioned by month: tell us roughly when you used the feature, and the counters and request lines for that period are deleted. The stored answers are filed under the sentence rather than under you, so they hold nothing that points back to you. If a future version of the App shows you that number, this page will say so and deletion will become exact.

The short version

  • Reading, tapping words, saving and review never need the internet once a language's word files are on your phone, and listening needs it only to fetch an episode. This is the only part that sends what you read anywhere.
  • Everything sent is encrypted in transit (HTTPS).
  • It is never used for advertising, is never sold or rented to anyone, and is not linked to your identity — the developer has no identity for you to link it to.
  • Free: 5 explanations per calendar month, which start again when the month does. Toku Unlimited: unlimited within fair use.
  • Turning the switch off in Settings stops all of it.

Gift links (optional)

Someone may send you a Toku gift link — an address like tokureader.com/gift/… — that gives you everything a subscriber has for a number of months, with no payment and nothing to cancel. If you never use a gift, the App sends nothing because of this feature, and the server holds nothing about you because of it.

A gift can reach the App three ways: you open the link on a phone that already has the App; you type the gift's code into Settings; or you install the App from the gift page's Google Play button. That button passes the gift's short name (the last part of the link) to Google Play, and the Play Store app on your phone hands it to the App when the App is first opened. That is why every copy of the App — gift or not — asks the Play Store app on your phone how it was installed, when it is first opened (and a few more times if the Play Store does not answer). This is a question to another app on the same phone, not a request over the internet. The App keeps only a note that it has asked, and the answer is not sent anywhere; if it names a gift, only the gift's short name is taken from it and used as described below.

What is sent, and when

  • When you use a gift, by any of those three ways, the App sends the developer's server — the same one described under AI explanations — the gift's short name, the App's version, the word "android", and the same random install number described there. No second number is made for gifts. If the server does not answer when a link or an install brings the gift, the App keeps the gift's name on your phone and tries again later, a limited number of times.
  • While a gift is running, the App asks the server now and then whether the gift is still valid. It asks only while you have the App open, and the question carries the random install number — not the gift's name, and nothing you read, saved or looked up.
  • If a gift is stopped before its end date — the sender can switch a link off — the App keeps asking the same question for a while, in case the gift is switched back on, and then stops. A gift that simply runs out is not asked about again.

Never sent: your name or your email address (the App has neither, and there is no account), and anything you read, saved or looked up.

These requests also carry the standard line Android adds to an app's internet requests, which names your Android version and build and your phone model; the gift service does not read it and does not keep it.

What is kept, and for how long

  • One row for each gift an installation has used: the gift's short name; the install number, which the App sends as it is and the server stores only in a scrambled, one-way form, so the row cannot be turned back into the number your phone holds; the word "android"; the App's version; when the gift was given; and the date it runs until. The gift link's own count of how many people have used it goes up by one. The later "is it still valid?" questions add nothing to this.
  • One line per request: what kind of request it was, whether it worked, and how long it took. It carries no gift name and no install number, scrambled or not.

As with any internet request, the server sees the network (IP) address the request came from. The gift service uses it, without storing it, to protect gift links from misuse; it is not written to the row or to the request line. Neither of them holds a name, an email address, an IP address or a phone model. Supabase, which hosts that server, keeps the standard request logs any host keeps — the address a request came from, that standard Android line, and when — the same kind of log described for this website's own host further down this page.

If you have also switched on AI explanations, the server looks a gift up by that same scrambled number, so that a running gift gives you the larger allowance a subscriber has.

No deletion schedule has been set for gift rows either. A row is not removed when the gift ends; it is kept indefinitely today, and this page will be updated when a period is chosen.

Asking for it to be deleted

Email tokureader@gmail.com with the gift's short name and roughly when you first used it — the App cannot show you your random number, so that is how the row is found — and the row is deleted. Deleting the row of a gift that is still running ends that gift.

Google's SDKs — ML Kit and Play Billing

The App uses Google ML Kit for on-device text recognition (reading photos), handwriting recognition, and gloss translation; and Google Play Billing for subscriptions. The recognition and translation themselves run on your device — your photos, your handwriting and your transcripts are not sent to Google for processing.

However, these are Google SDKs and they report to Google about themselves. Per Google's own ML Kit data disclosure, ML Kit collects and transmits to Google:

  • device information (manufacturer, model, OS version and build) and available ML hardware accelerators;
  • the App's package name and version;
  • performance metrics such as latency, and API configuration such as image format and resolution;
  • event types such as feature initialisation, model download, detection and resource release;
  • a per-installation identifier, which Google states is not intended to identify you or your device uniquely;
  • for translation, the source and destination languages configured; for handwriting, the language configured.

Google states this is used for diagnostics and usage analytics, is encrypted in transit, and is not transferred by ML Kit to third parties. It is Google's behaviour, not something the App requests, and the developer never receives any of it. Google Play Billing likewise communicates with Google Play and sends Google its own diagnostics.

Because these SDKs transmit that information off your device, Google Play's rules require the App to declare it in the Play Store listing's Data safety section, and it is declared there.

If you would rather avoid ML Kit entirely, do not use photo text recognition, the handwriting canvas, or Show English. Everything else — reading, dictionary search, podcasts, transcripts, saved words and review — works without it.

One clarification, because a curious reader may notice it: Google Play Billing brings a piece of Google's location software with it. The App requests no location permission of any kind, asks for no location, and receives none. You can confirm this on the App's Play listing permissions.

Optional: connecting WaniKani

The App can optionally connect to WaniKani, a third-party Japanese study service, so your WaniKani lessons and reviews appear alongside your saved words. This is off unless you set it up, and the App is fully usable without it.

  • You generate a read/write Personal Access Token on wanikani.com and paste it into the App. It is stored encrypted, on your device only.
  • The token is sent only to api.wanikani.com, over HTTPS. It is never sent to the developer.
  • The connection reads your WaniKani data and writes to your WaniKani account: when you answer a review in the App, the App submits that answer to WaniKani, which advances your WaniKani progress exactly as answering on their site would.
  • What WaniKani does with those requests is governed by WaniKani's own privacy policy.
  • You can disconnect at any time, which deletes the stored token.

Permissions, and what each one is for

This is the complete list in the App as shipped, including the permissions added by the libraries it uses. Only the microphone produces a prompt; the rest are granted at install with no prompt because Android classes them as non-sensitive.

PermissionWhy it is there
Microphone
RECORD_AUDIO
Used only by shadowing practice, where you record yourself repeating a sentence to compare with the speaker. The App does not touch the microphone until you tap Record yourself; opening the practice screen does not activate it. Recordings stay in the App's own private space on your phone, are not uploaded, and are not sent to any speech-recognition service. Declining is fine — the rest of shadowing still works, and the App says so.
Internet
INTERNET
Everything under "Where the App connects".
Network state
ACCESS_NETWORK_STATE
So a failed page load can say "you're offline" instead of a generic error, and so downloads can wait for a suitable connection.
Foreground service (media playback)
FOREGROUND_SERVICE, FOREGROUND_SERVICE_MEDIA_PLAYBACK
So podcast audio keeps playing when the screen turns off, with the usual lock-screen and notification-shade controls.
Show notifications
POST_NOTIFICATIONS
Asked for at the moment it is first needed, never at launch: when you press play, tap an episode to play it, or open one of your own audio files, or when you turn on the daily review reminder or the daily sentence. (A transcript started before you have said yes runs all the same; only its progress bar is missing.) It lets the App show the playback controls, a progress bar while an episode is transcribed, and — only if you have turned them on — the daily review reminder and a sentence to read each day. Those four are the only notifications the App shows; each is described under "Notifications" below.
Background work
FOREGROUND_SERVICE_DATA_SYNC
So a transcript keeps being built when you look away from the App. Nothing plays and nothing is sent; the work ends on its own when the episode is done.
Keep awake
WAKE_LOCK
So playback and a long download are not cut off mid-way by the device sleeping.
Run at start-up
RECEIVE_BOOT_COMPLETED
Used by the App itself only for things you have set up: after the phone restarts, it puts back the timer for a review reminder or daily sentence that was waiting, and the timer that refreshes the home-screen widget if you have placed one. Nothing is sent when this happens. Android's own tools for background work also use it, so unfinished work can resume after a restart.
Billing
com.android.vending.BILLING
So the App can offer a subscription through Google Play.
Ask how the App was installed
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE
Lets the App ask the Play Store app on the same phone how the App was installed, so that a gift attached to the install link can be applied when the App is first opened. It produces no prompt. The answer stays on your phone unless it names a gift; then only the gift's short name is sent, as set out under Gift links.

The App does not request your camera, location, contacts, call logs, messages, calendar, or your photo library as a whole. When you pick a photo or a video, Android's own picker hands the App only the one file you chose.

Notifications

The App asks permission to show notifications for four things, and shows no others:

  • Playback controls, while audio is playing.
  • A progress bar, while it transcribes an episode.
  • A daily review reminder — off until you turn it on: in Settings, by tapping Remind me when the App offers it after you finish reading or listening, or by tapping Turn on beside "A sentence each morning" in the App's setup list. On a day when saved words are due for review, it shows one notification at or soon after the hour you chose (8:00 in the morning unless you change it), saying that words are ready and roughly how many minutes they will take. It carries the number of words due, and none of the words themselves.
  • A sentence to read each day — off until you turn on the review reminder, which it follows (on when that is on, off when that is off) unless you have set it yourself; you can turn it on or off by itself in Settings. At most once a day, shortly after the reminder hour, and only when one of the words you saved while reading or listening is due, it shows a short piece of the sentence you met that word in. Like any notification, it can appear on your lock screen.

The reminder and the sentence are made on your phone, from the words you saved, by a timer Android keeps. Nothing is sent to anyone to produce them, and no server is involved. Neither is shown while you have the App open, and you can turn either off again in Settings.

Ratings and feedback

The App may, after you have finished a few review sessions or episodes, ask whether you would like to rate it. The rating card is Google Play's own — it is shown by the Play Store app, not by Toku Reader, and the App is never told whether it appeared or what you chose. The App only keeps a local count of finished sessions and the date it last asked, so that it does not ask again for months.

"Send feedback" and the crash-report bar open your mail app with a draft addressed to the developer. The draft carries the App version, your Android version and phone model, and nothing else; nothing is sent unless you press send in your mail app. The Community sheet contains ordinary web links to the developer's website and social channels; opening one is the same as typing the address into a browser, and is governed by that site's own policy.

Children

The App is a language-learning tool for a general audience. It is not directed to children, and it does not knowingly collect personal details from anyone of any age — it asks for none, because there is no account. The only things of a reader's it ever sends the developer are a sentence a reader deliberately asks about with AI explanations switched on — a feature that is off until someone turns it on — and, if a gift link is used, the few details set out under that heading, none of them a name or an email address. If a child has been given the phone, leaving that switch off and using no gift link means the developer receives nothing about them beyond the host's standard request logs described under Where the App connects. Searches typed into the App's search box go to Apple and YouTube, and searches typed into the Web tab's address bar go to DuckDuckGo, as described under Where the App connects. Note also that the App includes a web browser, so a young user could reach general web content through it; supervision is advised for children.

Data retention and deletion

On your phone. Almost everything the App knows about you is on your phone. The one copy kept elsewhere is the one Android itself may keep in your Google account, described next. Uninstalling the App, or using Android's Clear storage, removes it from your phone. A copy in Android's own backup is not removed by that: it stays in your Google account, and Android may put it back if you install the App again, until you delete the backup in your phone's settings. Downloaded episodes, transcripts and speech models can also be cleared individually in Settings › Transcripts & Storage. Disconnecting WaniKani deletes the stored token.

Android's own backup. If Android's backup to your Google account is switched on in your phone's settings, Android copies some of the App's data into that backup, so that a new or reset phone can get it back: your saved words and review history, your saved texts and where you were in them, the shows and channels you follow and how far you got in each episode, your WaniKani lessons and reviews if you connected WaniKani, your settings (which include your recent searches in the Dictionary tab), and the Web tab's open tabs and the addresses you visited. Moving to a new phone with Android's own transfer copies the same things. Google keeps this copy in your account under Google's own rules; the developer never receives it and cannot see it. You can switch Android's backup off, or delete the backup, in your phone's settings. It never includes downloaded episodes, transcripts, speech models, dictionaries, your own audio and video files, your shadowing recordings, your WaniKani token, or how many free lookups you have used today.

On the developer's server. If you have used AI explanations, there is now something to delete: a scrambled per-installation number with a monthly count, and one line per request. No retention period has been set yet, so those are kept indefinitely today — and this page will be updated when a period is chosen. To have them removed, email tokureader@gmail.com; because the App cannot show you your number, deletion is done by the month or months you name. Stored answers are filed under the sentence rather than under you and carry nothing that points back to you. If you have used a gift link, there is one more thing: a row saying that a scrambled per-installation number holds that gift and until when. No retention period has been set for it either; to have it removed, email the same address with the gift's short name and roughly when you first used it. If you have never turned the feature on and never used a gift link, the server holds nothing about you at all, beyond the host's standard request logs described under Where the App connects.

Data held by WaniKani, by podcast publishers, by Google, by the AI provider, or by websites you visited is governed by their own policies and their own deletion processes.

Your rights

Privacy laws including the GDPR (EU/EEA), the UK GDPR, the APPI (Japan) and the CCPA/CPRA (California) give you rights over personal data a company holds about you — access, correction, deletion, portability, and objection to processing. The developer holds no name, email or account for any Android user, because there is no account to hold. The only things held are the AI-explanations material described above and, if you used a gift link, the row described under Gift links; write to the contact address below for access or deletion of either, saying roughly when you used the feature (and, for a gift, its short name), and it will be actioned. If you believe anything else is held, use the same address and it will be investigated.

The App does not sell or rent personal information, does not use your data for advertising, and does not track you across apps or websites. Sending a sentence to the AI provider so it can be explained back to you is the only sharing that happens, it happens because you asked for it, and it is used for nothing else.

Changes to this policy

If the App ever begins collecting anything, or adds a network destination not listed above, this page will be updated before that version ships, the version number and date above will change, and the Play Store Data safety declaration will be updated to match.

That promise was kept for version 2.2, which was written for the AI explanations feature before the version containing it went to the Play Store, with the Data safety declaration re-answered in the same breath. Version 2.3 (October 5, 2026) adds gift links and the one permission that arrives with them, and corrects what this page says about notifications and about running at start-up, which had not been updated when the review reminder, the daily sentence and the home-screen widget were added.

Version 2.4 (October 19, 2026) names the pictures of YouTube videos and channels that the App shows on its Home screen, which come from YouTube's own picture servers, before the version that shows them goes to the Play Store. It also names everything else the App connects to that earlier versions of this page left out or described too narrowly: the free stories and the settings the App downloads on its own from the developer's storage; Apple's podcast directory and YouTube's search, which receive what you type into the search box; Apple's image server, which holds the covers of the built-in list of shows; YouTube's player and channel lists; the English word files Google Play delivers; pages the App downloads when you paste or share a link, the web address in a Toku share link, and the chapter lists and transcripts a show's feed points to; DuckDuckGo, for searches typed into the Web tab's address bar; Google Play's rating card; and hearts and reactions, which are built in but switched off. It says which of these happen without you asking, and it retires this page's earlier sentence that the App reaches a server of the developer's only for AI explanations and gift links.

Version 2.5 (October 24, 2026) says the same things in plainer words. It no longer goes into how the App is built — the names of internal files and of the developer's own storage addresses, the sizes of downloaded files, how often the App checks for something new, how many times it retries, and which software components ask for which permission. Nothing about what the App sends, who receives it, what is kept, or for how long has changed.

Version 2.6 (October 25, 2026) says plainly that Android's own backup to your Google account, when you have it switched on, keeps a copy of your saved words, texts, settings and Web tab addresses there. Earlier versions said these stayed only on your phone, which was not true for anyone with that backup on. The App did not change what it backs up; the page now says what Android already did. This version also takes out two lines that described how the App is built.

Contact
Darren Nah
tokureader@gmail.com

This website (tokureader.com)

Last updated: October 24, 2026

This site exists to describe Toku Reader. It has no advertising and no tracking cookies. It loads no fonts, scripts, or media from anyone else’s server — everything you see is served from this domain. One kind of page asks another server a question: a gift page, described under “Gift Links” below.

Visitor Counts

The public pages of this site count page views, so the developer can see which pages people actually read. This is Vercel Web Analytics, run by the same company that hosts the site, and it is the least invasive kind: it sets no cookie and stores nothing in your browser. For each page view it records the time, the page address, the referring site if you arrived from one, a filtered version of any query string, and — worked out from the request — the country you are in, your browser and its version, your operating system, and your device type. It does not record your name, your email, or anything you type.

Your IP address is not stored. It is used only at the moment of the request, together with your browser’s user-agent string, to compute a one-way hash that distinguishes one visitor from another; that hash is discarded and regenerated every 24 hours. So a visit cannot be tied back to you, cannot be followed from one day to the next, and cannot be joined up with your activity on any other site or app. The counting script is served from this domain and its measurements are sent back to it, not to a third-party tracker. A content blocker will stop it, and the site works exactly the same if it does. None of this runs on the developer-only pages described below.

What Is Stored in Your Browser

Four things, all of them your own choices and all kept only in your browser’s local storage on this device: whether you prefer the light or dark theme, whether you have dismissed an announcement, whether you have closed the line that offers this site in your own language, and your answers to the one question on the front page — your language and what you are learning, or that you chose not to answer. Those answers decide only whether the question and that line appear, and which store page the Download buttons and the QR code open; they never change which page an address shows. A fifth mark lasts only for the browser tab: that you have seen the front page once, so it does not replay its opening. None of it is sent anywhere or identifies you, and clearing your browser data removes them.

The front page also reads your browser’s preferred language — and, only when that says “Chinese” without saying which kind, your device’s time zone — inside your browser, to guess which language to ask the question in and which version of the page to offer. That reading is not sent anywhere or stored, and it never changes which page an address shows: tokureader.com is always English, and the offer is only a link.

Share Links

A link a reader shares from the app (tokureader.com/s/…) carries only the item that was shared — its title, its language, its source’s name, a link to the original and, for a word, its reading and a short meaning — and, at the start of the address, the language of the sharer’s menus in the app (tokureader.com/ja/s/…, /zh/s/… or /zh-Hant/s/…, and no prefix for English). It carries nothing else about who shared it. The page it opens is built from the link itself; the site looks nothing up and stores nothing about it. The store buttons on that page carry a label naming the kind of item and the page’s language, so Apple and Google can count installs from shares; that label identifies no one.

Gift Links

A gift link (tokureader.com/gift/…) opens a page on this site. When it opens, your browser asks the developer’s own server — the one the apps use, hosted by Supabase Inc.(United States), not this website — about the gift: whether it can still be used and for how long, and, if you are not on an Android device, possibly the link to Apple’s own redemption page. Each question carries the gift’s short name (the last part of the link) — not the address of the page you are on. This happens only on a gift page, and not at all with scripts switched off.

For those questions the server looks the gift up and writes nothing to its database. It keeps a short technical record of each question — what was asked and whether it worked — with no gift name in it. As with any request it sees your IP address; it uses it, without storing it, to protect gift links from misuse, and does not write it to that record. Supabase, which hosts that server, keeps the standard request logs any host keeps — the address a request came from, the kind of browser it came from, and when — as described for this site’s own host below.

The gift page stores nothing in your browser, and the visitor counting described above does not run on it. It reads your browser’s preferred language, your time zone and what kind of device you are holding, inside your browser, to show the right language and the right buttons; that reading is not stored. The Google Play button carries the gift’s short name to Google Play, so that the app can pick the gift up once it is installed, and the Copy button puts the gift’s code on your clipboard only if you tap it. Like any page here, opening it leaves the usual line in the host’s log described below; for a gift page, the address in that line includes the gift’s short name. What the Android app sends once a gift is used is set out in the Android policy above, under Gift links.

Hosting and Server Logs

The site is hosted by Vercel Inc. (United States), which keeps the standard server logs any web host keeps: the IP address a request came from, the kind of browser it came from, which page was requested, and when. These exist to run the site and to protect it from abuse.

The Developer’s Own Pages

A sign-in page, and the pages behind it, exist only for the developer. They are not part of what the site offers you. An email address entered on the sign-in page is sent to Supabase Inc. (United States) so that a one-time sign-in link can be emailed; signing in successfully sets one strictly necessary authentication cookie. No cookie is set on any public page of this site. If you entered an address there by mistake, email the address below and it will be deleted.

Legal Basis and Transfers (EU/UK)

Server logs, abuse protection, and the visitor counts described above rest on legitimate interest — knowing which pages are read, without identifying who read them. Because the counting stores nothing on your device and sets no cookie, it does not require a consent banner. The sign-in step rests on performance of the service you requested by asking to sign in. Vercel and Supabase both process this data in the United States under their standard data-processing agreements, which include the EU standard contractual clauses.

Contact

The data controller for this website is Darren Nah, an individual developer in New York, NY, USA.

tokureader@gmail.com