DualRead — Privacy Policy
Last updated: May 3, 2026 (v2.1.0)
Overview
DualRead ("the Extension") is a Chrome browser extension for Chinese speakers learning English. It lets you look up and save unknown English words while browsing, shows a translation bubble next to the word you click or select, and gently highlights your saved words on pages you visit afterwards. This policy explains what data the Extension handles and where it goes.
What we collect
Nothing. There are no DualRead servers. We do not operate any backend. We collect no personal information, no analytics, no telemetry, and no crash reports.
What is stored on your device
All data the Extension uses is stored locally in your browser via the standard Chrome Extension storage APIs:
- Saved vocabulary — the English words you explicitly save, their translations, the sentence you saw them in, and the source URL. Stored in
chrome.storage.sync, which Chrome transparently syncs across the browsers you are signed into with the same Google account.
- Settings — highlight style, UI language, auto-highlight toggle, the learning-mode master switch (the floating button's on/off state), and the list of origins on which you have chosen to hide the floating learning-mode button. Stored in
chrome.storage.local (device-local only).
- Onboarding state — a small flag recording that you have completed the first-run welcome flow and your chosen interface language, so the welcome screen is not shown again. Stored in
chrome.storage.local.
- Translation cache — recent translations kept briefly so repeated lookups don't re-hit the network. Stored in
chrome.storage.session and cleared when your browser restarts.
- Write buffer and sync status metadata — small internal bookkeeping so the Extension survives service-worker eviction and can show you whether your last save succeeded. Stored in
chrome.storage.local.
What leaves your browser
Only one thing: the exact text you select on a webpage. It is sent to Google Translate at translate.googleapis.com to produce the Chinese translation you see in the side panel. That is the only network destination the Extension contacts. No selected text is shared with any other party.
Google Translate's handling of that request is governed by Google's Privacy Policy.
Permissions and why each is needed
- storage — save your vocabulary, settings, and write buffer locally.
- sidePanel — show the DualRead panel on the right side of the browser.
- downloads — save your vocabulary list as a CSV file when you export.
- Host permission for
translate.googleapis.com — contact Google Translate to translate the text you select.
- Content scripts on all URLs — required to (a) detect the word you click or select, (b) render the in-page translation bubble next to that word, (c) underline your saved words on the pages you visit, and (d) render the floating learning-mode on/off button in the bottom-right of the page. The content script never reads page text other than: the text you explicitly click or select, the immediate surrounding sentence (for context in the panel), and text nodes it walks while wrapping your saved words in highlight spans. Nothing from your browsing is transmitted anywhere except what is described in "What leaves your browser" above.
Data security
All communication with Google Translate uses HTTPS. All local storage is provided by Chrome and sandboxed to the Extension.
Exporting and deleting your data
At any time you can:
- Export your saved vocabulary to a CSV file (Vocab tab → Export CSV).
- Delete everything the Extension has stored (Settings → Clear all data). This removes all saved words, settings, cache, and any pending writes — no residual state.
- Uninstall the Extension via
chrome://extensions, which Chrome handles directly.
Children's privacy
The Extension is not directed at children under 13. Because it collects no data, it cannot knowingly collect anything from children.
Changes to this policy
We may update this policy as the Extension evolves. Substantive changes will be reflected on this page along with an updated date at the top.
Contact
Questions or concerns? Please open an issue at github.com/Foxsunshine/DualRead/issues.