Overview
Nihongo does not sell personal data, serve ads, or upload browsing history. Nihongo handles only the account, learning, and translation information needed to provide its features. The Chrome extension uploads visible Japanese page text only after you choose whole-page translation. Page addresses and browsing history are not uploaded to Nihongo.
Data we handle
Account information
Nihongo uses passwordless email sign-in. We process your email address, authentication records, and one-time verification codes to create and secure your account.
Learning progress and app activity
When you use the iPhone or iPad app, Nihongo stores your kana and vocabulary progress, saved study and practice sessions, answers, scores, timings, favourites, and aggregate time spent. This lets the app preserve your progress and show recent or best results.
Product analytics
Nihongo uses PostHog to measure feature use in the app and Chrome extension.
Events include the app version, feature type, result, and counts.
A random installation identifier links anonymous events.
After sign-in or extension linking, an opaque account identifier links events across the app and extension.
Analytics does not include names, email addresses, translation text, page addresses, images, or audio.
Nihongo does not use session replay or record screen content.
Translations and translation history
Text you enter in the iPhone or iPad app, Japanese text you actively select in Chrome, or the page title and visible Japanese text from a page you explicitly choose to translate is sent to Nihongo’s translation service. Selection results are returned with readings, phrase breakdowns, and kanji details and saved in Chrome translation history. Whole-page results are written into the open page, are not added to translation history, and their temporary processing records expire after 30 minutes.
Photos, images, and pronunciation recordings
If you choose image translation, the selected photo or image is uploaded for processing and may be saved with its result in your recent translation history. If you choose pronunciation practice, one short microphone recording is sent for transcription and assessment. Nihongo does not keep that pronunciation recording after the request completes.
Netflix audio translations
The Chrome extension downloads the selected Japanese audio after you press Prepare episode.
Short decoded audio sections go to Nihongo and pyannote to detect speakers.
Every section goes to OpenAI for transcription and word timing.
Sections with several speakers, sections that OpenAI cannot reliably transcribe, and speech that only OpenAI detects go to Google Gemini through Vercel AI Gateway for transcription.
OpenAI processes the transcript for English translation and Japanese readings.
The extension does not read Netflix subtitles.
Nihongo does not persist this audio or add these results to your translation history.
When you save a caption phrase to a deck, Nihongo stores that caption’s short audio clip with the saved card.
The extension caches transcripts, translations, and timestamps locally.
The subtitle cache holds at most 4 MiB of section results and completed episodes.
Completed results include audio track identifiers to match the selected Japanese audio.
Unlinking the account clears this cache.
Menu preparation opens a muted inactive Netflix tab to load Japanese audio.
Completion, cancellation, or failure closes that tab and releases the downloaded audio.
Notifications
Firebase creates an app installation identifier for push delivery.
When you enable deck alerts, Nihongo links a notification token to your account.
Deck alerts include the deck and request identifiers needed to open the completed deck.
Timer alerts and nightly reminders are scheduled on your device.
Account-linking information
QR linking associates the extension with your signed-in Nihongo account. Nihongo stores a general device label (for example, “Chrome on macOS”), session creation and last-used times, and a one-way hash of the browser session token. The token itself stays in Chrome’s extension storage.
Local extension data
The extension stores your linked-session token, chosen auto-convert websites, and a short-lived exchange-rate cache in Chrome’s extension storage. When you keep a translation overlay, the extension also saves the selected Japanese text, its rendered translation, a short surrounding-text anchor, and that page’s address so it can restore the overlay when you return. This local cache is limited to 12 translations on each of the 20 most recently used pages. It is not uploaded to Nihongo and does not create a server-side browsing log.
Yen conversion
Yen detection and conversion happen in your browser. Nihongo requests the current JPY-to-USD rate, but does not send page text, prices, or the page URL with that request.
How data is used
- Create, authenticate, and protect your Nihongo account.
- Save learning progress, practice results, and preferences.
- Provide the translation you requested.
- Evaluate a pronunciation attempt you deliberately record.
- Show recent app and Chrome translations in your history.
- Link, authenticate, manage, and secure browser sessions.
- Apply rate limits and protect the service from abuse.
- Fetch a current exchange rate for local yen conversion.
- Notify you when a requested deck is ready.
- Diagnose crashes and service errors without default PII.
- Measure feature use and completion rates to improve Nihongo.
Nihongo does not use app or extension data for advertising, credit decisions, or unrelated profiling.
Service providers
Nihongo uses service providers only to operate the features described in this policy:
- Convex provides the application backend, account-linked storage, and session infrastructure.
- OpenAI processes actively selected Japanese text, visible Japanese page text sent for whole-page translation, app translation requests, translation images, short pronunciation attempts, and Netflix audio and transcripts to generate the requested result.
- pyannote receives uploaded Netflix audio sections to detect speakers and overlapping speech.
- Google Gemini and Vercel AI Gateway process Netflix audio sections with several speakers, or with speech that speaker detection missed, to generate transcripts.
- Resend delivers passwordless sign-in codes to the email address you provide.
- Sentry helps diagnose crashes and service errors. Nihongo configures it not to send default personal information or translation inputs and outputs.
- PostHog processes product usage events and opaque account identifiers.
- Frankfurter provides the JPY-to-USD exchange rate. No selected text or webpage content is sent to it.
- Google Firebase Cloud Messaging and Apple Push Notification service process notification identifiers and messages to deliver deck alerts.
- Google Chrome provides the extension platform and local extension storage.
Retention and your controls
- You can disable notification permission in iOS Settings.
- Signing out removes the device registration from Nihongo when the app can connect.
- App and Chrome translation histories each keep the 12 most recent unique items. Older items and their stored media are automatically deleted.
- You can delete an individual translation from History in the Nihongo app.
- Unfinished image-translation uploads and processing jobs expire after 24 hours. A completed image retained in recent History follows the 12-item history limit.
- Temporary whole-page translation jobs, including their page text and results, expire after 30 minutes and are not retained in translation history.
- Learning progress, saved sessions, practice results, and usage totals remain associated with your account until you delete them where a control is available or ask us to delete your account data.
- Browser sessions expire after 180 days. You can unlink from the extension or revoke a browser from the Nihongo app at any time. Ended session records are removed after up to seven days.
- Saved Chrome overlays are removed individually when you close their translation card or chip. The local cache keeps at most 12 overlays on each of the 20 most recently used pages.
- Pairing codes expire after five minutes. Approved pairing records are retained briefly so the browser can finish linking, then removed.
- Removing the extension or clearing its data removes locally stored extension settings and credentials.
For other access or deletion requests, contact us at the address below.
Security
Nihongo uses short-lived pairing codes, randomly generated browser credentials, one-way token hashes on the server, scoped extension storage, session expiration, revocation controls, and rate limits. No security measure is perfect, but we design the app and extension to minimize the data they send and store.
Contact
Questions, privacy requests, or support issues can be sent to:
Nihongo privacy and supportteam@galactus.devWe may update this policy as Nihongo changes. The effective date at the top of this page will change when we publish an update. For product help, visit Nihongo support.