1. 我们收集什么数据
1.1 账号数据(仅登录时)
当您选择登录 ToastMark 账号时,我们通过 Supabase Auth 获取您的身份信息:邮箱地址、OAuth 提供商(如 Google)返回的唯一用户 ID,以及可选的头像/昵称。密码由 Supabase Auth 加密存储,我们无法访问明文。
1.2 网页内容(仅您主动收藏时)
点击"收藏"按钮时,扩展会提取当前页面的以下内容:
| 数据类型 | 说明 | 用途 |
|---|---|---|
| 网址与域名 | 当前页面的 URL 和 hostname | 存储与去重 |
| 页面标题 | HTML title 标签 | 显示与搜索 |
| 页面描述 | meta description | 显示与 AI 摘要 |
| 正文内容 | 页面主要文本(截断至 5000 字符) | AI 摘要生成 |
| 页面截图 | 可见区域的 PNG | 显示与分享卡片 |
| 分类与标签 | AI 或您手动标注的分类 | 组织与筛选 |
1.3 订阅与用量数据
如您订阅付费版,支付由 Stripe 直接处理(我们不接触您的信用卡或银行信息),我们仅从 Stripe webhook 接收订阅状态(活跃/过期/计划 ID)。为执行免费版的数量限额,我们会记录您账号下的书签和分类总数。
1.4 我们不收集的数据
- 浏览历史记录
- 表单输入、密码、信用卡信息
- Cookie 或会话数据
- 除您主动收藏外的任何网页内容
- 第三方分析或广告跟踪脚本
- 精确地理位置
2. 数据存储位置
2.1 本地存储(默认)
所有书签、分类和设置首先写入 chrome.storage.local,采用 Chrome 浏览器的安全存储机制。未登录用户的数据仅存储在此,不会离开您的浏览器。卸载扩展时 Chrome 会自动清除本地数据。
2.2 Supabase 云端同步(付费用户)
付费订阅用户登录后,书签和分类会同步到我们托管的 Supabase 数据库(托管于 AWS,数据中心位置由 Supabase 管理)。数据库启用了 Row Level Security (RLS),仅您本人的账号可读写自己的数据,任何第三方(包括我们自己)都无法绕过此策略访问您的内容。
2.3 自定义数据库(可选)
您也可以在设置中配置自己的 Turso 数据库作为存储后端。此模式下数据直接从您的浏览器写入您控制的数据库,完全不经过 ToastMark 的服务器。
3. 数据使用与第三方服务
3.1 AI 摘要服务
AI 摘要由您选择的模型生成。有两种工作模式:
- 自带密钥:您在设置中填入 OpenAI、Anthropic、OpenRouter 或自定义 API 的密钥。请求直接从您的浏览器发送到对应服务商,完全不经过 ToastMark 服务器。
- 内置代理(付费用户默认):为便于使用,我们提供基于 OpenRouter 的内置 AI 代理(部署在 Supabase Edge Function)。此模式下您的请求内容(页面正文)会经过 ToastMark 服务器转发给 OpenRouter。我们不会持久化请求内容,仅记录调用次数用于执行付费用户额度。
3.2 支付(Stripe)
订阅付费通过 Stripe Checkout 完成。您的信用卡与支付信息由 Stripe 直接处理并存储于 Stripe 的系统中,我们仅通过 Stripe webhook 接收订阅状态事件。
3.3 身份认证(Google OAuth)
您可选择使用 Google 账号登录。OAuth 流程由 Google 和 Supabase Auth 处理,我们仅接收 Google 返回的必要身份信息(邮箱、用户 ID、可选头像)。
3.4 分享功能
生成分享卡片时,图片在您的设备上本地渲染。只有当您主动点击"分享到社交平台"时,图片和 URL 才会上传至您选择的平台。
- 只有在您配置或使用这些服务时,数据才会发送到对应服务商。
- 第三方服务(OpenAI、Anthropic、Stripe、Google 等)的隐私政策由其各自管理。
- 我们不与任何第三方广告商或数据经纪商共享您的数据。
4. 权限说明
本扩展请求以下 Chrome 权限,每项权限的用途如下:
| 权限 | 用途 |
|---|---|
| activeTab | 截取当前标签页的截图 |
| scripting | 注入脚本提取网页信息 |
| storage | 存储用户配置和书签 |
| tabs | 获取当前标签页的 URL 和标题 |
| contextMenus | 提供右键菜单快捷操作 |
| unlimitedStorage | 存储大量书签数据 |
| identity | 支持 Google OAuth 登录 |
| notifications | 显示操作成功/失败提醒 |
| offscreen | 后台渲染分享卡片图片 |
| sidePanel | 在侧边栏显示收藏面板 |
| <all_urls> | 在任意网页上工作(仅在您主动触发时执行) |
5. 您的权利
您对自己的数据拥有完全控制权:
5.1 查看数据
- 在书签页查看所有保存的书签
- 在设置页查看所有配置信息和订阅状态
5.2 导出数据
- 可在书签页导出 JSON 格式的完整备份
- 可通过自定义 API 或 Turso 数据库导出
5.3 删除数据
- 随时删除任何单条书签或分类
- 在设置页一键清空所有本地数据
- 卸载扩展将删除所有本地数据
5.4 注销账号
如需注销账号并删除所有云端数据,请通过 GitHub Issues 联系我们,我们会在 30 天内处理。
5.5 禁用功能
- 可单独关闭云端同步(退出登录即可)
- 可关闭 AI 摘要功能
- 可改用自带密钥,不使用内置 AI 代理
6. 数据安全
- 所有网络传输使用 HTTPS + TLS 加密
- API 密钥存储在 Chrome 的安全存储中,不在代码中硬编码
- Supabase 数据库通过 Row Level Security 强制用户数据隔离
- 书签数量、分类数量限额在服务端通过 trigger 强制执行,防止前端绕过
- 源代码完全开源,可在 GitHub 审查
7. 儿童隐私
本扩展不面向 13 岁以下儿童,我们不会故意收集儿童的个人信息。如您是家长或监护人,发现孩子在使用本扩展,请联系我们。
8. Chrome Web Store 限制使用声明
ToastMark 遵守 Chrome Web Store 的用户数据政策,包括 Limited Use 要求。我们不会将您通过本扩展产生的数据用于广告投放、出售给第三方、或训练 AI 模型。数据仅用于为您本人提供书签收藏、AI 摘要和跨设备同步等核心功能。
9. 政策更新
我们可能会不时更新本隐私政策。重大变更将通过扩展更新日志和 GitHub 仓库公告通知。建议您定期查看本页面了解最新状态。
10. 开源声明
本扩展完全开源(MIT 许可证),源代码托管于 GitHub。您可以审查代码以验证我们的隐私承诺。
11. 联系方式
如果您对本隐私政策有任何疑问或建议,请通过以下方式联系我们:
- GitHub Issues:github.com/alianrock/data_gather_extension/issues