版本适用范围:正在等待 App Review 审核的 1.2.3 包含使用 Apple 独立系统跟踪权限的可选 iOS 广告测量,以及 Stillkeen Premium 月付、年付和终身买断选项。这些能力仅在已安装版本及 App Store 结账页实际提供时适用,本页不是相关功能已经发布的声明。本政策也覆盖受同意设置控制的 Firebase 诊断、Premium 购买与恢复、更深入的表现洞察、iOS 加密备份,以及可选视觉记忆挑战本期榜单。
1. 摘要
iOS 广告跟踪是独立、可拒绝的选择。Google 和 Meta 的广告标识符及跨公司测量要求当前分析同意与 Apple App Tracking Transparency 授权同时有效。拒绝跟踪不会限制训练或购买。
- 计划、训练记录、结果、设置和个人最佳保存在你的设备上。
- Stillkeen 不提供账号、应用内广告或社交信息流。可选成绩排名使用系统生成的显示名,并且只保留本期排名记录。
- 本地提醒是可选功能,由操作系统安排。
- Stillkeen Premium 通过 RevenueCat 和 App Store 处理可选购买、恢复、商品和权益状态。
- iOS 备份为可选功能,由你主动通过文件导出/导入或 App 私有 iCloud 备份开始,备份内容会加密。
- Firebase 分析、崩溃报告传输、性能监控和可选 Meta 测量在首次启动的法律确认前保持关闭。
- 标准地区在接受用户协议和隐私政策后会开启分析,你仍可在设置中关闭。欧洲经济区、英国和瑞士会显示默认关闭的独立分析开关。地区尚未识别时,分析保持暂停。支持延迟地区确认的版本可在设置中取消待确认偏好;自动开启分析必须先确认属于标准地区。
- Crashlytics 自动上传始终关闭;当前同意只允许 Stillkeen 主动发送符合条件的崩溃报告。关闭训练使用分析会停止 Dart 错误转发和性能收集,并要求 Crashlytics 删除符合条件的未上传报告。本地群组记账信息会继续留在设备上,直到你使用“重置所有数据”;重置还会请求服务商重置其支持的标识。两者都不会删除服务商已有的服务端记录。
2. 保存在设备上的数据
Stillkeen 只保存提供训练流程所需的本地状态:
- 语言、所选训练目标、无障碍和反馈设置;
- 每日计划定义、完成状态、难度偏好与教学状态;
- 有效时长、准确率、错误、暂停状态和练习专属结果字段等训练摘要;
- 由本地记录计算出的个人最佳、训练连续性和周进度;
- 可选提醒偏好、本地提醒时间、时区和权限请求状态;
- 分析偏好,以及只用于粗粒度激活日和计划开始记账的 App 自有本地安装标记;
- 可选 Premium 计划、引导课程、分析、购买访问和备份状态;
- 用于可选成绩排名的系统生成显示名,以及用于为每个排名周期派生不同参与 ID 的本地随机密钥。
本地还保存徽章领取确认和最多三枚展示选择。徽章资格从已保存的完成记录计算;这些偏好会包含在加密备份中,并随“重置所有数据”清除。
Stillkeen 不提供账号,也不会出售本地训练历史。在 iOS 上,你可以选择导出加密备份文件,或在 Stillkeen 的 App 私有 iCloud 容器中保存一份加密备份。备份以加密形式包含你的本地 Stillkeen 数据库;备份密钥保存在 iOS Keychain 中,并可能在你启用 iCloud Keychain 时通过 Apple 账号同步。
3. 应用测量、诊断与训练使用分析
Stillkeen 使用 Firebase Analytics、Firebase Crashlytics 和 Firebase Performance Monitoring,并可能在已配置的版本中使用 Meta 应用事件测量。原生分析与性能收集、Crashlytics 自动上传和同意默认值在首次启动的法律确认前保持关闭。标准地区在接受用户协议和隐私政策后会开启测量与诊断传输,你仍可在设置中关闭。在欧洲经济区、英国和瑞士,页面会显示默认关闭的独立训练使用分析开关。地区无法识别时,收集保持关闭。支持延迟确认的版本会说明有条件的地区默认偏好:接受协议后,App 可以在非训练期间静默重试,仅确认当地无需单独同意时才开启分析。你可在设置中取消待确认偏好。确认属于严格地区时仍保持关闭,除非你另行接受可选的分析同意。重试不会覆盖已有的拒绝选择。分析开启后,iOS 可能另行请求跟踪权限,你可以拒绝。旧版说明下的选择需要重新确认后才会恢复收集。关闭分析后,训练、提醒、进度和分享仍可正常使用。再次开启不会让 Stillkeen 主动补传此前的行为。
Firebase 可能使用可重置的应用实例标识和可用的平台测量标识符,记录标准应用与会话事件,衡量安装和投放效果,处理常规应用、设备、平台、语言和网络元数据,并根据连接数据推断国家或城市等大致位置。在 iOS 上,广告存储和广告用户数据只有在当前分析同意与 Apple 系统跟踪授权同时有效时才启用。Google 的广告个性化同意仍保持拒绝;Android 的广告用途同意保持拒绝。Google 端侧转化测量可使用去标识化的临时 App 事件数据,衡量符合条件的安装和应用内转化,不要求提供邮箱或手机号。Google 可能通过全球基础设施处理和存储信息;Analytics 报告位置并不构成数据驻留保证。开启训练使用分析时,Stillkeen 只会额外发送以下受限自定义事件类别:
| App 环境 | App 版本、构建号、平台、支持语言和同意政策版本。 |
|---|---|
| 训练环境 | 所选目标、计划类型与课程日、练习键、规则/生成器版本、难度、无障碍变体和训练来源。 |
| 粗粒度结果 | 完成或中止状态、是否暂停、时长/准确率/错误次数区间和受限中止原因。不发送精确时长或反应时间。 |
| 留存环境 | 从 0 到 30 的整日激活天数,之后统一为 31_plus。不发送日期、时区或 UTC 偏移。 |
| 功能操作 | 提醒邀请、提醒打开、权限结果、每日训练板打开、Arena 打开/开局/提交/榜单查看、分享预览/调用的素材类型和比例,以及受限设置变化。不发送提醒时间、通知文案、训练板日期或种子、Arena 参与 ID、显示名、签名 token、答案、作答间隔、成绩、名次、榜单规模、分享内容或目标 App 到 Firebase Analytics。 |
| Premium 操作 | 商品页查看、购买或恢复开始/结果、权益状态、Premium 计划使用、引导课程进度和 Premium 表现洞察入口。App 主动发送的事件包含受限的商品 ID、环境、结果、入口、计费周期、已确认可用试用的展示状态与天数,以及观察到的权益阶段;商品页查看和开始购买事件还可能包含商店展示的价格与币种。试用或订阅访问权生效不代表已经扣款。这些事件不包含收据、订单和交易 ID、购买令牌、CustomerInfo 载荷、实际扣款金额、退款详情或商店账号标识。RevenueCat 独立发送的购买报表数据见第 4 节。 |
Crashlytics 自动上传始终关闭。开启此设置时,Stillkeen 会主动发送符合条件的待处理报告,以及新记录的 Flutter 框架致命错误或未捕获异步错误。原生进程崩溃可能由 Crashlytics 暂存在本机,并且只有在下次启动时同意仍有效才会发送;如果启动时同意已关闭,Stillkeen 会要求 Crashlytics 删除它。崩溃报告可能包含堆栈、异常与进程环境,以及 App/构建、设备、操作系统和常规传输元数据。Performance Monitoring 可能收集标准启动、渲染和受支持网络轨迹,包括耗时、网络端点、响应码、载荷大小及相关 App/设备元数据。Stillkeen 不设置 Crashlytics 用户 ID、自定义键、显式自定义日志,也不主动上报非致命错误;Stillkeen 也不添加自定义性能轨迹、指标或属性。Firebase 可能把已启用的 Analytics 事件(包括 Stillkeen 的白名单事件)作为 Crashlytics 面包屑附加到崩溃报告。关闭设置会立即停止 Dart 错误转发、关闭 Performance 收集,并要求 Crashlytics 删除符合条件的未上传报告,但不会删除服务商已经收到的记录。
在 iOS App Store 隐私标签中,这些数据流对应“大致位置”“设备 ID”“产品交互”“其他使用数据”“崩溃数据”“性能数据”“其他诊断数据”和“购买历史”。获得许可后,广告测量可能关联设备标识、App 交互、其他粗粒度使用数据、大致位置和购买信息以进行跟踪;没有账号并不表示这些记录匿名。诊断与 Arena 功能数据不作为广告信号使用。改变服务商数据流的版本需要保持商店隐私信息准确。
Stillkeen 不设置 Firebase 用户 ID,也不会把 App 自有本地安装标记传给 Firebase。App 主动发送的分析事件和诊断附加信息不包含姓名、邮箱、通讯录、自由文本、训练板种子或内容、点击历史、指针位置、提醒时间、医疗数据或儿童数据。Android Advertising ID 收集保持关闭;同意分析后可能使用聚合 AdServices 归因。Firebase 的分析启用时可能使用 iOS IDFV。在支持的 iOS 版本中,Google 和 Meta 只有在当前分析同意与 App Tracking Transparency 授权同时有效时才可能使用 IDFA。Stillkeen 不显示应用内广告,也不启用 Analytics 自动页面上报。SDK 还可能处理其自身的应用和设备标识,以及 IP 地址等传输元数据;自定义事件字段限制不代表 SDK 完整上报载荷。可选成绩排名提交发送到独立的 Arena 服务;Firebase 只接收粗粒度 Arena 操作标签和低基数结果。
Meta 接收安装/会话激活和部分应用活动事件,包括入门步骤、训练开始/完成/退出、计划与课程进度、挑战活动、提醒打开、分享操作、Premium 权益/分析页查看、付费墙查看/关闭及开始结账。普通活动仅携带 App/构建、平台与语言信息;入门事件还可包含流程版本、步骤、流程分组及完成或跳过状态。商品、计费周期、已确认可用试用的展示状态与天数、展示价格/币种仅随付费墙查看和开始结账事件发送。SDK 还可能发送其生成的设备/网络信息。在 iOS 上,激活与事件发送依据当前分析同意进行,不以是否获得 Apple 跟踪授权为前提。未授权时,广告跟踪和广告标识符收集保持关闭,并启用 Meta 面向分析与转化测量的事件数据用途限制。该设置不同于 Meta 的地区性 Limited Data Use(LDU)选项。SKAdNetwork 转化值由 Firebase 独立更新,不由此次 Meta 事件发送设置控制。广告标识符收集及 RevenueCat 匹配桥接则另需实际 ATT 授权。这些信号用于广告测量与优化。Android 保留限制事件数据用途的模式。Meta 自动事件和自动购买记录保持关闭;订阅试用、购买和续费仅由 RevenueCat 上报。此 Meta 事件集成不发送分数或结果区间、准确率、难度、具体训练或课程内容、答案、本地历史导出、设置值、邮箱或手机号。校准进度仅作为入门活动,不计作已完成的正式训练。此次事件范围扩展需重新确认 App 内的分析选择;此前已记录的活动不会补传。
从配置了此功能的 1.2.6 版本起,PostHog(美国区)会在当前分析选择允许时接收产品使用分析,包括固定名称的页面浏览、入门步骤、具体训练项目与难度、训练开始/完成/退出、计划与课程进度、功能操作及 Premium 购买流程结果。服务商专用的匿名安装标识用于跨会话关联这些操作,不与 Firebase、Meta、RevenueCat、广告标识符或账号关联。请求还包含时间、App/构建、平台、语言及常规网络信息。Stillkeen 请求 PostHog 不创建用户画像,也不按 IP 补充位置。另接收保留一位小数的当前 KTI 总分,在已保存总分变化时更新,用于分析使用与转化。除该总分外,不发送分项或单次训练成绩、准确率区间、答案、原始路由标识、自由文本、屏幕录像或自动点击记录。此产品分析遵循当前 App 内分析选择,不以 ATT 授权为前提。关闭分析会清空 App 中待发送的 PostHog 队列;重置本地数据还会更换其匿名标识。这两项操作均不会删除已送达的事件。购买流程结果只表示 App 观察到的状态,不是已验证的扣款或续订收入。旧版分析选择必须重新确认后才会启用此集成。服务商的处理与保留规则见 PostHog 隐私政策。
4. 购买与恢复
Stillkeen Premium 购买、订阅与恢复由 App Store 和 RevenueCat 处理。购买功能可用时,RevenueCat 可能处理匿名 App 用户标识、商品与产品信息、试用资格与期限、购买或恢复状态、订阅到期与续订状态、权益状态、商店环境,以及用于提供购买功能的平台交易信息。Stillkeen 不创建 Stillkeen 账号,也不会向 RevenueCat 传入自定义账号用户 ID。
Stillkeen 会关闭 RevenueCat 自动设备标识收集与诊断。只有在当前分析同意仍然有效时,Stillkeen 才可能把 Firebase 的应用实例标识同步给 RevenueCat,以关联购买报表;撤回同意会请求移除已保存的归因属性。目前启用的 RevenueCat 集成会独立向 Google Analytics 发送已验证的购买事件,包括商品和平台交易标识、购买时间、商店环境、购买金额与币种。当前正式环境报表使用以美元表示的购买总金额,不发送沙盒事件或邮箱。这些服务端购买事件与第 3 节 App 主动发送的事件字段不同;Stillkeen 不会为此向 RevenueCat 提供本地训练历史、精确分数、答案或训练板内容。
在支持此功能的 iOS 版本中,Stillkeen 仅在有效同意分析后启用 Apple AdServices 令牌收集。RevenueCat 可将令牌交给 Apple 换取标准 Apple Ads 广告活动归因信息。此过程不需要 Stillkeen 收集 IDFA。
在支持的 iOS 版本中,RevenueCat 的 Meta 购买集成要求实际 ATT 授权及允许使用的匹配标识。当前分析同意与 ATT 授权同时有效时,Stillkeen 可把 Meta SDK 生成的匿名标识传给 RevenueCat;RevenueCat 再发送包含商品与交易标识、购买时间、金额、币种和服务商匹配信息的已验证购买事件。RevenueCat 自动设备标识收集保持关闭。撤回 App 分析同意会请求移除 Facebook 匹配属性并同步;这不会撤回已送达或已经进入处理流程的事件。购买通过服务端集成计数一次,恢复权益不是新销售。Google Analytics 的购买总金额不会自动扣除退款,退款需要在商店/RevenueCat 报表中单独对账。此集成不包含本地训练历史或答案。
实际提供订阅时,同一受同意控制的服务商集成还可能按其配置报告已验证的试用开始、试用转付费、续订、取消和到期。Stillkeen 不会把免费试用权益当成已扣款收入,也不会在 App 关闭时虚构自动续订事件。实际支付和退款记录仍以商店与 RevenueCat 为准。取消订阅须通过 Apple 管理,与分析同意或本地数据重置相互独立,详见Apple 的取消订阅说明。
内部测试构建也可能连接 RevenueCat Test Store 以创建非生产权益。Test Store 购买不会产生真实 App Store 扣款。
5. 提醒与平台权限
如果你开启训练提醒,Stillkeen 会在相关场景请求通知权限,并通过 Android 或 iOS 在本地安排未来通知。提醒时间和通知内容不会发送到 Stillkeen 分析。你可以在 App 或系统设置中关闭通知。
同意 App 分析后,支持的 iOS 版本会另行请求 Apple 系统跟踪授权。你可以拒绝,之后在 iOS 设置中修改,或从 Stillkeen“隐私与数据”中的“广告效果测量”进入管理。返回 App 时会重新读取系统选择。即使 iOS 仍显示跟踪已授权,关闭 App 分析也会停止新的 App 主动广告测量。符合条件的聚合 SKAdNetwork 与 Google 隐私保护测量不代表逐用户归因或完整广告覆盖率。
6. 分享
Stillkeen 可以在设备上生成结果或每日训练板图片,并打开系统分享面板。Stillkeen 不会获知你选择的分享目标。App 自有临时图片会在分享操作返回后删除,也会清理过期导出文件。
7. 可选成绩排名
自由练习只在本机进行。你可以查看公开的本期排名,而无需发送本期参与 ID 或成绩。开始可提交成绩的一局时,App 会向 Arena 服务请求签名 seed;完成这一局不会自动提交结果。
只有你选择“提交成绩”后,Stillkeen 才会上传本期参与 ID、系统生成的显示名、场景与参数版本、seed 与签名 token、每题答案与作答间隔、答对题数以及总作答用时。服务会根据 seed 与答案重新计算成绩并进行基础有效性校验。其他用户可以看到系统生成的显示名、名次、成绩和作答用时;不会收到你的参与 ID、token、seed、答案、IP 地址或账户身份。Stillkeen 不允许自行输入公开排名名称。
Arena 服务可能短暂处理你的 IP 地址,用于限制请求频率与保护服务稳定,但不会将 IP 写入排名数据或与成绩记录关联。本期排名记录与签名练习记录会在对应 UTC 自然周结束后删除,Stillkeen 不提供历史排名记录。你可以在 App 内删除本期提交,而不会删除本机训练记录。
Stillkeen 可以将用于服务校准的粗粒度匿名成绩分布计数保留到对应聚合桶最后更新时间后的 90 天。这类聚合不包含参与 ID、显示名、seed、答案、精确提交时间或其他可还原单次提交的字段。
8. 保留与删除
本地数据会保留到你执行“重置所有数据”、清除 App 存储或卸载 App,具体仍受操作系统行为影响。重置会关闭并重置分析服务、取消 App 自有提醒、清除 Stillkeen 本地用户表和 Arena 展示状态,并返回引导流程。它不会删除仍在有效期内的 Arena 服务端提交,也不会删除用于派生周期参与 ID 的本地 Keychain 密钥;重置本地展示状态后,你仍可在 Arena 中使用“删除本期提交”移除服务端记录。它也不会删除你已经导出或发送到其他位置的加密备份文件。iCloud 可用时,App 内 iCloud 备份控制可以删除 Stillkeen 管理的 iCloud 备份。
Google Analytics 用户级和事件级数据的服务商侧保留期限会与当前商店隐私声明保持一致,并且必须在未来任何影响隐私声明的提交前再次复核。Google 仍可能依据适用条款保留聚合报告或安全与服务记录。关闭训练使用分析会停止新的 Firebase Analytics 传输、Dart 崩溃转发、Performance 收集、Meta 测量和 App 主动分析收集,要求 Crashlytics 删除符合条件的未上传报告,并请求移除 RevenueCat 中已保存的归因属性。本地群组记账信息会继续留在设备上,直到你使用“重置所有数据”;重置还会要求 Firebase 重置其本地分析数据与应用实例标识。这些控制不会删除已经传给服务商的事件或诊断,也不会撤销商店购买。App Store 与 RevenueCat 的购买记录和正在处理的事件仍可能按服务商的保留与处理规则继续处理。如有隐私或数据删除请求,请联系我们。
9. 儿童、健康与产品表述
Stillkeen 是通用自我提升工具,不用于医疗诊断或治疗,也不能替代专业服务。最终商店受众与年龄声明仍需发布审查。Stillkeen 不会通过分析事件主动请求个人或儿童数据。
10. 网站托管、分析与地区策略
本网站由 Cloudflare Pages 提供交付,并使用 Firebase 项目 stillkeen-2ba67 的 Firebase Analytics 了解网站使用情况。Firebase Analytics 会在公开页面加载,也可能记录服务商自动生成的首次访问、会话和互动事件。Google Analytics 可能处理页面网址与标题、来源信息、浏览器与设备信息、浏览器分析标识,以及 IP 地址等网络元数据,并可能由此推断大致位置。Google Analytics 可能使用包括 Cookie 在内的第一方分析存储。
网站埋点修订版 1.2.3-web2 只主动记录两个事件:页面访问 web_page_view 和跳转至 Stillkeen App Store 页面的链接点击 web_app_store_click。网站不再单独记录站内导航事件,并在初始化时关闭默认页面浏览事件。这两个事件只附带固定的页面、语言、链接位置和目标分类,以及网站来源标记和埋点修订版本;不会附带链接文字、自定义完整网址、训练成绩、Firebase 用户 ID 或应用自行生成的访客标识。Google 自动生成的事件不属于这两个主动埋点,可按平台和数据流与 App 数据区分。商店点击不表示安装或购买成功。每日挑战分享结果页及未知路径不会初始化网站分析。
网站集成会拒绝广告存储、广告用户数据和广告个性化同意。网站不使用广告、会话回放、表单或第三方字体。你可以通过浏览器设置限制或清除分析存储;这不会删除已经发送给 Google 的事件。Cloudflare 仍可能为交付和保护网站而处理常规请求与安全元数据。
一个最小化接口会使用 Cloudflare 的请求国家/地区信号,返回 strict 或 standard 同意策略,新版响应还包含地区是否已识别的标记。接口不可用或结果未知时,收集保持关闭。支持这一机制的 App 版本会在首次启动选择完成后执行有限次数的延迟前台重试,不会持续运行后台定位服务。Stillkeen 不会在 App 数据库中保存国家/地区或 IP。
11. 变更与联系
重要变更会同步更新本页日期和内容。隐私与数据问题可发送至 muzil7734@gmail.com。