Sencali 隐私政策
更新于
生效日期:2026 年 10 月 6 日
开发者:Changming Wei 联系邮箱:hi@sencali.app
Sencali 是 iPhone 上的跑步训练计划 app。这份政策说明它读取哪些数据、存在哪里、什么时候会离开你的手机、交给谁,以及你怎么撤回和删除。
一句话:Sencali 只读取 Apple「健康」,从不写入;没有账号、没有广告、不出售数据、不使用第三方统计或广告工具,也没有自己的服务器。除了 iPhone 自己的备份(第 2 节),你的数据只在第 3 节列出的情况下离开这台 iPhone。
1. 读取什么、做什么用
在你于系统弹窗里允许之后,Sencali 从「健康」读取:
- 体能训练,及其路线、分段和训练期间的数据:心率、距离(步行和跑步、骑行、游泳)、步数、踏频、功率、跑姿(步幅、触地时间、垂直振幅)、能量消耗(活动能量和静息能量),以及每次训练的费力评分;
- 每天的静息心率、心率变异性(HRV)、睡眠、最大摄氧量;
- 身高、体重和出生日期(用来算年龄)。
这些数据只用来:在 app 里给你看,计算训练负荷、心率区间和恢复,判断每一次训练是哪一种课,排课和调整计划,生成晨报、跑后简报、周报和教练的反馈,以及第 3 节列出的那些去处。它们从不用于广告、营销或与你的训练无关的用途。你可以随时在 iPhone 设置里关掉任何一项。
其他权限都在用到时询问,拒绝了其余功能照常:
- 日历:在日程页显示你的一周,按「什么时候有事」把训练排进空闲时间;只有你打开「把训练和计划课写进日历」后,才写入你选的那本日历。
- 位置(仅在使用 app 时):查你所在地的天气。
- 通知:晨报、跑后、周报等提醒。
- 照片(仅添加):你选「存储图像」时保存分享卡,Sencali 不浏览你的照片图库。给头像选照片时,系统只把你选中的那一张交给 Sencali,缩小后存在这台 iPhone 上。
2. 存在哪里
训练记录(包括路线,以及训练中的心率、距离等明细)、每天的身体数据(静息心率、HRV、睡眠、体重、最大摄氧量)、算出来的结果、计划、目标、偏好、签到和教练对话都只存在这台 iPhone 上,不同步到 iCloud,也不会出现在你的其他设备上(第 3 节列出的情况除外)。
装过早期测试版(0.36.0 及以前)的,那时同步进你 iCloud 的一份还在你自己的账户里,开发者看不到,Sencali 也不再读写它;删除办法见第 5 节。
你给这台 iPhone 做的备份(iCloud 云备份或电脑上的备份)里,也有 Sencali 存在手机上的数据。你填的 API key 存在这台 iPhone 的钥匙串里,只属于这台 iPhone:不同步,换手机恢复备份时也不会带过去。
3. 什么时候离开这台 iPhone、去哪里
(1) 你选的 AI 服务——只在你填了自己的 API key 并同意之后
Sencali 可以接 Kimi(月之暗面)、通义千问(阿里云)、DeepSeek、Google Gemini、OpenAI 和 Anthropic。你在 设置 › 教练 里选一个 AI 服务,填你自己在那里申请的 API key;保存之前,app 会先列出会发什么、不会发什么,你点「同意并保存」才保存。没有 API key 时,下面这些都不会发出。
- 自动发送:每读到一条新的训练,app 把一份摘要发给你选的 AI 服务做「跑后评估」;每排好新的一周,发一份写「每周的说明」。摘要包括:最近两周的训练;这一次训练的距离、时间、配速、心率区间、负荷和当时天气的冷暖档;你的年龄、身高、体重(整数)和比赛成绩;你的目标和这一周的安排;日历上哪几段有空;你最近点的签到(只有那个词,比如「腿沉」「生病」,不含你写在旁边的话)。睡眠、HRV、静息心率在这里只以「比你自己的平时高或低多少」出现。你可以在 设置 › 教练 关掉「跑后评估和每周说明用 AI 服务」。
- 教练对话、每日检查和审查:你和教练聊天时发送(对每一家单独同意);当天或明天有课时,每天早上和傍晚第一次打开 app 会各做一次每日检查(可以关);出整期计划时可能请第二个模型审查一遍(换了公司要单独同意)。为了回答,对方会收到:年龄、身高、体重;睡眠(含深睡和快速眼动睡眠)、HRV、静息心率、最大摄氧量的数值;最大心率和心率区间;训练记录(时间、距离、配速、心率、分段、爬升、负荷和当时的气温湿度)、个人最好成绩和 app 算出的体能估计;计划和完成情况;你的目标(包括你描述目标的那句话)、比赛名称和城市;你的签到,以及你写在签到旁边的话;你所在地和比赛城市接下来几天的天气预报(只有天气,不含位置);日历上有事的时间段(只有起止时间);以及你打的字。
- 从不发送:你的名字、账号和设备标识、训练记录的编号、路线和位置坐标、日历事件的标题、备注和地点、原始的健康样本。
- 这些内容从你的 iPhone 通过加密连接直接发给那家公司,不经过 Sencali 的服务器。那家公司怎么保存和使用收到的内容,以你和它之间的条款为准,Sencali 替它保证不了;请在填 API key 之前看它的隐私条款。它们可能在你所在国家或地区以外处理数据;其中 Kimi 和通义千问用的是它们在中国大陆的服务地址。
- 随时可以撤回:关掉上面的开关,或者删掉 API key。设置 › 教练 ›「看实际发了什么」可以看到最近 6 次发出去的原文;这些记录只存在这台 iPhone 上,不同步、不进备份,可以清空。
(2) Apple 的服务
- 天气:打开 app 时的当前位置、带路线的训练起点的位置和时间(补查当时的天气),以及你设的比赛城市,会发给 Apple 天气。当前位置不保存。
- 地名:当前位置、训练起点和比赛城市,由 Apple 的地图服务在坐标和地名之间换算;换出来的起点地名存在这台 iPhone 上。
- 地图:路线在这台 iPhone 上画在 Apple 地图上,底图按路线所在的区域向 Apple 地图取。
- 手机自带模型:日程上每天挑两条最要紧的日历,用的是这台 iPhone 上的 Apple 智能模型。填了 API key 以后,你在 设置 › 教练 里选了它、或者关掉「跑后评估和每周说明用 AI 服务」时,跑后评估和每周的说明也由它写。这些都在手机上运行。不填 API key 时没有跑后评估,教练对话也要先接上第 (1) 条的 AI 服务。
这些处理适用 Apple 的隐私政策。
(3) 你自己点了才发生
- 发送诊断(设置 › 反馈 ›「发送诊断」):发出设备型号,iOS 和 app 版本,系统语言,手机时区和标准时间差几小时,各项自检结果;汇总数(训练条数、最早和最近一次训练的日期、每天负荷的分布、最大心率和静息心率);最近的事件日志,每行带时间,其中有:每次训练的编号、结束时间、日期、距离(跑了多少公里、计划多少公里)和对课的结果,你点的签到(比如「生病」「腿沉」)和日期,平时几点起床和入睡、最近一次睡醒的时间,你自己改过的最大心率和静息心率,你在 app 里打开了哪些页面、点了什么,用的是哪个 AI 服务和哪个模型;闪退报告(如有);你填的昵称和那一句话。不发:路线和位置、日历事件的标题、教练对话的内容、API key,也没有你的名字(除非你写进昵称或那一句话)。发到开发者在 iCloud 上为 Sencali 开的一个公共数据库(在 Apple 的服务器上,不在你自己的 iCloud 里);iCloud 会给每一份附上一个只在 Sencali 里使用的用户编号,它不是你的 Apple 账户。这个库的读取权限现在还没有收紧到只有开发者:Sencali 本身不会去读别人发的诊断,但在收紧之前,不能保证只有开发者读得到。
- 发送这次训练的原始数据(某一次训练详情页最下面):发出这一次训练的整份摘要——它的编号、类型、开始和结束时间、时长、距离、步数、能量、平均和最高心率、心率的分布和在各区间的时间、每一段的距离和心率、分段、圈和暂停的时刻、负荷、当时用的最大和静息心率,以及记录它的 app 和设备的名字、型号、系统版本和来源编号(设备的名字里常有你的名字,比如「某某的 Apple Watch」)。和诊断一样,每一份还带着 iCloud 给的用户编号、你填的昵称、这台 iPhone 的型号和系统版本、app 版本。不含路线和逐条的心率、距离样本;其他训练不发。去处和谁读得到同上。
- 写进日历:打开后,Sencali 把计划课和完成的训练写进你选的那本日历,事件里有时间、类型、配速、心率、负荷和教练的一句话;还有起跑的地名和坐标,这一项由「写入起点」管,它默认开着,可以在 设置 › 日历 里关掉。那本日历由哪家服务同步(iCloud、Google、Exchange 等),就由那家保存;共享给别人时,别人也看得到。
- 添加到 Apple Watch:你在一节课的页面上点「添加到 Apple Watch」、再在 Apple 的页面上点添加时,这节课的名字、热身、每一段的距离或时间、配速和心率范围交给你的 Apple Watch。
- 分享卡和复制训练数据:分享卡通过系统分享面板,发到你选的地方。「复制训练数据」把这一次训练详情页上的数字写成文字——距离、时长、配速、心率、训练负荷、当时天气、计划 vs 实际、心率区间、每公里、分段——放进剪贴板,由你贴到别处;没有分享卡的训练,⋯ 菜单里的「分享」通过系统分享面板发出同一段文字。这段文字不含路线和地点、编号、教练点评、记录设备的名字。
- 通知:晨报等通知会在锁屏上显示身体数据;可以在 iPhone 设置 › 通知 里把「显示预览」设为「解锁时」。
(4) 测试期间(TestFlight)
通过 TestFlight 测试时,Apple 会把崩溃日志、使用信息、你提交的反馈,以及你的姓名和邮箱提供给开发者;通过公开链接加入的,开发者看不到你的姓名和邮箱。详见 Apple 的「TestFlight 与隐私」。
4. 开发者会拿到什么、怎么用
只有你主动发送的诊断和原始数据,以及第 3 节 (4) 说的、TestFlight 转来的崩溃日志、使用信息、反馈和你的姓名邮箱。它们只用来查问题、改进 Sencali;不用于广告或营销,不出售,不提供给任何第三方。从「健康」得到的数据从不用于广告、营销或数据挖掘。
5. 保留与删除
- 这台 iPhone 上的数据:删除 Sencali 即删除。只有你填的 API key 例外:它在钥匙串里,删除 app 时不一定一起删掉。要删掉它,在删除 app 之前,到 设置 › 教练 ›「回答用哪个 AI 服务」里点你填过 API key 的那个 AI 服务,再点这张卡最下面「(它的名字)的 API key」那一行,选「删除这个 API key」;填过几个就删几次。
- 删除 Sencali 以后再装:训练和每天的身体数据会从「健康」重新读出来;计划、目标、偏好、签到、教练对话和跑后评估都回不来,除非用删除之前做的 iPhone 备份恢复。
- 早期测试版留在你 iCloud 里的 Sencali 数据:先把其他设备上还装着的早期测试版升级或删除(它们还会往里写),再到 iPhone 设置里管理 iCloud 储存空间的页面,找到 Sencali 删除它在 iCloud 里的数据。
- 你发出的诊断和原始数据:Sencali 会在发出 30 天后、你下次打开 app 时自动删掉,删的时候这台 iPhone 要登录着发送时的那个 iCloud 账户,没登录就等登录以后再删;不想等 30 天,可以在 设置 › 反馈 ›「发送诊断」里点「删掉这台 iPhone 发过的诊断」,诊断和原始数据一起删,同样要登录着发送时的那个账户;早期测试版(0.36.0 及以前)发的,以及到期前删了 app 或换了 iCloud 账户的,留下的那几份可以把发送后看到的回执号发到hi@sencali.app请开发者删除。
- 写进日历的事件:在日历里删除。关掉写入后,新的不再写,已写的不动。
- AI 服务收到的内容:按那家公司的条款处理,需要向它申请。
6. 儿童
Sencali 不面向 13 岁以下(或你所在地法律规定的更高年龄)的儿童。
7. 变更
政策变化时更新本页和生效日期;有新的数据去向时,会先在 app 里征得你的同意。