隐私政策

kAIboard — 最后更新: 2026年3月26日 — 版本: 3.0

1. 数据控制者

姓名:Alessandro Faedda

电子邮件: support@kaiboard.eu

网站: kaiboard.eu

类型:自然人(独立开发者)

Alessandro Faedda 是通过 kAIboard 应用收集的个人数据的数据控制者。

2. 我们收集哪些数据

kAIboard 遵循数据最小化原则进行设计。我们仅收集应用正常运行所必需的数据。

2.1 自动收集的数据

数据 类型 目的 法律依据
设备数组 标识符列表(例如 ["android_e19d6c...", "android_175be4..."]) 在使用相同 Google Play 账户的多台设备间同步订阅和 Token 余额 合同履行(GDPR 第 6.1(b) 条)
当前 Token 用量 整数 (current_usage) 追踪所有设备间的共享月度消耗 合同履行(GDPR 第 6.1(b) 条)
购买历史记录 产品 ID、购买日期、订单 ID 验证购买并防止欺诈 合同履行(GDPR 第 6.1(b) 条)
待翻译文本 文本内容 实时翻译 合同履行(GDPR 第 6.1(b) 条)

多设备同步

如果您在多台设备上使用 kAIboard 并登录相同的 Google Play 账户

多设备保存的数据:

隐私说明:devices 数组仅包含经过假名化处理的 Android ID(例如 "android_abc123...")。我们不收集电话号码、IMEI 或其他个人标识符。

2.1.1 月度订阅数据

如果您订阅了月度订阅(例如包含 250,000 Token/月的 PLUS 方案),我们会保存以下额外数据:

数据 类型 目的 法律依据
订阅方案 字符串(例如 "plus"、"pro"、"max") 识别活跃方案并应用正确的 Token 限额 合同履行(GDPR 第 6.1(b) 条)
每月 Token 限额 整数(例如 250000、500000、1000000) 应用订阅包含的最大 Token 上限 合同履行(GDPR 第 6.1(b) 条)
当前 Token 用量 整数 追踪共享的月度消耗并执行限额 合同履行(GDPR 第 6.1(b) 条)
每月重置日期 ISO 日期(例如 "2026-02-01") 每月自动重置用量 合同履行(GDPR 第 6.1(b) 条)
Google Play 产品 ID 字符串(例如 "abbonamento_mensile_2500") 通过 Google Play Billing API 验证订阅有效性 合同履行(GDPR 第 6.1(b) 条)
自动续订状态 布尔值 验证订阅是否将自动续订 合同履行(GDPR 第 6.1(b) 条)
订阅购买日期 时间戳 管理计费周期和争议处理 合同履行(GDPR 第 6.1(b) 条)
订阅到期日期 ISO 8601 时间戳(例如 "2026-02-28T14:30:00Z") 管理取消后的宽限期(订阅在此日期前保持有效) 合同履行(GDPR 第 6.1(b) 条)
"不再续订"标记 布尔值 (will_not_renew) 标识订阅已取消但在到期前仍然有效 合同履行(GDPR 第 6.1(b) 条)
取消日期 时间戳 (cancelled_at) 追踪用户取消订阅的时间 合同履行(GDPR 第 6.1(b) 条)
🔄 每月自动重置:Token 用量计数器会在您的订阅续订日期(自购买之日起每 30 天)自动归零。即使应用处于关闭状态或数周未使用,重置也会通过计划在凌晨 3:00 运行的后台自动任务完成。月度限额无需手动操作即可恢复。
⚠️ 重要提示 - 取消订阅:如果您取消订阅,与订阅相关的数据将保留至当前计费周期结束(GDPR 第 6.1(b) 条 - 合同履行)。到期后,您可以通过隐私设置界面删除所有云端数据。

2.1.2 宽限期

📅 订阅已取消但仍然有效

如果您通过 Google Play 取消订阅,高级服务将在已付费周期结束前保持有效

示例:

  • 您于 2026 年 1 月 15 日购买 PLUS 订阅
  • 您于 2026 年 1 月 20 日取消订阅
  • ✅ 高级服务在 2026 年 2 月 15 日前保持有效(已付费)
  • ✅ 月度 Token 在到期前均可使用
  • ❌ 订阅不会自动续订

宽限期内保存的数据:

  • subscription_end:您有权享受服务的确切截止日期
  • will_not_renew:表示"已取消但仍有效"的标记
  • cancelled_at:取消操作的时间戳
  • monthly_limit:在到期前保留的 Token 限额

宽限期结束时:

  1. 高级功能自动停用
  2. 订阅数据转入历史记录 (user_subscriptions_history)
  3. 活跃文档 (user_subscriptions) 被删除
  4. 您可以通过"删除云端数据"删除历史记录
⚠️ 警告 - 宽限期内重新安装或更换设备:

订阅有效(未取消)时:如果您卸载并重新安装应用,或者使用同一Google账户在新设备或多个设备上安装应用,订阅和代币余额将自动同步。您无需执行任何操作——首次启动时系统将自动恢复。

订阅已取消(宽限期内)时:如果您在同一设备上重新安装应用,系统将通过Firebase找到您的订阅和代币余额,并自动恢复,即使在宽限期内也是如此。在使用同一账户且之前已安装过该应用的其他设备上,如果该设备已在系统中注册,恢复也应自动完成。

重要提示:如果在宽限期内,您在一台从未使用过您的账户安装kAIboard的全新设备上安装应用,由于该新设备尚未在系统中注册,出于安全原因,剩余天数和代币余额可能无法恢复。同样,如果您在宽限期内删除应用的云端数据,删除将立即生效,届时您将永久失去剩余期限和代币余额。

2.1.3 订阅历史记录

当订阅到期或被删除时,我们会将数据转移到历史记录文档中,以符合 GDPR 合规和审计要求。

数据 类型 目的 保留期限
订阅历史记录 user_subscriptions_history/{purchaseToken} 中的对象数组 购买可追溯性、审计轨迹、GDPR 合规 到期后 90 天
每条记录的数据 方案、已用/限额 Token、开始/结束/取消日期、取消原因、设备 审计、用户支持、退款管理 到期后 90 天
🔒 多设备合并:历史记录按 purchaseToken 合并,而非按设备合并。同一订阅的所有续订和修改都归入单一文档,与使用的设备数量无关。
⚠️ 删除历史记录:您可以随时通过"删除云端数据"删除历史记录。删除是永久性的,包括:
  • ✅ 活跃文档 (user_subscriptions/{purchaseToken})
  • ✅ 历史记录文档 (user_subscriptions_history/{purchaseToken})
  • ✅ 管理操作日志 (admin_activity_logs/{device_id})
  • ✅ GDPR 合规:通过 purchaseToken 搜索,以 devices 数组为备选

2.1.4 管理操作日志

为确保可追溯性并在争议情况下提供支持,我们保存与订阅相关的主要操作记录。

数据 类型 目的 保留期限
管理操作日志 admin_activity_logs/{device_id} 中的事件数组
  • 用户支持的审计轨迹
  • Google Play 争议解决(60 天内)
  • 防欺诈和计费争议处理
  • 宽限期和自动续订管理
最后修改后 90 天
记录的事件
  • 订阅购买
  • 订阅取消
  • 订阅到期
  • 自动续订
  • 方案变更
追踪修改历史以供审计和支持 最后修改后 90 天
每个事件的详细信息 时间戳、操作、原因、方案、操作详情 在争议情况下重建事件时间线所需的信息 最后修改后 90 天
⚠️ 重要提示 - 操作日志:操作日志仅包含运营元数据(何时、何事、为何)。不包含任何敏感个人数据。日志在最后修改后 90 天自动删除,可通过"删除云端数据"访问和删除。
🔒 法律依据:合法利益(GDPR 第 6.1(f) 条)——必要用于:
  • 60 天内的争议管理(Google Play 要求)
  • 技术支持和问题解决
  • 计费系统的防欺诈
  • 运营合规的审计轨迹

对用户权利的影响已最小化,因为:

  • ✅ 数据经过假名化处理(无直接个人标识符)
  • ✅ 保留期限限定为 90 天
  • ✅ 通过后台清理任务每 24 小时自动删除
  • ✅ 可通过"删除云端数据"手动删除

2.2 仅存储在本地的数据(设备上)

以下数据绝不会发送到外部服务器

📌 性能缓存:为避免在切换对话时出现延迟,kAIboard 会记录您与最常联系人(约 25-30 位)使用的语言。此缓存保留在您的设备上,占用空间不到 1 MB。缓存保留至卸载应用或通过"删除所有本地数据"按钮手动删除。这种较长的保留时间是为了确保流畅的使用体验,避免每次切换聊天时出现 1-3 秒的延迟。
⚠️ 重要提示:kAIboard 访问您的通讯录仅用于在语言管理界面中显示联系人姓名,以及通过电话号码的国际区号确定语言。电话号码和联系人姓名绝不会发送到我们的服务器。

2.3 我们不收集的数据

kAIboard 不收集

3. 我们如何使用您的数据

3.1 实时翻译

当您使用翻译功能时:

  1. 您输入的文本被发送至我们的 Cloudflare Worker 服务器(安全中转)
  2. Worker 将文本转发至 OpenAI 进行翻译
  3. 翻译结果返回至应用
  4. ⚠️ 重要提示:文本绝不会保存在我们的服务器或 OpenAI 上(仅在内存中中转)

3.1.1 设备端翻译(ML Kit)

kAIboard 还提供完全在设备上进行的翻译模式,无需互联网连接:

您可以在应用设置中的设备端翻译包界面管理语言包(下载和删除)。

3.2 备份与订阅同步

订阅数据保存在 Firebase(Google Cloud)上,以便您:

⚠️ Google 账户要求:多设备订阅同步仅在所有设备使用购买时的同一 Google Play 账户时有效。此限制由 Google Play Billing API 出于安全和防欺诈目的施加。如果您更换 Google 账户,需要在新账户上重新购买订阅。

3.3 订阅防欺诈保护

🔒 防欺诈保护的工作原理

kAIboard 使用基于共享计数器的保护系统,确保所有设备间的 Token 消耗完整性。

工作原理:

每个订阅关联到一个唯一的 Firestore 文档,以 Google Play 的 purchaseToken 为标识。使用相同 Google 账户的所有设备对同一文档进行读写,确保共享且唯一的用量计数器。

实际运行方式:

  1. 设备 A 购买 PLUS 订阅(250,000 Token/月)→ 创建 Firestore 文档 ✅
  2. 设备 B(相同 Google Play 账户)打开应用 → 检测到相同订阅,连接至同一文档 ✅
  3. 设备 A 使用 1,000 个 Token → Firestore 上的 current_usage 变为 1,000
  4. 设备 B 实时接收更新 → 显示 249,000 个可用 Token ✅
  5. 两台设备可同时保持活跃,无需使任何设备失效 ✅

安全性保障:

防欺诈保护保存的数据:

法律依据:合同履行(GDPR 第 6.1(b) 条)——共享计数器是所购订阅服务的组成部分,是在所有设备上正确执行月度限额所必需的。

💡 备注:与其他将使用限制在单台设备上的系统不同,kAIboard 允许您使用相同的 Google Play 账户在所有设备上同时使用订阅。唯一的限制是您的方案所规定的每月总消耗量。

3.4 购买验证

购买历史记录用于:

4. 我们将数据发送到哪里

4.1 第三方服务

服务 发送的数据 目的 服务器位置
Firebase (Google) 匿名 ID、Token 余额、购买历史记录、订阅数据、操作日志 备份、同步、审计轨迹 欧盟(欧洲服务器)
Cloudflare Worker 待翻译文本(仅中转) 翻译的安全中转 欧盟(欧洲服务器)
OpenAI 待翻译文本(仅中转) 翻译处理 美国(使用标准合同条款)
Google Play Billing 订单 ID、购买的产品 应用内购买管理 欧盟(Google 服务器)

4.2 欧盟境外传输

待翻译文本被发送至 OpenAI(美国)进行处理。传输基于:

⚠️ 重要提示:kAIboard 通过 API 使用 OpenAI 作为翻译服务提供商。尽管 OpenAI 公开声明不将 API 数据用于训练,但我们与 OpenAI 之间没有正式的数据处理协议 (DPA)。建议您避免翻译高度敏感的信息(健康、财务、法律数据)。

参考链接:

5. 我们保留数据多长时间

5.1 自动保留政策

数据类型 保留期限 删除方式
活跃订阅数据 (Firebase) 直到当前计费周期结束 订阅到期后自动删除 + 转入历史记录
订阅历史记录 (Firebase) 订阅到期后 90 天 自动删除 + 通过"删除云端数据"手动删除
操作日志 (admin_activity_logs) 最后修改后 90 天 自动删除(每 24 小时)+ 手动删除
购买历史记录 (Firebase) 购买后 365 天 自动删除 + 手动删除
本地数据(设备) 直到卸载 卸载应用 + 手动删除
联系人-语言缓存(设备) 直到手动删除或卸载 "删除所有本地数据"按钮
N-gram 预测模型(设备) 直到手动删除或卸载 "删除所有本地数据"按钮或从离线模型界面移除
设备端翻译包(ML Kit) 直到手动删除或卸载应用 "删除所有本地数据"按钮或从翻译包界面删除
Hunspell 词典(设备) 直到手动删除或卸载 "删除所有本地数据"按钮
已学习的词汇(预测输入) 14 天(自动衰减) 自动删除 + 手动删除
翻译文本 0 秒(从不保存) 自动(仅在内存中中转)
翻译缓存 (RAM) 直到关闭应用 自动
🗑️ 自动清理:应用每 24 小时自动执行一次清理。超过指定保留期限的数据将自动删除,即使您不再使用该应用。

6. 您的权利 (GDPR)

根据 GDPR,您享有以下权利:

6.1 访问权(GDPR 第 15 条)

您可以请求获取我们保留的关于您的所有数据的副本。订阅数据可直接在应用内查看。

6.2 更正权(GDPR 第 16 条)

您可以更正不准确或不完整的数据,例如修改联系人关联的语言。

6.3 删除权(GDPR 第 17 条)

您可以随时通过应用内的隐私设置界面删除所有数据:

⚠️ 活跃订阅期间的删除限制(GDPR 第 17.3(b) 条):

如果您有活跃的月度订阅,云端数据的删除将暂时被阻止,直到您取消订阅。

原因:与订阅相关的数据(活跃方案、Token 限额、重置日期)是履行现有合同所必需的(GDPR 第 6.1(b) 条)。提前删除将导致:

  • ❌ 已购买的月度服务无法正常运行
  • ❌ Token 限额无法在多台设备间同步
  • ❌ Token 无法在月初自动重置

操作步骤:

  1. 通过 Google Play 商店取消订阅
  2. 等待当前计费周期结束
  3. 通过应用删除云端数据

立即取消:应用会自动跳转到 Google Play 以管理您的订阅。取消后,数据删除功能将立即可用。

宽限期内删除:取消订阅后,即使在已付费的剩余有效期(宽限期)内,您也可以随时删除云端数据。删除立即生效,意味着您永久放弃剩余有效期和当前 Token 余额。此操作不可撤销。

阻止删除的法律依据:GDPR 第 17.3(b) 条——"在数据处理对于履行数据主体所参与的合同是必要的情况下,删除权不适用"。

6.4 数据可携权(GDPR 第 20 条)

您可以通过隐私设置界面中的"导出您的数据 (JSON)"按钮,将数据导出为机器可读的 JSON 格式。文件包括本地数据(偏好设置、学习数据)和云端数据(订阅、历史记录、操作日志)。

6.5 反对权(GDPR 第 21 条)

您可以基于正当理由反对数据处理。您可以随时停用翻译功能、关闭崩溃报告以及撤销通讯录访问权限。

6.6 投诉权

您可以向有管辖权的监管机构提出投诉:

7. 如何行使您的权利

7.1 通过应用(立即生效)

路径:设置 → 隐私与安全

  1. 导出您的数据 (JSON):以机器可读格式完整导出本地和云端数据(第 15 条 + 第 20 条)
  2. 删除云端数据:订阅数据 + 订阅历史记录 + 购买历史记录 + 操作日志(不可撤销 - 如有活跃订阅需先取消)
  3. 删除学习数据:已学习的词汇(13 种语言)
  4. 删除所有本地数据:所有偏好设置、已下载的模型、词典、缓存(应用重启)

7.2 通过电子邮件请求

如需行使其他权利,请发送邮件至:support@kaiboard.eu

我们将在收到请求后 30 天内回复(GDPR 第 12 条)。

8. 数据安全

我们实施技术和组织措施来保护您的数据:

9. 设备标识符与 Android 权限

9.1 使用的设备标识符

kAIboard 使用以下标识符生成匿名设备 ID:

标识符 类型 目的 持久性
Android ID Settings.Secure.ANDROID_ID 生成唯一且稳定的设备 ID 在应用重新安装间保持不变(相同签名密钥)。恢复出厂设置后会改变。
Install Referrer ID Google Play Install Referrer API Android ID 不可用时的备选方案 在重新安装间保持不变(如从 Play 商店安装)
本地 UUID java.util.UUID 最终备选方案(仅用于侧载安装) 不持久(卸载后丢失)
⚠️ 恢复出厂设置:恢复出厂设置后,匿名标识符 (Install ID) 将被重新生成。活跃订阅将在首次启动应用时由 Google Play 自动恢复。本地数据(偏好设置、联系人语言、已学习词汇)将丢失且无法恢复,除非在重置前进行了备份。

⚠️ 隐私说明:Android ID 是设备的唯一标识符。kAIboard 仅用它来生成假名化的匿名 ID(格式:"android_[hash]")。原始 Android ID 绝不会发送到我们的服务器或第三方。

9.2 应用权限

权限 目的 是否必需
通讯录 为每位联系人分配语言以自动切换键盘 ❌ 否(可选)
无障碍服务 检测当前活跃的聊天应用以自动切换语言 ❌ 否(可选)
通知 在锁屏快捷回复中使用正确语言 ❌ 否(可选)
麦克风 语音输入(仅在按下麦克风按钮时录音) ❌ 否(可选)
互联网 实时翻译和云端备份 ✅ 是(翻译功能需要)
⚠️ 安全说明:Android 系统对所有第三方键盘显示的安全警告是标准提示,并不意味着 kAIboard 会读取或保存您的消息。您可以查阅源代码或联系我们获取更多信息。

10. 崩溃报告(可选)

kAIboard 可以向 Firebase Crashlytics 发送匿名崩溃报告,但仅在您明确开启此选项后才会发送。

崩溃报告包含的内容:

崩溃报告不包含的内容:

法律依据:明确同意(GDPR 第 6.1(a) 条)

如何关闭:设置 → 崩溃报告(可选)→ 关闭。关闭后将停止未来的发送,并删除设备上尚未发送的报告。已发送至 Firebase 的报告保留在后端,无法从手机上删除。

11. 未成年人

kAIboard 不面向 13 岁以下的儿童。我们不会有意收集未成年人的数据。如果您是家长并发现您的孩子提供了数据,请联系我们进行删除。

12. 隐私政策变更

我们可能会不定期更新本隐私政策。如有重大变更,我们将通过以下方式通知您:

变更后继续使用应用即表示接受新的隐私政策。

13. 数据处理的法律依据

我们处理您的数据基于以下法律依据:

📋 合法利益评估(GDPR 第 6.1(f) 条):

管理操作日志的必要性在于:

  • ✅ 60 天内的争议管理(Google Play 要求)
  • ✅ 技术支持和问题解决
  • ✅ 计费系统的防欺诈

对用户权利的影响已最小化,因为:

  • ✅ 用户可通过"删除云端数据"删除日志
  • ✅ 系统仅使用假名化数据(无直接个人数据)
  • ✅ 逻辑透明并在本隐私政策中有完整记录
  • ✅ 保留期限限定为 90 天,到期自动删除