MaruComprehension – პირადი მონაცემების დაცვა
MaruComprehension ავტორი MaruComprehension
What this extension does
MaruComprehension is an unofficial fan app that connects to your MaruMori account to fetch your learned vocabulary and kanji. It uses that data to:
Color-highlight subtitles and transcripts on Comprehensible Japanese, Nihongo-Jikan, and YouTube — known words in one color, unknown in another
Calculate a comprehension score for each video based on how many subtitle words you already know
Show hover cards with reading, definitions, and known/unknown status when you hover over any Japanese word in a subtitle or transcript
Display a word sidebar listing all unknown words in the current video with JLPT level indicators
Save a watch history and an unknown word frequency list so you can track progress over time
Let you mark words as Known directly from a hover card, stored separately from MaruMori
Automatically track immersion time spent watching Japanese video, with a daily/streak view and a breakdown by source, plus a manual "add time" entry for sources it can't detect (e.g. a book)
Run an optional focus timer for study sessions, which can add its duration to your immersion time and play a sound or show an on-screen notice when it finishes
Add a right-click menu item to search any selected word or phrase on MaruMori's dictionary
Let you export or import all extension data as a single file, to move your setup to another device
Let you optionally back up your data to your own Google Drive, and sync it back down on another device, using a Google sign-in you control
Data stored on your device
All data is stored locally using chrome.storage.local and never leaves your device except as described in Network requests below.
MaruMori API token — pasted voluntarily to connect your account
Vocab and kanji lists — downloaded from MaruMori and cached locally so scoring works without repeated API calls
Watch history — titles, URLs, comprehension scores, and watch counts for Japanese videos you have watched
Unknown word frequency — words that appeared as unknown across your watched videos, with occurrence counts
Manually known words — words you have marked as Known from hover cards, stored separately from MaruMori
Immersion tracking data — daily watch-time totals, a breakdown by source (YouTube, CIJ, Nihongo-Jikan, local player, etc.), and any manual time entries you add
Focus timer settings — your last-used duration and sound/on-screen-effect preferences
Settings and preferences — subtitle style, hover toggle, badge visibility, and other UI preferences
You can clear watch history, word data, and immersion tracking data at any time from within the extension. Removing the extension from your browser deletes all stored data.
If you use the export feature, a copy of this data — including your MaruMori API token — is written to a JSON file you choose to save. That file stays on your device unless you move it yourself; treat it like you would a password, since importing it elsewhere restores full access to the data it contains.
Google Drive backup (optional)
You can choose to connect a Google account to back up your data. This is off by default and only ever runs when you click "Save" or "Sync" yourself — there is no automatic or background syncing.
Sign-in uses this browser's identity API (Firefox: a Google-hosted consent screen via browser.identity.launchWebAuthFlow) — no password is ever seen or handled by this extension.
Data is written to a single JSON file in your Google Drive's appDataFolder — a hidden, per-app storage space that Google creates for each app you authorize. It does not appear in your regular Drive file list, and no other app (including other MaruComprehension installs on other browsers/devices, unless you sign into them too) can read it.
The extension requests only the drive.appdata scope — it cannot see, create, or modify any other file in your Drive.
What's backed up: your MaruMori API token, vocab/kanji cache, manually-known words, immersion time (daily/site totals and recent session log), per-video watched seconds, and watch/word history. It does not include the per-source-per-day breakdown used for the stats chart — that stays local-only and is only carried over by the local export/import file, to keep the Drive backup file small.
"Save" uploads your current local data to that file (overwriting whatever was there). "Sync" downloads it and merges it into this device — historical data (immersion time, watch/word history, known words) is added to what's already here rather than replacing it, so using this on a second device won't erase either device's progress.
You can revoke access at any time from your Google Account permissions page, which also deletes the backup file.
MaruComprehension's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Network requests
The extension contacts only the following external services, and only ever with your own device making the request directly:
MaruMori API (public-api.marumori.io) — to fetch your vocab and kanji lists using your API token. Requested only when you connect your account or manually refresh.
YouTube timedtext API (youtube.com) — to fetch Japanese subtitle tracks for the video currently open, for comprehension scoring. No account credentials are sent; only a public caption endpoint is used.
Jisho dictionary (jisho.org) — to look up word definitions when you hover over a word. Only the individual word being hovered is sent.
MaruMori website (marumori.io) — opened in a new tab when you use the right-click "Search on MaruMori" menu item, or click a dictionary link in a hover card. This is a normal page navigation, not a background request.
Google sign-in and Drive API (accounts.google.com, www.googleapis.com) — only if you connect Google Drive backup, and only when you click "Save" or "Sync". See Google Drive backup above.
No analytics services, crash reporters, advertising networks, or any other third-party servers are contacted. If you've configured the extension to work with a self-hosted local video server (e.g. on your own home network), it's contacted the same way any page you open in your browser would be — the extension doesn't reach out to it on its own.
Data sharing
No data is sold, shared, or transmitted to any party other than the services listed above. Those requests exist solely to provide the extension's features and contain no personally identifiable information beyond what you explicitly provide — your MaruMori API token, and, only if you turn on Drive backup, your own Google account authentication (handled entirely by Google/Chrome; this extension never sees your Google password).
Permissions explained
storage — saves your API token, vocabulary cache, watch history, immersion tracking data, and preferences locally on your device
activeTab — reads the current tab's URL so the popup can show the correct comprehension score for the page you are on
scripting — injects the subtitle coloring and hover card logic into supported video pages; fetches YouTube caption files from within the page context (required because YouTube rejects requests from extension origins); and shows the focus timer's sound/on-screen effect on the page you're viewing when a session ends
alarms — keeps the focus timer counting down accurately in the background, even while the popup is closed
notifications — shows a system notification when the focus timer finishes, if an on-page effect couldn't be shown
contextMenus — adds the "Search on MaruMori" item to the right-click menu
identity — lets you optionally sign in with your own Google account to use the Drive backup feature described above. Only requested when you click "Save" or "Sync"; never used automatically or for any other purpose.
Host permissions — limited to the specific sites the extension supports: Comprehensible Japanese, Nihongo-Jikan, YouTube, MaruMori (site and API), Jisho, and — if you've set it up — your own self-hosted local video server
Disclaimer
MaruComprehension is an independent, unofficial fan app created by a MaruMori user. It is not affiliated with, endorsed by, or in any way associated with MaruMori.io, Comprehensible Japanese, or Nihongo-Jikan. All trademarks and brand names belong to their respective owners.
Children's privacy
This extension is not directed at children under 13 and does not knowingly collect data from them.
Changes to this policy
If this policy changes materially, the "Last updated" date above will be revised. Continued use of the extension after a change constitutes acceptance of the updated policy.
Contact
Questions or concerns? Email marucomprehension@gmail.com.