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

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

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

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