Privacy Policy — Mitsuki
Effective date: 2026/07/23
Products covered
This policy covers both Mitsuki products: the Mitsuki app (iOS/macOS) and the Mitsuki browser extension (Chrome, Edge, Brave). They share one account and one Mitsuki Cloud backend. Where their data handling differs, this is called out under each section below — anything not marked "extension only" or "app only" applies to both. A short note on the mitsukiapp.me website itself is included at the end of section 2.
- Products
- Mitsuki app (iOS/macOS) · Mitsuki browser extension
- Developer / data controller
- BAOUAB Youssef
- Contact
- ybaouab2@gmail.com
1) Summary
- Offline-first: dictionary lookup, search, OCR, and audio run on-device (app) or in your browser (extension), from a bundled dictionary.
- No ads and no analytics or tracking SDKs. We never sell personal data or use it for cross-app/cross-site tracking.
- When you sign in, your cards and study progress are stored in Mitsuki Cloud (our Supabase backend, operated by the developer) and sync across the app and the extension.
- AI in the app runs on-device where possible; heavier AI sends your submitted text to our AI service, which uses OpenAI. The extension has one optional AI feature (subtitle analysis) that only works if you supply your own Google Gemini API key — it talks directly to Google, never through us.
- Extension: show/episode detection runs locally and its "watch log" stays in your browser. Saving a word to a card is the only action that sends page-derived content to Mitsuki Cloud. Optional features — subtitle search, subtitle translation, artwork — send the show title or subtitle text to the specific service you use (listed in section 4).
- You control what you save — nothing is added to your deck or uploaded without your action.
2) Information Mitsuki processes
A. Account information
- email address (used to create and sign in to your Mitsuki Cloud account)
- an account identifier issued by our authentication provider (Supabase); your session tokens are stored on your device / in your browser's extension storage
- your subscription status and, for extension (Stripe) subscribers, a Stripe customer reference — so Pro unlocks across devices
- a monthly usage counter (credits used this month) that enforces the free plan's monthly allowance; we store the count, not the content of what you did
B. Content you create
- searched text (e.g., Japanese words/phrases) — app
- card fields you create or generate (expression, reading, definitions, example sentences, tags)
- deck/profile settings, study preferences, and study progress (SRS state, review ratings, timestamps)
- optional profile details (username, display name, avatar) if you set them
C. Clipboard data (app only, optional feature)
If you enable Clipboard Prefill, Mitsuki reads the current clipboard while the app is active to prefill a lookup when it appears to contain Japanese text. It is off by default, processed on-device, and never uploaded unless you choose to save a card that includes it.
D. Purchases
Mitsuki Pro can be purchased in two places. In the app, payment is handled entirely by Apple; we never receive your payment details. In the extension, payment is handled by Stripe on Stripe-hosted checkout and billing pages; your card details go to Stripe, never to us. In both cases we record your subscription status against your account (and, for Stripe, a customer reference used to open your billing portal).
E. Page detection data (extension only)
To show you which show and episode you're on, the extension reads the current tab's page title, URL, and page-authored metadata (e.g. the schema.org/OpenGraph tags sites publish), plus — on sites you've set up or that have built-in support, such as Netflix — a small number of on-page text elements like the visible show title. Its content script is present on pages you visit (that's what lets detection work without broad host permissions), but it only records an entry when the page matches a site you've set up, a built-in or remembered site, or actually has a video playing. Entries go into a local "watch log" in your browser's extension storage — they are not sent to Mitsuki Cloud and we never see your browsing. Two optional flows use watch-log data: fetching show artwork sends the show title (not the URL) to our TMDB proxy (see section 4), and saving a word puts that page's details on the card (see F).
F. Cards captured from a page (extension only)
When you save a word while watching, the resulting card includes the subtitle line, the page URL and page title, the show/episode title, and — when media capture is on — a snapshot of the current video frame and a short audio clip of that line sliced from the video. All of it is stored locally and, if you're signed in, uploaded to Mitsuki Cloud as your card and its media attachments, exactly like cards created in the app. Subtitle files you load (uploaded or found via subtitle search) are cached locally so dual subtitles keep working without re-fetching them.
G. Diagnostics and presence (app only)
- Crash reports: the macOS/iOS app automatically uploads crash, hang, and resource-exception diagnostics provided by Apple's MetricKit — call stacks, app version, build, OS version, device model, and your account id if signed in. They contain no study content or page data, and no client can read them back; they exist solely so the developer can fix bugs.
- Presence heartbeat: while the app is open and signed in, it reports a "last seen" timestamp with platform and app version so the developer's dashboard can count active users. It stops when the app closes. The extension does not do this.
H. Website (mitsukiapp.me)
- Download links record an anonymous count (platform and country only — no IP address, no cookies, no identifier).
- If you post on the community forum, your post content and profile username are public.
- Website pages load fonts from Google Fonts, which means your browser requests those font files from Google's servers.
3) How your data is used
- perform dictionary lookup and display results (on-device)
- sync your cards, media, and study progress across your devices
- power AI study features you invoke
- enforce fair-use limits (per-day AI caps and the monthly credit allowance)
- unlock Mitsuki Pro features for subscribers
- fix crashes and understand basic usage of the app (crash reports, active-user count)
- provide support (only if you contact us)
We do not use your data for advertising profiling or cross-app tracking.
4) AI processing & sub-processors
On-device AI (app)
Lighter AI tools use Apple's on-device models. The text you submit is processed locally and is not sent off your device.
Cloud AI (app)
For full study-session generation, custom-deck generation, and as a fallback on devices without on-device AI, the text you submit is sent to Mitsuki's AI service (a Supabase Edge Function operated by the developer), which forwards it to OpenAI to generate the result. OpenAI processes the request to return a response. We store only a per-day count of requests for quota enforcement — not the content of your prompts.
Optional AI in the extension (off unless you configure it)
The extension's subtitle-analysis feature (and an AI-assisted subtitle-filename parser) only work if you paste your own Google AI Studio (Gemini) API key into the extension's settings. When you use them, the subtitle text or filename — plus the show title and your configured study preferences — is sent directly from your browser to Google using your key. Nothing passes through Mitsuki's servers, and we never see your key: it is stored only in your browser's extension storage. If you don't add a key, the extension makes no AI requests at all.
Sub-processors (services we operate through)
- Supabase — authentication, database, serverless functions, and file storage (Mitsuki Cloud), used by both the app and the extension.
- OpenAI — generation for cloud AI features (app only; the extension never calls this).
- Apple — App Store purchases and subscription management (app only).
- Stripe — payment processing for Mitsuki Pro bought through the extension or website. Checkout and billing run on Stripe-hosted pages; we never receive card numbers.
- TMDB — show/episode metadata is fetched through our own Supabase proxy, so those lookups send only the show title from your device. Artwork images, however, load directly from TMDB's image CDN (image.tmdb.org), so your browser does contact TMDB's servers to display posters.
Extension-only third-party services (each contacted only when you use that feature)
- MyMemory Translated — the dual-subtitle translate feature sends each subtitle line to MyMemory to get a translation back; we don't control their retention.
- Jisho.org — a last-resort dictionary fallback: when a word isn't in the bundled offline dictionary, the word is sent to Jisho's public API to fetch a reading. Some UI actions also link out to jisho.org search pages.
- AniList — subtitle search sends the detected show title to AniList to resolve alternate titles (romaji/English) so subtitle matching works.
- Jimaku / AJATT subtitles (subtitles.ajatt.top, raw.githubusercontent.com), Kitsunekko, OpenSubtitles — community subtitle search/download providers; searching sends the show title (and season/episode) to the provider you pick. OpenSubtitles additionally requires your own OpenSubtitles API key, stored locally and sent only to OpenSubtitles.
- DuckDuckGo favicon service — the extension UI displays site icons by requesting them from icons.duckduckgo.com, which reveals the hostnames of the sites you've configured to that service.
If you configure a self-hosted service under Settings — a personal Lingarr or Subliminal server, or your own subtitle-catalog server — the extension talks directly to the address you entered. With a personal catalog server configured, subtitle files (with show/episode metadata) and a backup of your saved-word lists are uploaded to your server. That's your own infrastructure — we never see that traffic and it isn't covered by the list above.
5) Data sharing & transfers
- We do not sell your personal data.
- Data is shared only with the services listed above, solely to provide the features you use.
- Cloud data may be processed in regions where our providers operate; transfers occur only to deliver the service.
6) Storage, security, and retention
On-device (app)
Preferences, deck profiles, search history, and cached data are stored locally. Remove them by deleting items in-app or uninstalling the app.
In your browser (extension only)
Settings, the watch log, the subtitle cache and library, saved words pending sync, your session tokens, and any API keys you added are stored in your browser's local extension storage (chrome.storage and IndexedDB) — sandboxed to the extension, not accessible to the sites you visit or to other extensions. Uninstalling the extension removes all of it. Signing out does not clear local data by itself; it only stops cloud sync.
In Mitsuki Cloud
Your account data is protected by per-user row-level access rules so only your account can read it. Card media (frames, audio) is stored in per-user storage areas and served to your devices via short-lived signed URLs. Crash reports are write-only for clients: no app or extension can read them back. Data persists until you delete it in-app or request account deletion.
Retention
- On-device / in-browser data persists until you delete it, uninstall the app, or remove the extension.
- Cloud data persists until you delete the relevant items or your account.
- Support emails are kept only as long as needed to resolve your request.
7) Your choices and controls
- use Mitsuki offline without signing in to the cloud
- disable Clipboard Prefill at any time in Settings (app)
- delete cards and local data within the app or the extension
- request deletion of your Mitsuki Cloud account and data via the contact email
- uninstall the app, or remove the extension from your browser, to delete on-device data
- extension: the AI, translation, and subtitle-search features are opt-in per use — no third-party service is contacted unless you use the feature, and API keys you added can be removed in Settings at any time
- extension: choose which sites it can access beyond basic on-page detection — the broader per-site permission is requested individually, only when you set up a site, and can be revoked any time from your browser's extension settings
8) Children's privacy
Mitsuki is not directed to children under 13, and we do not knowingly collect personal information from children.
9) Changes to this Privacy Policy
We may update this Privacy Policy to reflect changes in the app or legal requirements. We will update the Effective date above and, where appropriate, note material changes in-app or in release notes.
10) Contact
For any privacy questions or requests, contact: ybaouab2@gmail.com