Privacy Policy
Last updated: April 25, 2026
Summary
KanFan (看翻) is a browser extension that translates manga images. It only sends data needed to translate the images you choose to translate, and stores cached translations on your device. It does not contain analytics, ads, trackers, or remote code.
Data the Extension Sends
The extension sends data to four kinds of destinations.
1. KanFan translation API (AWS). Each time an image is translated or pre-fetched, the extension sends the image bytes, a SHA-256 hash of the image, the image's source URL, the target language, your anonymous UUID, optional surrounding-page context, and — if you are signed in — your Supabase access token.
2. Supabase authentication API. Only if you sign in via kanfan.site, the extension exchanges a refresh token with Supabase to obtain and renew your session.
3. kanfan.site pages (Support, "site not supported", uninstall feedback). Only when you click those links, or when you uninstall the extension, the extension opens a kanfan.site URL whose query string contains the active tab URL, target language, anonymous UUID, extension version, and — only if you are signed in — your account email and ID.
4. Third-party image hosts (the manga sites themselves). When fetching an image for translation, the extension sets the Referer , Sec-Fetch-* , and Cookie headers the browser would normally attach to an <img> tag on that page. These headers are sent only to the image host that issued the cookies, never to KanFan servers.
Data the Extension Does Not Collect
-
No name, phone number, address, or payment information.
-
No analytics, telemetry, fingerprinting, or advertising SDKs.
-
No cross-site browsing tracking — image scanning runs only on pages where you have enabled translation.
-
No remote code is loaded or executed.
Data Stored on Your Device
In chrome.storage.local , the extension stores your settings (target language, UI language, hover/auto-translate toggles, font preferences), an anonymous UUID, a short-lived backend access token, a quota cache, the URL of the last active tab (used to set a correct Referer on image fetches), and your Supabase session if signed in.
In IndexedDB ( kanfan_cache ), the extension stores translated text and the corresponding image, keyed by imageHash + targetLanguage , so the same panel does not need to be re-translated. Old entries are pruned automatically when the cache grows large.
Everything above stays on your device unless explicitly listed in "Data the Extension Sends".
Permissions and Why They Are Needed
-
host_permissions: <all_urls> — read images and inject translation overlays on any manga site you visit.
-
activeTab — identify the current tab when you click the popup.
-
storage — keep settings, cache, and your sign-in session on your device.
-
cookies — read the cookies the browser would already send for an image (including cf_clearance for Cloudflare-protected sites) so the image fetch is not rejected with HTTP 403. Cookies are read on demand for one fetch at a time, attached only to that one outgoing request to the original image host, and never logged, stored, or sent to KanFan servers.
-
declarativeNetRequest and declarativeNetRequestWithHostAccess — temporarily set Referer , Sec-Fetch-* , and Cookie on outgoing image fetches so anti-hotlink and bot-protection checks accept the request. Each rule applies to a single fetch and is removed immediately after.
-
offscreen — parse the next manga page's HTML in a hidden document so the next page's images can be pre-translated.
Authentication
Sign-in is optional. If you sign in via kanfan.site, your session token is stored locally and used to authenticate translation requests. We never see or store your password — sign-in is handled by Supabase. You can sign out from the popup at any time, which deletes the session from local storage.
Uninstall Feedback
When you uninstall the extension, Chrome opens a feedback page at kanfan.site/feedback/uninstall . The URL includes your anonymous UUID, target language, extension version, and (if signed in) your account email and ID, so we can correlate aggregate uninstall reasons. You can close the page without submitting; closing it sends nothing further.
Your Controls
-
Toggle auto-translate, hover-translate, and pre-fetch in the popup.
-
Switch target language and adjust fonts in the popup.
-
Sign out of your KanFan account in the popup.
-
Uninstall the extension to delete all locally stored settings, cache, UUID, and session data.
Children
The extension is not intended for children under 13 and does not knowingly collect personal information from them.
Changes
We will update the "Last updated" date above whenever this policy changes.
Contact
Questions: zshang2028@gmail.com

