Skip to content

Latest commit

 

History

History
211 lines (140 loc) · 7.9 KB

File metadata and controls

211 lines (140 loc) · 7.9 KB

隐私政策

最后更新日期:2026年9月7日

概述

Sprite(桌面精灵)是一款本地桌面助手应用。我们高度重视您的隐私,本政策说明我们如何处理您的数据。

核心原则:您的数据只存储在您的设备上,我们不会收集、上传或分享您的任何个人数据。


一、我们收集哪些数据

1.1 不收集的数据

Sprite 不会收集以下数据:

  • ❌ 个人身份信息(姓名、邮箱、手机号等)
  • ❌ 位置信息
  • ❌ 浏览历史
  • ❌ 键盘输入记录(全局热键除外,见下文)
  • ❌ 麦克风/摄像头数据
  • ❌ 任何遥测或使用统计数据

1.2 本地处理的数据

以下数据仅在您的设备本地处理,不会上传到任何服务器:

数据类型 说明 存储位置
应用设置 窗口配置、主题、热键、锁屏/主密码(哈希)等 本地配置文件 settings.json(权限 600)
LLM 配置 API Base URL、API Key、模型选择 本地配置文件 settings.json(权限 600);启用系统钥匙串后可存 Keychain,不再明文落盘
密码箱 您自定义的密码/密钥条目 localStorage(AES-GCM 加密)
剪贴板历史 最近 20 条剪贴板文本 内存(应用关闭后清除)
聊天记录 与 LLM 的对话历史 本地 history/*.json(权限 600,目录 700);窗口正常关闭时清除
系统监控 CPU、内存、磁盘、网络使用率 内存(实时显示,不持久化)
快捷方式配置 您添加的应用/网址快捷方式 本地 JSON 文件

二、数据存储位置

2.1 配置文件

所有配置文件存储在 macOS 应用支持目录:

~/Library/Application Support/cn.erishen.sprite/

包括:

  • settings.json - 应用设置(权限 600,仅所有者可读写;含 API Key 与锁屏/主密码哈希,见 5.3)
  • history/ - 对话历史(目录权限 700,文件权限 600;窗口正常关闭时清除)
  • launchers.public.json - 公开快捷方式(可提交到 git)
  • launchers.local.json - 私有快捷方式(默认不提交到 git)

2.2 浏览器存储

部分数据存储在 Tauri 内置浏览器的 localStorage 中:

  • 密码箱加密数据
  • UI 状态(如窗口大小、位置)

2.3 内存存储

以下数据仅存在于内存中,应用关闭后立即清除:

  • 剪贴板历史
  • 系统监控数据

注:聊天记录为支持子窗口重建后的恢复,会短暂落盘到 history/(权限 600), 在窗口正常关闭时删除。若应用被强制退出或崩溃,残留的历史文件会在下次 启动对应窗口时被读取,您可在窗口内点击清空按钮删除。


三、第三方服务

3.1 LLM 后端服务

Sprite 本身不提供 LLM 服务,您需要自行配置后端:

  • Resolve Studio(默认:http://127.0.0.1:8787)
  • Spring Harness(默认:http://127.0.0.1:8080)
  • Resolve Harness(默认:http://127.0.0.1:8899)
  • 内置 LLM(您配置的任意 OpenAI 兼容 API)

重要提示:

  • 您的聊天内容会发送到您配置的 LLM 后端
  • 如果您配置的是远程服务,请确保该服务有自己的隐私政策
  • 我们建议使用本地部署的 LLM 服务,或使用 HTTPS 加密的远程服务
  • API Key 仅存储在您的本地配置文件(或系统钥匙串)中,不会发送给我们
  • 默认后端地址均为 127.0.0.1(仅本机可访问);如改为远程地址,对 Resolve Studio 与 Spring Harness 的请求会自动附加存储在系统钥匙串中的 Token 作为 Bearer 认证(若已配置)

3.2 网络请求

Sprite 只会向以下地址发起网络请求:

  • 您配置的 LLM 后端服务
  • 快捷方式中您点击的网址(通过系统浏览器打开)

Sprite 不会向任何第三方服务器发送数据。


四、权限说明

Sprite 需要以下 macOS 权限:

权限 用途 是否必需
剪贴板读取 实现剪贴板历史功能 可选(可关闭)
剪贴板写入 复制密码箱内容到剪贴板 必需
辅助功能(Accessibility) 全局热键、窗口拖动 可选
网络访问 与 LLM 后端通信 必需

4.1 剪贴板权限

  • Sprite 每 1 秒轮询一次剪贴板,用于实现剪贴板历史功能
  • 敏感信息自动过滤:自动检测并跳过信用卡号、身份证号、手机号、API Key、Token、私钥等敏感信息
  • 剪贴板历史仅存储在内存中,应用关闭后立即清除
  • 您可以在设置中关闭剪贴板历史功能

4.2 全局热键

  • Sprite 注册的全局热键仅在按下特定组合时触发
  • 不会记录您的其他键盘输入
  • 您可以在设置中查看和修改热键配置

五、安全措施

5.1 密码箱加密

  • 使用 AES-GCM 256位 加密
  • 使用 PBKDF2 派生密钥(100,000 次迭代)
  • 加密密钥首次运行时随机生成,存储在 localStorage 中
  • 每条数据使用独立的随机盐值和 IV(初始化向量)
  • 支持旧版本数据的向后兼容解密

5.2 私有配置保护

  • .env、launchers.local.json、prompts.local.json 默认在 .gitignore 中
  • settings.json 与应用写入的数据文件在保存时显式设置权限 600(仅所有者可读写),history/ 目录权限 700(仅所有者可读写执行)
  • 公开/私有配置分离,您可以自由选择哪些配置提交到 git

5.3 敏感信息保护

  • 锁屏密码与密码箱主密码不存储明文:保存时以 PBKDF2(100,000 次迭代 + 随机盐)哈希后写入 settings.json,校验时对输入做同样的哈希后比对
  • 启用"系统钥匙串存储"后,API Key 保存到 macOS Keychain,settings.json 中不再重复落盘明文 Key(加载时自动回填)
  • 剪贴板历史自动过滤敏感信息
  • API Key 在 UI 中默认以密码形式显示(••••••••)
  • 密码箱内容点击后才复制到剪贴板,并有 3 秒自动清除窗口

六、您的权利

6.1 数据访问

您可以随时访问您的所有数据:

  • 配置文件:~/Library/Application Support/cn.erishen.sprite/
  • localStorage:通过开发者工具查看

6.2 数据导出

  • 快捷方式配置:直接复制 JSON 文件
  • 密码箱:在设置页面可以查看和导出
  • 聊天记录:在聊天窗口中可以复制

6.3 数据删除

您可以随时删除您的数据:

  • 清除剪贴板历史:点击剪贴板按钮 → 清空
  • 清除密码箱:在密码箱管理页面删除条目
  • 重置所有设置:删除 ~/Library/Application Support/cn.erishen.sprite/ 目录
  • 完全卸载:将应用拖到废纸篓,并删除上述配置目录

七、儿童隐私

Sprite 不面向 13 岁以下儿童设计,也不会故意收集儿童的个人信息。


八、政策更新

我们可能会不时更新本隐私政策。更新后的政策将在应用内和 GitHub 仓库中公布,重大变更会通过应用通知提醒您。


九、联系我们

如果您对本隐私政策有任何疑问、意见或建议,请通过以下方式联系我们:


十、免责声明

Sprite 是开源免费软件,按"原样"提供,不提供任何明示或暗示的担保。使用本软件产生的任何风险由您自行承担。

虽然我们采取了合理的安全措施,但没有任何系统是 100% 安全的。对于因使用本软件导致的任何数据泄露或损失,我们不承担责任。


感谢您使用 Sprite! 🎉

您的隐私对我们很重要。如果您发现任何安全漏洞或隐私问题,请及时联系我们,我们会尽快修复。