法律
隐私政策
生效日期:2026 年 10 月 29 日
本政策以英文版本为准。
1. 关于本服务
Runapt(以下简称“本服务”)运营 Runapt 移动应用、Runapt Garmin Connect IQ 手表应用,以及网站 runapt.com。 根据适用的隐私法律,本服务是你个人信息的数据控制者。
如果你对本政策或本服务处理你个人信息的做法有任何疑问或担忧,请联系 legal@runapt.com。
2. 收集哪些信息
你主动提供的信息
- 账号数据:姓名、邮箱地址和密码(以 bcrypt 哈希形式存储)。如果你选择使用 Sign in with Apple,本服务会收到 Apple 提供的标识符和邮箱地址(或私密转发邮箱)。如果你启用通行密钥或双重验证(2FA),本服务会存储通行密钥的公钥凭证,或你的 TOTP 密钥和备用代码,用于保护账号安全。本服务不会看到或存储你的生物识别数据本身,这些数据仍保存在你的设备上,并由 Apple 或 Google 控制。
- 跑者档案:可选的体能信息(年龄、体重、心率区间、训练背景),以及每日状态打卡记录(主观疲劳、酸痛和压力)。这些信息会缓存在你的设备上,并在你保存时同步到本服务的服务器,用于生成训练计划、教练笔记和准备度指标。
- 跑步数据:GPS 坐标、距离、时长、配速、心率,以及力量训练的完成记录。这包括你在移动应用中记录的跑步,以及通过 Runapt Connect IQ 应用在配对的 Garmin 手表上记录的跑步(GPS 路线、距离、配速、心率和时间)。手表会将这些数据发送到服务器上你的 Runapt 账号。
- 计划数据:比赛目标、训练偏好和训练完成记录。
自动收集的信息
- 设备数据:用于崩溃报告的设备类型、系统版本和应用版本。
- 位置:进行中的跑步期间的 GPS 坐标,以及根据你的起点生成环线路线时使用的坐标。除进行中的训练外,本服务不会在后台追踪你的位置。你可以在应用中设置最多 5 个自定义路线隐私区域(例如家或工作地点),在分享的跑步、活动导出或同步到第三方平台时,裁剪或遮挡这些区域内的 GPS 坐标。
- 推送令牌:用于发送跑步提醒的 Expo 推送通知令牌(在你关闭通知或卸载应用之前保留)。
- 错误和崩溃数据:发送至 Sentry,用于修复漏洞。不包含任何可识别个人身份的数据。
- 应用使用数据:你打开的应用页面及停留时长,以及出现问题的迹象,包括向你显示的错误、失败或缓慢的服务器请求,以及在同一位置的重复点按。页面仅以名称记录(例如“计划生成器”),绝不会与你的跑步、路线或位置一起记录。在你创建账号之前,这些事件与应用安装时生成的随机标识符关联;注册后,它们会与你的账号关联。你可以随时在“设置 → 隐私”中关闭使用分析。
- 出错时的屏幕录制(除非你开启,否则默认关闭):如果你在“设置 → 隐私”中启用此功能,出错前后的一段简短应用屏幕录像会发送到 Sentry。在发送任何内容之前,所有文字、图片和图形都会先在你的设备上被遮盖。
- “是什么让你停下?”调查:如果你连续 7 至 21 天没有打开应用,本服务可能会通过推送通知(若你未开启通知,则通过邮件)询问你一次原因。回答是可选的;本服务会存储你选择的原因,以及你选择填写的任何内容。
来自第三方的信息
- Apple HealthKit:如果你授予权限,本服务会从 HealthKit 读取睡眠、静息心率和 HRV 数据,用于支持恢复追踪。本服务会根据这些数据计算每日准备度分数。如果你使用 AI 教练聊天,这些恢复数据的简要摘要(睡眠时长、静息心率、HRV 和准备度分数)会包含在发送给 AI 服务提供商的上下文中,该提供商采用零保留配置,即不存储、不记录,也不用于训练模型。这样教练的回复就能考虑你的恢复状况,详见第 3 节。本服务绝不会发送你的原始 HealthKit 记录。跑步结束后,Runapt 也可以将已完成的训练和路线数据写入 HealthKit,使你的 Apple Health 活动记录保持完整。本服务绝不会将 HealthKit 数据用于广告或营销,也绝不会为了向你提供 Runapt 服务以外的任何目的而与第三方共享。
- Strava: 如果你连接 Strava 账号,本服务会接收你已完成的活动数据(距离、配速、路线、心率)并导入 Runapt。如果你还允许 Runapt 上传活动,当你选择发送某次跑步或开启自动上传时,本服务会将你在 Runapt 应用中记录的跑步发送到 Strava:去除隐私区域后的 GPS 路线、距离、时间、心率,以及由 Runapt 撰写的标题和描述。从其他服务导入的跑步绝不会被发送。你可以随时在“设置 → 连接”中关闭自动上传或断开 Strava。
- Garmin Connect: 如果你连接 Garmin 账号,Garmin 会发送你在 Garmin 授权页面上选择共享的数据:已完成的跑步(距离、配速、路线、心率、时间)以及每日健康摘要(睡眠时长、阶段和睡眠分数、静息心率、HRV、Body Battery、压力水平、VO2 max 和体重)。跑步数据用于更新你的计划,健康摘要用于你的准备度分数和考虑恢复状况的教练建议,处理方式与上文所述的 Apple HealthKit 数据相同,绝不会用于广告。如果你是 Pro 用户,本服务还会将你即将进行的计划训练(名称、步骤,以及目标配速或心率区间)和计划路线写入你的 Garmin Connect 日历,使其同步到你的手表。你可以随时在 Garmin Connect 中更改共享内容;在“设置 → 连接”中断开连接会停止所有传输,并从你的 Garmin 账号中移除 Runapt。
- Suunto:如果你连接 Suunto 账号,本服务会从 Suunto 接收你已完成的跑步训练(距离、时长、配速、心率和时间),并导入 Runapt。与 Garmin Connect 一样,此集成还会写入 Suunto:如果你是 Pro 用户,本服务会将未来 14 天的计划训练(训练名称、步骤,以及目标配速或心率区间)以 SuuntoPlus Guides 的形式发送到你的 Suunto 账号,使其显示在你的手表上。本服务不发送其他任何内容。在“设置 → 连接”中断开连接,会删除本服务创建的 Guides,并在 Suunto 撤销本服务的访问权限。
- Garmin Connect IQ 手表应用:如果你将 Garmin 手表上的 Runapt 应用与你的 Runapt 账号配对,手表会从本服务的服务器加载你的计划训练,并将完成的跑步数据(GPS 路线、距离、配速、心率和时间)发送回你的 Runapt 账号。你可以随时在 Runapt 移动应用中通过“设置 → 连接 → Garmin 手表”断开手表连接或删除数据(也可通过注销账号或数据工具)。
- Spotify:如果你启用跑步中的播放控制,本服务会使用 Spotify 的 App Remote SDK 控制你设备上的播放,并通过一个短期有效的授权令牌,在跑步期间开始、恢复或暂停你的音乐。除控制播放所需的信息外,本服务不会访问你的播放列表、收听历史或账号数据。
- RevenueCat:用于管理 Pro 计划的订阅状态和购买事件。
3. 如何使用你的信息
- 创建和管理你的账号。
- 通过 OpenRouter 调用第三方大语言模型,生成个性化训练计划、自适应教练笔记和 AI 教练聊天回复(根据所用模型,本服务可能会将请求路由至 Google、OpenAI、Anthropic 或其他提供商)。
- 根据你的 GPS 位置和训练距离,生成环线跑步路线。
- 根据当前天气调整配速目标和训练指导,使用你跑步地点的坐标获取天气预报。该请求不包含任何账号或设备标识符。
- 发送跑步提醒推送通知(你可以在设备设置或应用中关闭)。
- 通过 RevenueCat 以及 Apple/Google 应用内购买系统处理订阅付款。
- 通过汇总且匿名化的崩溃数据排查漏洞、改进产品。
- 遵守法律义务。
本服务不会将你的个人数据出售给第三方,也不会将你的数据用于广告。
对于 AI 教练聊天,本服务只发送回答你的问题所需的训练上下文,例如当前计划类型、当前周次、近期的汇总进度、即将进行的训练类型、距离和目标配速。如果你已连接 Apple HealthKit、Android Health Connect 或 Garmin Connect,此上下文还会包含从这些数据中提取的简要恢复摘要(睡眠时长、静息心率、HRV 和每日准备度分数),以便教练考虑你的恢复状况。本服务不会将原始健康记录、你的姓名、邮箱地址、用户 ID、GPS 路线几何信息、比赛地点或自由文本的跑步备注作为教练上下文发送。
你的许可优先。在将任何此类数据发送给本服务的 AI 服务提供商之前,本服务会先征得你在应用内的明确同意。在你开启 AI 教练之前,不会有任何训练或恢复上下文离开本服务的服务器发送给 AI 服务提供商。你可以随时在应用中的“设置 → AI 教练”撤回同意,撤回后将立即停止任何后续共享。
4. 处理个人数据的法律依据(GDPR)
如果你位于欧洲经济区(EEA),本服务将基于以下法律依据处理你的个人数据:
- 履行合同:处理你的账号数据、跑步数据和计划数据,是为你注册的 Runapt 服务提供所必需的。
- 同意:访问 HealthKit 数据、发送推送通知以及处理可选的跑者档案信息。你可以随时通过设备设置或联系本服务撤回同意。
- 合法利益:收集匿名化的崩溃和错误数据,以维护服务质量和安全;以及使用第 2 节所述的应用内使用数据,找出并修复导致应用难以使用的问题。你可以随时在“设置 → 隐私”中关闭使用分析,以表示反对。这些利益不会凌驾于你的隐私权之上。
- 法律义务:在法律要求本服务处理或保留数据以遵守适用法律的情况下。
5. 数据共享
本服务仅与运营 Runapt 所必需的服务提供商共享数据:
- OpenRouter:用于教练笔记、教练聊天回复、每周训练摘要及相关 AI 功能的 AI 路由平台。OpenRouter 可能会将你的请求(以及本服务附带的有限训练上下文)转发给本服务所选的底层模型提供商(例如 Google、OpenAI 或 Anthropic)。本服务只发送该功能所需的上下文。如果你已连接 HealthKit、Health Connect 或 Garmin Connect,教练聊天可能包含第 3 节所述的恢复摘要(睡眠、静息心率、HRV 和准备度分数);本服务不会发送你的姓名、邮箱、原始健康记录或完整的 GPS 路线几何信息。这些请求采用零数据保留配置:要求底层提供商不得存储、记录或用这些数据进行训练,并且请求仅路由至遵守该政策的提供商。OpenRouter 及底层模型提供商在合同上受约束,须以不低于本政策所述保护水平的标准保护你的数据,并且仅为生成你所请求的 AI 回复而处理数据。在向这些 AI 服务提供商发送任何个人数据之前,本服务会先征得你在应用内的明确同意。
- Google:Android 上用于地图显示的 Google 地图。如果通过 OpenRouter 选择了 Google 模型,少量教练上下文也可能根据 OpenRouter 的条款由 Google 处理。
- RevenueCat:订阅管理。
- Sentry:匿名化的崩溃和错误报告,以及——仅在你开启的情况下——出错前后经过遮盖处理的屏幕录像。
- Expo:推送通知投递。
- Open-Meteo:仅发送跑步地点的坐标,用于获取用于调整配速指导的天气预报。
- Strava、Garmin Connect、Suunto、Garmin Connect IQ 手表应用和 Spotify:仅当你自行连接或配对这些服务时,如第 2 节所述。
- Google Analytics:仅用于 Runapt 营销网站(runapt.com)的汇总、基于 Cookie 的访问统计——绝不在移动应用内使用——且仅在你接受本服务的 Cookie 横幅之后。参见第 7 节。
- Umami:自托管、无 Cookie 的 runapt.com 和 app.runapt.com 页面及事件的汇总计数。它不设置任何 Cookie,也不存储任何个人标识符,因此无需点击横幅即可运行。本服务的服务器还会在 Umami 中统计少量注册和订阅里程碑,但不包含任何用户 ID。
所有服务提供商在合同上都必须仅代表本服务处理数据,并遵照本服务的指示行事。
6. 国际数据传输
本服务的服务提供商,包括 OpenRouter、Google、Sentry、Expo 和 RevenueCat,位于美国(根据所选模型,底层 AI 模型提供商也可能在其他地区处理数据)。当本服务将个人数据从欧洲经济区传输给这些提供商时,本服务依据欧盟委员会批准的标准合同条款(SCC)或其他公认的传输机制进行传输,以确保你的数据获得充分的保护水平。
使用 Runapt 即表示你知悉,你的数据可能会被传输至你居住国家以外的国家并在当地处理。
7. Cookie 及类似技术
Runapt 移动应用不使用 Cookie。Runapt 营销网站(runapt.com)仅使用下列 Cookie 和本地存储,别无其他。本服务不使用广告 Cookie、第三方追踪像素或跨站分析。
| 名称 | 用途 | 是否需要同意 | 保存期限 |
|---|---|---|---|
| runapt-cookie-consent | 保存你对 Cookie 横幅的选择,以免本服务再次询问。存储在你浏览器的本地存储中。 | 否——功能性 | 直到你清除为止 |
| runapt-attribution | 在你的访问期间记录是哪个链接(例如某个推广活动参数)把你带到了网站。存储在你浏览器的会话存储中。 | 否——功能性 | 直到你关闭标签页为止 |
| _ga, _ga_* | Google Analytics——汇总访问统计。仅在你接受 Cookie 横幅后设置。 | 是 | 最长 24 个月 |
只有在你接受首次访问时显示的 Cookie 横幅之后,Google Analytics 才会运行。如果你拒绝,或在做出选择之前,不会设置任何分析 Cookie,也不会向 Google Analytics 发送任何数据。你可以随时通过网站页脚的“Cookie 偏好设置”链接撤回或更改你的选择。
8. 数据保留
只要你的账号处于活跃状态,本服务就会保留你的账号和跑步数据。如果你删除账号,你的所有个人数据(包括跑步、计划和个人资料信息)将在 30 天内被永久删除。应用内的使用事件(页面、错误、重复点按)将在 180 天后删除;从未创建账号的安装所产生的事件,将在 90 天后删除。经匿名化和汇总的使用统计数据可能会被无限期保留。
9. 你的权利
根据你所在的地区,你可能拥有以下权利:
- 访问本服务持有的关于你的个人数据。
- 更正不准确的个人数据。
- 请求删除你的个人数据(你可以直接在应用中通过“个人资料 → 删除账号”操作)。
- 在应用中直接从你记录的所有跑步中有选择地删除 GPS 地图数据,同时保留距离、配速、时长和心率等关键统计数据。
- 在“数据保险库”中查看和管理已连接的集成,并查看其隐私评分。
- 反对或限制某些处理活动。
- 数据可携带性——以 JSON 格式获取你数据的副本。
- 在处理基于同意的情况下,随时撤回同意,且不影响撤回前已进行处理的合法性。
- 向主管机关投诉:你可以向所在国的数据保护主管机关投诉。在荷兰,即 Autoriteit Persoonsgegevens(autoriteitpersoonsgegevens.nl)。
加利福尼亚州居民(CCPA)
如果你是加利福尼亚州居民,你有权:了解本服务收集哪些个人信息以及如何使用;请求删除你的个人信息;以及在行使隐私权利时不受歧视。本服务不出售个人信息。如需行使你的权利,请联系 legal@runapt.com。
如需行使上述任何权利,请发送邮件至 legal@runapt.com。本服务将在 30 天内答复。
10. 儿童
Runapt 不面向 13 岁以下的儿童(在根据当地法律适用更高年龄门槛的司法管辖区,包括某些欧盟成员国,则为 16 岁以下)。本服务不会明知故犯地收集适用年龄以下儿童的个人信息。如果你认为本服务无意中收集了此类数据,请立即联系本服务,本服务将予以删除。
11. 安全
本服务采用行业标准的安全措施,包括 bcrypt 密码哈希、仅限 HTTPS 的通信以及 JWT 身份验证。互联网上的任何传输方式都无法保证 100% 安全,本服务无法保证绝对安全,但会采取一切合理的预防措施保护你的数据。
12. 本政策的变更
本隐私政策可能会不时更新。更新时,本页顶部的生效日期也会相应更改。如果变更属于实质性内容,本服务将在变更生效前至少 14 天通过邮件或应用内通知告知你。在生效日期之后继续使用 Runapt,即视为接受更新后的政策。
13. 公司信息与联系方式
Runapt 由 Voscey 提供。如有隐私相关的问题、请求或投诉,请使用以下联系方式:
- 公司名称:Voscey
- 注册地址:Herenweg 146, 3648CN Wilnis, 荷兰
- 荷兰商会(KVK):99994070
- 增值税号(BTW):NL005423874B69
- 邮箱: legal@runapt.com