隐私与安全

密钥存于设备安全存储,会话仅本地,提示词只发往你选择的服务商,无遥测,一键清除所有本地边界。

Cordy for Mobile 的设计确保你的密钥与对话归你所有。这里没有 Cordy 后端:应用从你的设备直接与你选择的服务商通信。本页是完整的数据处理说明,并附一段诚实的平台状态说明。

原则

  1. 没有后端。 Cordy 不运营任何服务器。你所输入的一切都不会被发送到、存储于或经由 Cordy 中转。
  2. 本地优先。 会话与设置存在设备上;API 密钥存在平台安全存储中。
  3. 直连服务商。 提示词仅通过 HTTPS 发往你所选的服务商,并携带你的密钥作为请求的 Authorization 头。
  4. 无账号、无同步、无遥测。 你从不登录,没有任何内容被镜像到服务器,也没有分析或载荷采集。
  5. 可抹除。 一个操作即可清除应用拥有的每一处本地边界。

数据流

当你发送一条消息时:

你 → CordyAI(设备上) → 你选择的服务商

这就是全部路径。服务商收到你的提示词(并在隐私政策与数据留存条款下处理——建议为你所用的服务商阅读相关条款)。Cordy 不是该请求的一方。

你的数据存放在哪里

数据位置说明
API 密钥Android 密钥库 / iOS 钥匙串加密、绑定设备、按服务商。绝不入库或记日志。
会话与消息设备端 SQLDelight(SQLite)数据库除了你发送的提示词内容外,绝不离开设备。
附件(图片)设备端文件存储,由消息引用当其消息/会话被删除时释放。
设置与偏好设备端应用偏好非敏感(当前服务商/模型、温度等)。
模型目录与价格缓存设备端数据库按服务商拉取;可安全清除/刷新。

密钥存储详解

API 密钥获得各平台所能提供的最强本地保护:

  • Android——由 Android 密钥库 持有的密钥对每个值执行 AES-256-GCM 加密,以 Base64(IV ‖ 密文 ‖ GCM 标签) 形式存于私有偏好文件。若密钥库密钥被永久失效(例如因设备恢复或锁屏重置),受影响的值会被丢弃,而不会返回损坏数据。旧版 EncryptedSharedPreferences 写入的值会在首次读取时透明迁移到此方案。
  • iOS——钥匙串,以 AfterFirstUnlockThisDeviceOnly 可访问性存储。这使每把密钥绑定设备且不可同步:排除在 iCloud 钥匙串与加密备份之外,仅在首次解锁后可用。

密钥按服务商隔离,每个服务商各有独立条目。保存空密钥等同于删除。

什么会离开设备,什么不会

  • 会离开: 你发送消息的提示词内容,发往你选择的服务商,外加该请求鉴权头中的密钥。
  • 不会离开: 你的会话历史、静态存储的密钥、你的设置、你的用量分析。没有账号、没有云端同步,服务器上没有任何内容的副本。

日志

Cordy 不采集分析或遥测。在发行版本中,日志级别受限,可能携带提示词或请求细节的 verbose/debug/info 日志绝不会输出到设备控制台。界面上展示的错误信息刻意保持安全:绝不显示服务商原始响应体、API 密钥或鉴权头。

一键清除

设置 → 清除全部本地数据 会抹除应用拥有的每一处本地边界。确认对话框措辞明确:“这将永久删除本设备上的每一次本地会话、每一项偏好与每一把 API 密钥。此操作无法撤销。”

清除会依次抹除:

边界移除的内容
数据库会话、消息与生成记录(以及用户自定义服务商与模型目录)
偏好整个偏好存储
安全存储全部已存 API 密钥
附件图片附件文件
图片缓存平台图片内存 + 磁盘缓存
临时文件相机 / 采集临时文件

清除会尝试每一处边界,即使某处失败(这样被锁定的钥匙串也不会让数据库仍留有会话),收集所有失败项,随后校验应用是否确已清空。若任何部分未能清除,它会如实报告。

清除不会触及:应用二进制、操作系统级备份,以及 CordyAI 自身存储之外的任何内容。它只移除应用自身持久化的数据。

应用内说明

Cordy 不仅在本文档中、也在应用内声明其数据流。设置包含隐私与数据流区域:“会话保留在本设备上。API 密钥使用安全存储。本版本没有云端同步、账号或分析。”当选中某个服务商时,还会显示“发送时你的提示词会发往*(服务商)*。CordyAI 不会把它们发往任何其他地方。”

诚实的平台说明

Android 是已完整验证的平台。 上述安全模型已在 Android 上实现并测试。

iOS 仍在推进中。 基于钥匙串的密钥存储与隐私设计已在共享/iOS 代码中实现,并可对 iOS 端编译,但尚未在真机上冒烟测试,且移动端采集(图片 / 相机 / 语音)在 iOS 上尚未接入。在 iOS 真机验证完成之前,请将 iOS 版本视为预览质量,并以 Android 作为完整验证的体验。