Privacy Policy
Last updated: 2026-08-20
Last updated: 2026-08-20
1. Overview
ImgX operates in two modes:
- - BYOK mode (default): You provide your own Vision API key and endpoint in settings. Images are sent directly from your browser to your configured endpoint--no developer-controlled server is involved. Your data stays local; the extension never forwards it to anyone but your chosen provider.
- - Cloud mode (optional, opt-in): After signing in with an email one-time password or Google Sign-In, you receive free credits. One-time credit packs may be purchased only when the payment channel is enabled. In this mode, images are proxied through ImgX's Cloudflare Worker to the model provider, and Supabase records your account identity, credit ledger, and analysis requests. Cloud mode exists so users without an API key can still try ImgX; BYOK is permanently available and sign-in is never required.
When paid credit packs are enabled, the payment provider configured for the user's region processes checkout. The current domestic plan uses YunGouOS; overseas checkout is not enabled yet. ImgX receives only the order and entitlement metadata needed to grant credits (customer email, product, amount, currency, status, and identifiers); ImgX does not receive or store card details, and no checkout is currently open.
ImgX also offers an opt-in (default off) local usage statistics feature: when enabled, it counts analysis runs and mode switches locally only, never uploads them. See §2.2.
This document explains what data ImgX processes, how, and what rights you have. Differences between modes are noted per section.
2. What We Collect
2.1 Data You Provide
| Data | Storage | Purpose | Transmission | Mode |
|---|---|---|---|---|
| API Endpoint | chrome.storage.local | Vision API address | Sent only to your configured endpoint | BYOK |
| API Key | chrome.storage.local | Vision API auth | Sent only as an HTTP header to your endpoint | BYOK |
| Model name | chrome.storage.local | Vision model selection | Sent to your endpoint | BYOK |
| Account identity | Supabase Auth + chrome.storage.local (session) | Create or sign in to an ImgX account and attribute Cloud credits | Email OTP stores the supplied email; Google Sign-In provides email address and basic profile (name and avatar) to Supabase Auth | Cloud |
2.2 Local Runtime Data
| Data | Storage | Retention | Purpose |
|---|---|---|---|
| Analysis history & queue | chrome.storage.local | Shared cap of 50 entries (evicts oldest done/failed by addedAt; pending prioritized) | Offline review / batch progress |
| URL reverse index | chrome.storage.local | Synced with history | Recall history on hover (no API call) |
| Classifier diagnostic log | chrome.storage.local | FIFO 100 entries | Debug classifier accuracy; host only, no full URL |
| Custom prompt templates | chrome.storage.local | Permanent until deleted | Custom system prompts |
| Local usage stats | chrome.storage.local | 30 days daily + total (opt-in, off by default) | Counts analyses & mode switches; local only, never uploaded |
| Cloud login session | chrome.storage.local (key imgx_cloud_session) | Until logout or token expiry | Stores access token, refresh token, user ID & email for Cloud auth |
Cloud session tokens are stored only in the local browser, never synced across devices, and cleared by Chrome on uninstall.
2.3 Cloud Mode Server-Side Data
When signed into Cloud mode, Supabase (ImgX's backend) records:
| Data | Storage | Retention | Purpose |
|---|---|---|---|
| Credit account | Supabase Postgres (imgx_credit_accounts) | Until account deletion | Current balance & lifetime granted credits |
| Analysis request record | Supabase Postgres (imgx_analysis_requests) | Metadata auto-purged after 90 days | Request ID, status, model, timestamp for billing & idempotency. Rows deleted after 90 days (sufficient for reconciliation); ledger kept separately |
| Success result cache | Same table, result_data field | Auto-cleared after 24 hours (set to null) | Idempotent replay: a repeated request within 24h returns the cached result without re-charging. Stores only the prompt text (bilingual + structured), never the original image |
| Credit ledger | Supabase Postgres (imgx_credit_ledger) | Until account deletion | Each grant / debit / refund with amount & reason; for reconciliation & abuse prevention |
No image pixel data is stored server-side. Request records contain only metadata and 24h prompt text.
Paid purchases are represented in the credit ledger as grants and refunds when payments are enabled. Payment credentials remain with the configured payment provider; ImgX stores only the minimum order metadata needed for fulfillment, support, and reconciliation.
2.4 Temporarily Processed Data
| Data | Processing | Retention | Mode |
|---|---|---|---|
| Image content | Scaled to base64 and sent | Released immediately after processing; original not persisted | Both |
| Page URL | Recorded as sourcePageUrl on enqueue | Stored in local history; deleted with history | Both |
| Image base64 via Worker | In Cloud mode, base64 is proxied through Cloudflare Worker to the model provider | Worker does not persist or log image content; released when the request ends; logs are scrubbed | Cloud |
2.5 What We Don't Collect
In either mode, ImgX:
- - ❌ Does not collect personal identification beyond the email address and, for Google Sign-In, the basic profile needed for Cloud account authentication
- - ❌ Does not access Google Drive, Google Photos, Gmail, or other Google content
- - ❌ Does not collect browsing history (only the page URL of images you actively analyze, stored locally)
- - ❌ Does not collect cookies or sessions for cross-site tracking (Cloud tokens are used only for ImgX auth)
- - ❌ Does not collect keystrokes / mouse trajectories / form content
- - ❌ Does not collect device fingerprints
- - ❌ Does not send analytics or telemetry to third parties (local usage stats stay local)
- - ❌ No ads, no trackers
- - ❌ Does not use your images or Google account data for model training
3. Authentication & Credit Security (Cloud Mode)
- - Sign-in uses either email one-time password (OTP) or optional Google Sign-In.
- - Google Sign-In requests only the standard OpenID email address and basic profile information. ImgX uses this data only to create or sign in to your ImgX account and attribute Cloud credits. ImgX does not access Google Drive, Google Photos, Gmail, or other Google content, and does not use Google account data for advertising, image analysis, or model training.
- - After sign-in, Supabase-issued access/refresh tokens are stored only in local
chrome.storage.local, never synced across devices. - - Tokens are used only to call ImgX Worker's
/v1/accountand/v1/analyzeendpoints, and to refresh the token via Supabase Auth. - - In Cloud mode you do not provide an API key--the model is called by the Worker using a server-side key; your browser never sees the model API key.
- - First sign-in grants 10 analysis credits. Each daily check-in grants 3 bonus credits for the account's local calendar day; any unused daily bonus expires at the next local 00:00, and unclaimed bonuses do not accumulate. When exhausted, Cloud mode is unavailable but you can switch back to BYOK.
- - Credit accounting is atomic: a credit is reserved at request start, refunded on model failure, and only debited on success. A repeated request within 24h is charged once (idempotent).
4. Image Content
- - Image pixels are read only when analyzed (scaled to ≤1536px, JPEG 85% quality).
- - BYOK mode: base64 is sent directly from the browser to your configured endpoint.
- - Cloud mode: base64 is sent to the ImgX Worker, which proxies it to the model provider and releases it immediately--not persisted, not logged.
- - After processing, the original base64 is released at every stage.
- - History stores only the image URL, not the image file itself.
- - Thumbnail cache: queue-panel thumbnails use the browser's normal HTTP cache; the extension adds no separate cache.
5. Network Requests
5.1 BYOK Mode
Vision API request
- - Target: your configured
endpoint - - Content: image base64 + system prompt + user prompt
- - Purpose: analyze image, generate bilingual prompt
Image proxy request
- - Target: the original CDN/server of the analyzed image
- - Trigger: when an in-page
fails to load cross-origin - - Purpose: bypass hotlink protection so the queue can fetch the original
- - Carries only the page's existing Referer; no extra user identifiers
5.2 Cloud Mode
OTP email (on sign-in)
- - Target: Resend SMTP -> your inbox
- - Content: 6-digit code
- - Purpose: email authentication
Worker requests (when signed in)
- -
GET /v1/account: query email & remaining credits - -
POST /v1/analyze: submit image for analysis - - Target:
https://api.imgxapp.com - - Content: image base64 + Supabase access token (for auth & billing)
- - Purpose: Cloud mode image analysis
Payment checkout and webhook (when enabled)
- - Target: the payment provider enabled for the user's region (domestic: YunGouOS when enabled; overseas: not enabled yet) and a signed webhook to ImgX
- - Content: product, amount, currency, order ID, customer email, and payment status; no card number
- - Purpose: verify payment and grant or refund Cloud credits
Supabase Auth requests
- - Target:
https://pmprjlziwabyryumvnrx.supabase.co/auth/v1/... - - Purpose: send and verify OTP, initiate optional Google Sign-In, exchange the authorization code, and refresh tokens
6. Third-Party Services (Cloud Mode)
Cloud mode involves these third-party services, each governed by its own privacy policy:
| Service | Purpose | Data received | Data center |
|---|---|---|---|
| Optional account authentication | OAuth authorization request; Google returns email address and basic profile to Supabase Auth after consent | Per Google's terms | |
| Supabase | Auth + Postgres database | Email, basic profile when Google Sign-In is used, credit ledger, analysis request records (metadata + 24h prompt text) | ap-southeast-1 (Singapore) |
| Cloudflare | Worker edge proxy | Image base64 (proxied, not persisted), Supabase user ID, request metadata | Edge nodes |
| Resend | OTP email delivery | Recipient email, verification code | Per its terms |
Model provider (currently Alibaba Cloud Bailian qwen3.7-flash-2026-07-15) | Image analysis | Image base64 + server-side-fixed system prompt | Provider's region |
In BYOK mode, images go directly to your configured endpoint and do not pass through the Cloud path above. The payment provider configured for the user's region handles paid checkout, tax, and payment credentials when purchases are enabled; no checkout is currently open.
7. Permissions
| Permission | Required | Purpose |
|---|---|---|
storage | Required | Settings, history, queue, Cloud login session |
activeTab | Required | Current tab context |
contextMenus | Optional | Right-click menu "ImgX - Image to Prompt" |
scripting | Required | Inject result card into page |
clipboardWrite | Optional | One-click copy of prompts |
alarms | Required | Queue engine periodic scheduling |
(host permission) | Required | See below |
Why is required
ImgX's core feature is "hover any image -> analyze". This requires operating on all websites you visit: 1. Inject content script (detect image hover) 2. Read image pixel data (via Canvas) 3. Cross-origin load images (via Service Worker proxy)
Hence content_scripts matches http://*/* and https://*/*. This is industry standard for image-analysis extensions. ImgX does not use this permission to read page text, forms, or send any data without user action.
8. Data Export & Deletion
8.1 Local Data
| Action | Location | Effect |
|---|---|---|
| Export history | Queue panel -> Export | Download JSON (all analysis records) |
| Import history | Queue panel -> Import | Merge JSON records into local |
| Clear history | Queue panel -> Clear | Delete all history + URL index |
| Clear queue | Queue panel -> Clear | Delete all done/failed queue items |
| Sign out of Cloud | Settings panel -> Sign out | Clear local Cloud session (server-side ledger unaffected) |
| Uninstall extension | Chrome -> Extensions -> Remove | Chrome auto-clears all chrome.storage.local data |
8.2 Cloud Server-Side Data
Signing out of Cloud only clears the local session--it does not delete your Supabase credit account or request history. To fully delete Cloud server-side data (account deletion):
1. Email [email protected] with the login email you want deleted (do not post your email in a public GitHub Issue, to avoid exposing your address) 2. An admin runs a one-shot cleanup script to delete all data for that email: - All records in imgx_credit_accounts, imgx_analysis_requests, imgx_credit_ledger - The Supabase Auth user account 3. After deletion, the email can register again (granted fresh first-time credits)
A future version will add a self-service "Delete account" button in the extension; MVP is admin-assisted.
9. Changes
This policy is updated as ImgX evolves. Material changes will be announced in-app (changelog or banner).
- - 2026-08-20: Clarified that daily check-in bonus credits follow the account's local calendar day and expire at the next local 00:00; paid and sign-up credits are unaffected.
- - 2026-08-17: Sign-up grant reduced from 20 to 10 analysis credits; daily check-in (+3) disclosed. Existing balances are not clawed back; no other data handling changed.
- - 2026-08-15: Added one-time paid credit pack and Creem payment metadata disclosures.
- - 2026-07-28: Added Google Sign-In disclosures: requested account data, its limited authentication and credit-attribution purpose, and confirmation that ImgX does not access other Google content or use Google data for model training.
- - 2026-07-27: Account deletion moved to a private support mailbox; users are no longer asked to post login email in a public GitHub Issue. Analysis history & queue storage corrected to a shared cap of 50 entries.
- - 2026-07-26: Added Cloud mode (free credits) data processing disclosures, including login email, credit ledger, analysis request records (metadata auto-purged after 90 days), 24-hour result cache, Worker proxy, OTP email; account deletion is admin-assisted via script; self-service deletion planned for a future version.
- - 2026-07-04: Initial version (BYOK-only local architecture).
10. Contact
For privacy questions or to request Cloud account deletion, email [email protected]:
- - Account deletion: email the login email to be deleted (do not post your email in a public GitHub Issue, to avoid exposing your address)
- - General feedback: https://github.com/pamler1004/imgx/issues (please do not include personal emails or sensitive info in Issue descriptions)
中文版
最后更新:2026-08-20
最后更新:2026-08-20
1. 概述
ImgX 提供两种工作模式:
- - BYOK 模式(默认):你在设置里填自己的 Vision API Key 与 endpoint,图片从浏览器直接发往你配置的 endpoint,不经过任何开发者控制的服务器。你的数据全程留存在本地,扩展不向你之外的任何人转发。
- - Cloud 模式(可选,opt-in):你用邮箱验证码或 Google 登录后获得免费额度;相关支付通道启用后,才会提供一次性次数包。此模式下图片会经 ImgX 的 Cloudflare Worker 代理转发到模型服务商,并在 Supabase 上记录你的账户身份、额度账本与分析请求。Cloud 模式是为了让没有 API Key 的用户也能试用;BYOK 永久保留,登录不是必须的。
付费次数包启用后,由用户所在地区配置的支付服务商处理付款;当前国内方案使用 YunGouOS,海外支付尚未启用。ImgX 只接收发放额度所需的订单与权益元数据(客户邮箱、商品、金额、币种、状态和订单标识),不接收或保存银行卡信息,当前也没有开放付款页。
此外 ImgX 还提供一个 opt-in(默认关闭)的本地使用统计 功能:开启后仅在本地累计分析次数与模式切换次数,绝不上传,用于产品改进决策。详见 §2.2。
本文档说明 ImgX 处理哪些数据、如何处理、以及你有权做什么。两种模式的数据处理差异在对应章节标注。
2. 我们收集什么
2.1 你主动提供的数据
| 数据 | 存储位置 | 用途 | 对外传输 | 适用模式 |
|---|---|---|---|---|
| API Endpoint | chrome.storage.local | 指定 Vision API 地址 | 仅发往你配置的 endpoint | BYOK |
| API Key | chrome.storage.local | Vision API 鉴权 | 仅作为 HTTP Header 随请求发送到你的 endpoint | BYOK |
| 模型名称 | chrome.storage.local | 选择 Vision 模型 | 仅随请求发往你的 endpoint | BYOK |
| 账户身份 | Supabase Auth + chrome.storage.local(session) | 创建或登录 ImgX 账户、归属 Cloud 额度 | 邮箱验证码登录会保存所填邮箱;Google 登录会向 Supabase Auth 提供邮箱地址与基础资料(姓名和头像) | Cloud |
2.2 扩展运行时产生的本地数据
| 数据 | 存储位置 | 保留策略 | 用途 |
|---|---|---|---|
| 分析历史与队列 | chrome.storage.local | 统一上限 50 条(超出按 addedAt 优先淘汰 done/failed,待办优先保留) | 离线查看 / 批量分析进度管理 |
| URL 反向索引 | chrome.storage.local | 与历史同步(清历史即清索引) | 悬停已分析图片时召回历史(不发 API) |
| 分类器诊断日志 | chrome.storage.local | FIFO 100 条(超出自动淘汰最早的) | 调试自动分类器准确性,仅存 host 不存完整 URL |
| 自定义 Prompt 模板 | chrome.storage.local | 永久(除非用户删除) | 自定义系统提示词 |
| 本地使用统计 | chrome.storage.local | 30 天 daily + total(opt-in,默认关) | 累计分析次数与模式切换次数,仅本地、绝不上传 |
| Cloud 登录会话 | chrome.storage.local(键名 imgx_cloud_session) | 直至登出或 token 失效 | 存放 access token、refresh token、用户 ID 与邮箱,用于 Cloud 模式鉴权 |
Cloud 登录会话中的 token 仅存于本地浏览器,不跨设备同步,扩展卸载时由 Chrome 自动清理。
2.3 Cloud 模式在服务端产生的数据
登录 Cloud 模式后,Supabase(ImgX 的后端服务)会记录以下数据:
| 数据 | 存储位置 | 保留策略 | 用途 |
|---|---|---|---|
| 额度账户 | Supabase Postgres(imgx_credit_accounts) | 保留至账户注销 | 记录当前余额与累计赠送额度 |
| 分析请求记录 | Supabase Postgres(imgx_analysis_requests) | 元数据 90 天后自动清理 | 记录请求 ID、状态、所用模型、时间戳,用于额度结算与防重放。90 天后自动删除请求行(对账窗口足够),账本流水另行保留 |
| 成功结果缓存 | 同上表的 result_data 字段 | 24 小时后自动清空(置 null) | 幂等重放:同一请求 24h 内重复发送时不重复扣费,直接返回缓存结果。该字段只存模型返回的 Prompt 文本(中英双语 + 结构化字段),绝不存原始图片 |
| 额度账本流水 | Supabase Postgres(imgx_credit_ledger) | 保留至账户注销 | 记录每次赠送 / 扣减 / 退款的金额与原因,用于对账与防刷 |
服务端不存储任何图片像素数据。请求记录里只有元数据与 24h 内的 Prompt 文本结果。
启用付款后,付费订单会在额度账本中记录发放与退款流水。支付凭证由配置的支付服务商保管,ImgX 仅保存履约、客服和对账所需的最少订单元数据。
2.4 扩展运行中临时处理的数据
| 数据 | 处理方式 | 保留 | 适用模式 |
|---|---|---|---|
| 图片内容 | 缩放为 base64 后发送 | 处理完成后立即释放,不持久化保存原图 | 两种模式 |
| 页面 URL | 入队时记录 sourcePageUrl | 存于本地历史记录,删除历史即删除 | 两种模式 |
| 图片 base64(经 Worker) | Cloud 模式下,图片 base64 经 Cloudflare Worker 临时转发到模型服务商 | Worker 不落盘、不写日志,请求结束即释放;日志已脱敏不记录图片内容 | Cloud |
2.5 不收集的数据
无论哪种模式,ImgX 都:
- - ❌ 除邮箱地址,以及 Google 登录所需的基础资料外,不收集其他个人身份信息
- - ❌ 不访问 Google 云端硬盘、Google 相册、Gmail 或其他 Google 内容
- - ❌ 不收集浏览历史(仅记录你主动分析的图片所在页面 URL,存于本地)
- - ❌ 不收集 Cookie、Session(Cloud 模式的 access/refresh token 仅用于自身鉴权,不用于跨站追踪)
- - ❌ 不收集键盘输入 / 鼠标轨迹 / 表单内容
- - ❌ 不收集设备指纹
- - ❌ 不发送分析 / 遥测数据到任何第三方(本地使用统计仅本地累计,不上传)
- - ❌ 无广告 / 无追踪器
- - ❌ 不将你的图片或 Google 账户数据用于模型训练
3. 认证与额度安全(Cloud 模式)
- - 登录可使用邮箱验证码(OTP)或可选的 Google 登录。
- - Google 登录为可选功能,仅请求标准 OpenID 邮箱地址和基础资料。ImgX 只用这些数据创建或登录 ImgX 账户并归属 Cloud 额度;不会访问 Google 云端硬盘、Google 相册、Gmail 或其他 Google 内容,也不会将 Google 账户数据用于广告、图片分析或模型训练。
- - 登录成功后,Supabase 签发的 access token 与 refresh token 仅存于本地
chrome.storage.local,不跨设备同步。 - - Token 仅用于调用 ImgX Worker 的
/v1/account与/v1/analyze接口,以及直接调用 Supabase Auth 刷新 token。 - - Cloud 模式下你不需要提供 API Key--模型调用由 Worker 使用服务端密钥完成,你的浏览器永远看不到模型 API Key。
- - 首次登录赠送 10 次分析额度。每日签到按账号当地自然日领取 3 次赠送额度;当日未使用的签到赠送额度在当地次日 00:00 失效,未领取不累积。额度用尽后 Cloud 模式不可用,但仍可切回 BYOK 模式。
- - 额度结算原子化:请求开始时预扣,模型失败自动退还,成功才最终扣减。同一请求 24h 内重复发送只扣一次(幂等)。
4. 图片内容
- - 图片在被分析时才读取其像素数据(缩放至 ≤1536px,JPEG 85% 质量)。
- - BYOK 模式:图片 base64 从浏览器直接发往你配置的 endpoint。
- - Cloud 模式:图片 base64 从浏览器发往 ImgX Worker,Worker 临时转发到模型服务商后立即释放,不持久化、不写日志。
- - 处理完成后,原始图片的 base64 数据在所有环节立即释放。
- - 历史记录中仅存储图片 URL,不存储图片文件本身。
- - 缩略图缓存:队列面板中显示的缩略图由浏览器常规 HTTP 缓存管理,扩展不额外缓存。
5. 网络请求
5.1 BYOK 模式
Vision API 请求
- - 目标:你配置的
endpoint - - 内容:图片 base64 + 系统提示词 + 用户提示词
- - 用途:分析图片,生成中英双语 Prompt
图片代理请求
- - 目标:用户分析的图片的原始 CDN/服务器地址
- - 触发条件:页面内
跨域加载失败时 - - 用途:绕开防盗链,保证分析队列能拿到原图数据
- - 仅携带页面原有的 Referer,不额外发送任何用户标识
5.2 Cloud 模式
验证码邮件(登录时)
- - 目标:Resend SMTP -> 你的邮箱
- - 内容:6 位验证码
- - 用途:邮箱身份验证
Worker 请求(已登录)
- -
GET /v1/account:查询邮箱与剩余额度 - -
POST /v1/analyze:提交图片分析 - - 目标:
https://api.imgxapp.com - - 内容:图片 base64 + Supabase access token(用于鉴权与扣费)
- - 用途:Cloud 模式图片分析
付款页与 webhook(启用后)
- - 目标:用户所在地区已启用的支付服务商(国内启用后为 YunGouOS;海外尚未启用),以及发往 ImgX 的签名 webhook
- - 内容:商品、金额、币种、订单号、客户邮箱和支付状态;不含银行卡号
- - 用途:验证付款并发放或回收 Cloud 额度
Supabase Auth 请求
- - 目标:
https://pmprjlziwabyryumvnrx.supabase.co/auth/v1/... - - 用途:发送与验证验证码、发起可选的 Google 登录、交换授权码和刷新 token
6. 第三方服务(Cloud 模式)
Cloud 模式涉及以下第三方服务,各自的数据处理受其隐私政策约束:
| 服务 | 用途 | 收到的数据 | 数据中心 |
|---|---|---|---|
| 可选的账户身份验证 | OAuth 授权请求;用户同意后,Google 向 Supabase Auth 返回邮箱地址与基础资料 | 依 Google 条款 | |
| Supabase | Auth + Postgres 数据库 | 邮箱、Google 登录时的基础资料、额度账本、分析请求记录(元数据 + 24h Prompt 文本) | ap-southeast-1(新加坡) |
| Cloudflare | Worker 边缘代理 | 图片 base64(临时转发,不落盘)、Supabase user ID、请求元数据 | 边缘节点 |
| Resend | 验证码邮件投递 | 收件邮箱、验证码 | 其服务条款所在地 |
模型服务商(当前为阿里云百炼 qwen3.7-flash-2026-07-15) | 图片分析 | 图片 base64 + 服务端固定的系统提示词 | 服务商所在地 |
BYOK 模式下,图片直接发往你配置的 endpoint,不经过上述 Cloud 路径。启用付费后,由用户所在地区配置的支付服务商负责付款、税务与支付凭证处理。
7. 权限说明
ImgX 申请的 Chrome 权限及其用途:
| 权限 | 必要性 | 用途 |
|---|---|---|
storage | 必需 | 存储设置、历史记录、队列、Cloud 登录会话 |
activeTab | 必需 | 获取当前 Tab 上下文 |
contextMenus | 可选 | 右键菜单「ImgX - Image to Prompt」 |
scripting | 必需 | 向页面注入分析结果卡片 |
clipboardWrite | 可选 | 一键复制 Prompt 内容 |
alarms | 必需 | 队列引擎周期性调度 |
(主机权限) | 必需 | 见下方说明 |
为什么必需
ImgX 的核心功能是"悬停任意图片 -> 分析"。这意味着扩展需要在用户浏览的所有网站上: 1. 注入内容脚本(检测图片 hover 事件) 2. 读取图片的像素数据(通过 Canvas) 3. 跨域加载图片(通过 Service Worker 代理)
因此 content_scripts 的匹配模式设置为 http://*/* 和 https://*/*。这是 Chrome 扩展开发中图片分析类工具的行业惯例。ImgX 不会利用此权限读取页面文本内容、表单、或发送任何未经用户操作的数据。
8. 数据导出与删除
8.1 本地数据
| 操作 | 位置 | 效果 |
|---|---|---|
| 导出历史 | 队列面板 -> 导出按钮 | 下载 JSON 文件(所有分析记录) |
| 导入历史 | 队列面板 -> 导入按钮 | 合并 JSON 文件中的记录到本地 |
| 清空历史 | 队列面板 -> 清空按钮 | 删除全部历史记录 + URL 索引 |
| 清除队列 | 队列面板 -> 清除按钮 | 删除全部已完成/失败的队列项 |
| 登出 Cloud | 设置面板 -> 退出登录 | 清除本地 Cloud 登录会话(不影响服务端额度账本) |
| 卸载扩展 | Chrome -> 扩展管理 -> 移除 | 浏览器自动清理全部 chrome.storage.local 数据 |
8.2 Cloud 服务端数据
登出 Cloud 只清除本地会话,不会删除 Supabase 上的额度账户与历史请求记录。如需彻底删除 Cloud 服务端数据(注销账户):
1. 发送邮件至 [email protected],注明需要注销的登录邮箱(请勿在公开渠道如 GitHub Issue 提交邮箱,以免泄露你的地址) 2. 管理员收到申请后,使用一键清理脚本删除该邮箱的全部数据: - imgx_credit_accounts、imgx_analysis_requests、imgx_credit_ledger 中的所有记录 - Supabase Auth 中的用户账户 3. 处理完成后该邮箱可重新注册(会再次获得首次登录赠送额度)
未来版本计划在扩展内提供「注销账户」自助按钮,MVP 阶段暂由管理员手动执行。
9. 变更
本隐私政策会随 ImgX 功能更新而修订。重大变更将在扩展内通知(如更新日志或弹窗提示)。
- - 2026-08-20:明确每日签到赠送额度按账号当地自然日计算,并在当地次日 00:00 失效;注册赠送和付费额度不受影响。
- - 2026-08-17:注册赠送额度从 20 次调整为 10 次,补充每日签到 +3 说明;存量账户已获得的额度不回收,其余数据处理方式不变。
- - 2026-08-16:统一 BYOK 对外描述为“自带 API Key”,移除具体服务商/模型举例;更新当前 Cloud 模型与按地区配置支付通道的披露,明确当前没有开放付款页。
- - 2026-08-15:新增一次性付费次数包和支付元数据披露。
- - 2026-07-28:新增 Google 登录披露:请求的账户数据、仅限认证和额度归属的用途,以及 ImgX 不访问其他 Google 内容、不将 Google 数据用于模型训练的说明。
- - 2026-07-27:注销渠道改为私有客服邮箱,不再要求在公开 GitHub Issue 提交登录邮箱;分析历史与队列存储订正为统一上限 50 条。
- - 2026-07-26:新增 Cloud 模式(免费额度)相关数据处理披露,包括登录邮箱、额度账本、分析请求记录(元数据 90 天自动清理)、24 小时结果缓存、Worker 代理转发、验证码邮件;注销账户由管理员手动执行(脚本),未来版本提供自助注销。
- - 2026-07-04:初始版本(纯 BYOK 本地架构)。
10. 联系方式
如对隐私政策有疑问,或需注销 Cloud 账户,请发邮件至 [email protected]:
- - 注销账户:邮件注明需要注销的登录邮箱(请勿在公开 GitHub Issue 提交邮箱,以免泄露地址)
- - 一般问题 / 反馈:https://github.com/pamler1004/imgx/issues(请不要在 Issue 描述里包含个人邮箱等敏感信息)