Reading Pal — 隐私政策

生效日期:2026-05-23


1. 简介

Reading Pal 是一款阅读记录与番茄钟计时应用,由 林承威(Darren Lin)(个人开发者,台湾)运营。本政策说明您在使用 Reading Pal 时,我们收集哪些个人信息、收集目的、向谁共享,以及您可行使的相关权利。

本政策适用于 Reading Pal 移动应用及其后端 API。不适用于您所关联的第三方服务(如 Google)——此类服务由其各自的隐私政策规范。


2. 我们收集的信息

(a) 账号信息

字段 来源 目的
电子邮件地址 您(注册时)或 Google OAuth 账号识别、登录、账号找回
显示名称 您或 Google OAuth 在应用内显示
头像 URL Google OAuth(如适用) 个人头像
密码哈希值(bcrypt) 您(仅限邮箱+密码注册) 身份验证——我们从不存储或查看您的明文密码
语言与时区 注册时设置 界面本地化;确保通知在正确时间送达

(b) 验证令牌

(c) 阅读活动

(d) 设备信息

字段 目的
匿名设备 ID(设备端生成的 UUID) 将推送令牌与使用片段关联至特定设备,且不关联至手机硬件标识符或 IMEI
FCM 推送令牌(Firebase 云消息) 向您的设备发送推送通知
应用版本与操作系统版本 崩溃诊断;兼容性检查

(e) 服务器日志

每次对后端的请求均记录以下信息:

我们在生产环境不记录请求体。

(f) 审计日志

我们仅针对以下四种事件类型维护审计日志:deletion_requesteddeletion_cancelleddeletion_executedexport_requested。每条事件记录以下信息:

这些记录在您的账号删除后仍予保留,并于执行后保存 6 个月,以证明我们已履行您的请求。记录中不包含任何书籍笔记或阅读内容。账号永久删除后,留存记录不含任何个人身份信息——仅有事件类型、时间戳与数字型 ID。

(g) 崩溃与错误报告(通过 Sentry)

当应用崩溃或后端发生错误时,我们发送至 Sentry 的报告包含:

我们不发送:您的电子邮件地址、显示名称、IP 地址、请求体、Cookie、刷新令牌,或任何自由文本笔记内容。

Sentry 保留这些报告 7 天(免费版默认值)。Sentry 数据托管于欧盟地区de.sentry.io)。详见第 4 节。

(h) 设置与偏好

(i) 游戏化数据


3. 我们如何使用您的信息

目的 使用的信息
提供服务——跨设备同步书库、记录阅读片段、计算阅读统计数据 第 2(a)、2(c)、2(h)、2(i) 节
身份验证与账号安全(令牌轮换、会话失效) 第 2(a)、2(b)、2(d) 节
推送通知(各类型严格采用户主动开启制——详见第 10 节) 第 2(d) 节 FCM 推送令牌
崩溃诊断与服务稳定性 第 2(g) 节
安全防护——依 IP 与设备的限流、身份验证流程的欺诈检测、防范撞库攻击 第 2(d)、2(e) 节
证明已履行删除/导出请求 第 2(f) 节

计划中的未来用途——应用内广告: 待 Reading Pal 正式上线并稳定运营后,我们计划引入 Google AdMob 广告。届时,本政策将于生效前 30 天更新。提供给 AdMob 的信息仅限于 Android 广告 ID 及情境式数据(例如应用类别)。我们不会将您的账号信息、电子邮件、显示名称或阅读内容提供给广告商。


4. 信息访问方(次处理方)

提供方 角色 共享信息 地区
Google(OAuth) Google 登录 标准 OpenID Connect 声明(sub、email、name、picture) 全球
Google Firebase 云消息(FCM) 推送通知投递 FCM 注册令牌;推送通知标题与内容 全球
Google Play 应用分发与授权 标准安装元数据(不含阅读数据) 全球
Sentry(Functional Software, Inc.,美国;数据托管于欧盟) 崩溃与错误监控 详见第 2(g) 节——堆栈跟踪、数字型用户 ID、版本、路径 欧盟
Apple / APNs iOS 推送投递(仅于 iOS 版本上线后适用——目前为 Android 专用) APNs 设备令牌+推送载荷 全球
(未来)Google AdMob 应用内广告 Android 广告 ID + 情境式数据 全球

我们从不将个人信息出售给任何第三方。


5. 个人信息的跨境传输

您的所有账号、书库及阅读数据均存储于 DigitalOcean 法兰克福(德国,欧盟)数据中心(区域:FRA1)。欧盟用户的数据不会离开欧盟境内。

Sentry 崩溃报告同样使用 Sentry 的欧盟地区(de.sentry.io)。

部分次处理方(Google、AdMob)在全球范围内运营,可能依其自身隐私条款在不同地区间传输数据以维持服务可靠性。


6. 您的权利

您可在应用内直接行使大多数权利,无需发送电子邮件。

权利 行使方式
查阅 设置 → 账号 → "导出我的数据"——生成完整 JSON 导出文件,通常数分钟内即可获取;大型书库最长可能需 24 小时
更正 设置 → 个人资料——直接编辑显示名称及其他个人资料字段
删除 设置 → 账号 → "删除账号"——启动 30 天宽限期。在此期间重新登录即可取消。30 天后,您的所有个人信息将从数据库中永久删除(审计日志依第 2(f) 节另行保留 6 个月)。
可携性 与查阅权相同的 JSON 导出
限制处理 请发送电子邮件(第 12 节)
拒绝营销 设置 → 通知 → "营销推送"——关闭(默认值即为关闭)

欧盟/欧洲经济区用户: 您亦有权向所在国家的监管机构(如各国数据保护机构)提出投诉。

台湾用户: 相关权利依据《个人资料保护法》行使。

我们将于收到请求后 30 天内予以回应。


7. 儿童

Reading Pal 并非面向 13 岁以下儿童设计。我们不会在知情情况下收集未满 13 岁用户的个人信息。如您认为有儿童创建了账号,请发送电子邮件至 tn08869679@gmail.com,我们将删除该账号。


8. Cookie 与追踪标识符

Reading Pal 是移动应用,不使用网页 Cookie。我们使用以下标识符:

标识符 类型 目的 可重置?
设备 ID 首次启动时在本地生成的匿名 UUID 会话与推送路由——不关联至硬件标识符 是——卸载后重装即生成新标识符
FCM 令牌 由 Firebase 分配 推送通知投递 是——Firebase 会定期刷新;退出登录时亦会清除
Android 广告 ID Google(未来,仅限启用 AdMob 时) 广告定向 是——设置 → Google → 广告 → 重置广告 ID

9. 数据保留期限

数据类别 保留期限
账号、书库、阅读片段、设置、成就、积分 使用期间保留;删除账号后进入 30 天宽限期,期满后永久删除
审计日志(删除/导出事件记录——不含个人阅读内容) 事件类型+时间戳+数字型用户 ID 于执行后保留 6 个月;IP、设备 ID 与用户填写的原因在账号永久删除时设为 NULL
服务器访问日志(IP 地址、请求元数据) 30 天,到期后自动轮换清除
崩溃报告(Sentry) 7 天(Sentry 免费版默认值)
刷新令牌记录 至令牌过期或明确撤销为止

10. 营销通讯

营销推送通知默认为关闭。您可主动开启:设置 → 通知 → "营销推送"。您可随时在同一位置关闭。

我们不发送营销电子邮件。


11. 本政策的变更

重大变更(新增信息类别、新增次处理方、扩大现有信息用途)将通过应用内横幅,于生效前 30 天公告。更新版本将标注日期。

轻微修订(错别字修正、不影响您权利的说明澄清)将立即生效,不另行事先通知。

预先披露的未来变更:


12. 联系方式

如有隐私相关问题、投诉,或应用内无法处理的删除/查阅请求:

我们致力于在 30 天内回应。


13. 生效日期与版本历史

版本 日期 摘要
1.0 2026-05-23 初始版本