movdo 隐私政策

版本:0.1(草案) 生效日期:待定 更新日期:2026-09-24

⚠️ 这是开发阶段的草案,用于鸿蒙上架材料准备与内部对齐,尚未生效。 正式发布前必须:(1) 补齐运营主体的真实名称与联系方式;(2) 经法务/合规审阅; (3) 部署到公网可访问的 URL(AGC 上架材料不接受仓库内文件路径); (4) 在 App 内提供入口并加上首启同意闸门 —— 已完成(2026-09-24), 首启同意闸门 + 四处入口(同意页、登录页底部、注册页底部、「我的」页); (5) 接入鸿蒙端的登录令牌安全存储(Asset Store Kit),见 2.1 节与合规清单 —— 代码已完成(2026-09-24),真机读写复验待设备可用时补做。 (6) 删掉 4.1 里一条与实现不符的第三方共享声明 —— 已完成(2026-09-24): 原表列有「Apple / Google 推送服务 · 设备推送令牌」,但本工程从未接入任何推送服务 (提醒全部在设备本地排定与触发),该行已删除,并在 2.6 补了「不收集推送令牌」。 上述前置项见 docs/ohos-compliance-checklist.md 的 P0-7。

本文描述以当前代码为准逐条核对。凡是"接口支持但客户端未实现"的地方, 都按实际不采集来写,并注明了接口预留的事实,避免政策与实现不一致。 但「核对过」不等于「不会再错」:上面第 (6) 条本身就是一条漏网的假声明; 另有一处已知未决 —— 2.1 节「不随应用备份导出」与 Android allowBackup 缺省为 true 相冲突,待法务审阅时一并定稿(合规清单 P1-10)。


一、我们是谁

movdo 是一款运动管理应用,帮助你制定每周运动计划、按时提醒、通过手机传感器 识别运动是否真的发生,并记录由此产生的健康指标。


二、我们收集哪些信息,为什么收集

2.1 账号信息(你主动提供)

信息 用途 是否必需
手机号 注册与登录的唯一标识 是
登录密码 身份校验 是
昵称、头像 在动态圈与挑战中展示你的身份 否

密码使用 bcrypt(cost 10)加盐哈希后存储,我们不保存明文,也无法还原。

登录令牌只保存在设备本地、仅本应用可访问的存储区,不上传服务器,也不随应用备份导出。 分平台说明:

2.2 身体与目标信息(你主动提供,属敏感个人信息)

性别、出生日期、身高、体重、运动目标类型。

2.3 运动传感器数据(自动采集)

信息 采集时机 用途
加速度计三轴数据 仅在 App 处于前台时 识别跑步/快走/跳绳,统计步数、步频、振幅
陀螺仪三轴数据 仅在 App 处于前台时 识别跳绳的手腕旋转、骑行的车身稳定性

关于这部分,有几点我们想说得明确一些:

2.4 运动与健康记录(由 2.2 / 2.3 派生)

用途:健康中心的完成率、连续天数、趋势图,以及周报生成。 所有汇总按 UTC 聚合,周从周一开始。

2.5 社交内容(你主动发布)

关于排行榜,我们做了一个明确的产品选择:应用内不提供任何公开排行榜, 不展示他人昵称、进度或名次,也没有"击败了多少人""超过百分之几"这类文案。 挑战只展示参与总人数和你自己的进度。这是为了避免运动变成攀比, 也因此我们不会为了排名功能去收集或分析你与他人的对比数据。

2.6 我们不收集的信息


三、信息如何存储与保护

项目 说明
存储位置 自建后端服务,数据库为 PostgreSQL,缓存为 Redis
存储地域 待填写(机房/云区域。如涉及境外存储需单独告知并取得单独同意)
传输加密 正式环境要求全程 HTTPS。当前开发版本仍为明文 HTTP,属上架前必修项(合规清单 P1-5)
口令存储 bcrypt(cost 10)单向哈希
令牌存储 设备安全存储区,不落普通文件
访问控制 后端接口全部要求 JWT;社交内容的可见性过滤在服务端完成,客户端拿不到无权查看的数据
保留期限 账号存续期间保留;注销后按第六节删除

我们不会把你的个人信息出售给任何第三方。


四、我们如何共享信息

我们不会向任何第三方出售、出租你的个人信息。仅在以下情形下会涉及第三方:

4.1 系统能力提供方

第三方 场景 涉及的信息
华为终端有限公司(HarmonyOS 系统 / 代理提醒) 在你设定的时间弹出运动提醒 提醒的标题、正文、触发时间。由系统代理提醒服务在本地托管,App 退出后由系统接管
华为 Wear Engine(穿戴设备数据协同) 连接华为手表后读取运动传感器数据 手表的不透明设备标识、加速度计/陀螺仪读数。当前版本未取得该服务的授权通道,实际不会发起任何读取;心率在任何情况下都不读取

运动提醒不经过任何推送服务。 提醒完全在设备上排定与触发:HarmonyOS 端交给系统的 代理提醒服务在本地托管(上表第一行),Android 端由 AlarmManager 排定、 NotificationManager 本地弹出(android/app/src/main/kotlin/.../AlarmReceiver.kt, 清单里只有 AlarmReceiver 与 BootReceiver 两个广播接收器)。App 不接入 FCM / HMS Push / APNs,因此不存在也不会获取、上传任何推送令牌。 iOS 端目前没有构建产物(见合规清单 P1-6)。

上述第三方各自适用其自己的隐私政策。我们只提供实现功能所必需的最小信息。

4.2 其他用户

你在动态圈发布内容时,可见性由你选择:

可见性过滤在服务端完成。设为"仅自己"的内容不会因为客户端漏洞而下发给别人。 你的昵称与头像会随你发布的动态、评论一起展示给能看到该内容的人。

4.3 法律要求

在法律法规明确要求、或司法/行政机关依法定程序要求时,我们可能被迫披露。 在这种情况下我们会核验请求的合法性,并在允许的前提下告知你。


五、你的权利

你可以随时行使以下权利。撤回同意的入口在 App 的"我的"页面,其余按下表就地行使:

权利 如何行使
查阅 健康中心、动态圈、挑战页展示的就是你的全部数据;也可通过联系方式索取副本
更正 自己发布的动态可随时改可见性(公开/仅好友/仅自己);身高、体重与运动目标在制定周计划时填写,可随时重新设置;昵称、头像的自助修改页尚未实现,需通过第九节的联系方式提出
删除 自己发布的动态与评论可在动态圈逐条删除;运动记录与健康汇总需通过第九节的联系方式申请删除
撤回同意 App 内:我的 → 撤回同意,确认后立即回到首启同意页并停止一切采集;也可在系统设置中关闭通知、卸载 App
注销账号 见第六节
拒绝自动化决策 我们不使用你的个人信息做自动化决策或用户画像
投诉 通过第九节的联系方式提出,我们会在 15 个工作日内答复

撤回同意或关闭权限不影响撤回之前基于同意已进行的处理活动的合法性。


六、账号注销与数据删除


七、未成年人保护

本应用面向成年人。我们不会主动收集不满 14 周岁未成年人的个人信息。 若你是未成年人的监护人并发现孩子在未经你同意的情况下提交了个人信息, 请通过第九节联系我们,我们会及时删除。

出生日期为你自行填写。若我们发现账号属于不满 14 周岁的未成年人且无监护人同意, 将注销该账号并删除相关数据。


八、本政策的更新

发生以下变化时我们会更新本政策,并在 App 内以弹窗或站内信方式再次征得你的同意:

仅修正错别字、调整排版这类不影响你权益的改动,只更新"更新日期",不再单独通知。

历史版本会保留在 待填写(公网 URL) 供查阅。


九、联系我们

我们会在收到请求后 15 个工作日内答复。若你对答复不满意, 可以向履行个人信息保护职责的部门投诉或举报。


十、附录:权限与实现对照表

审核人员可据此逐条核对本政策的描述。权限声明位于 ohos/entry/src/main/module.json5,授权方式取自 SDK openharmony/toolchains/lib/PermissionDefinitions.json。

HarmonyOS 权限 授权方式 实际用途 代码位置 本版本是否必需
ohos.permission.ACCELEROMETER system_grant 前台运动识别 ohos/.../plugins/SensorPlugin.ets 是
ohos.permission.GYROSCOPE system_grant 前台运动识别(跳绳/骑行) 同上 是
ohos.permission.PUBLISH_AGENT_REMINDER system_grant 运动提醒(App 退出后由系统投递) ohos/.../plugins/AlarmNotificationPlugin.ets 是
ohos.permission.INTERNET system_grant 访问自建后端 lib/core/network/api_client.dart 是

上表即 module.json5 中的全部权限声明,四条均为 system_grant / normal, 不含任何需要用户授权的敏感权限,也不声明任何后台运行模式。

2026-09-23 的一轮收敛中移除了以下历史遗留声明(移除原因均为「声明了但没有实现」): LOCATION、APPROXIMATELY_LOCATION、LOCATION_IN_BACKGROUND(无任何定位代码)、 VIBRATE(鸿蒙端无震动实现)、KEEP_BACKGROUND_RUNNING 与 backgroundModes (闹钟由系统代理提醒接管、运动检测在前台完成,不存在长时任务场景)。

数据流概览

前台传感器采集(加速度计 / 陀螺仪)
        │  原始三轴数据仅在内存中
        ▼
设备端识别(RunningDetector / WalkingDetector / JumpRopeDetector / CyclingDetector)
        │  + 防作弊校验(AntiCheatEngine)
        ▼
识别结果(运动类型、步数、时长、距离、卡路里)
        │  HTTPS(正式环境)
        ▼
后端 ActivityRecord / DailyHealthSummary
        │
        ▼
健康中心仪表盘、趋势图、周报、成就卡片

原始三轴数据不进入上图的后半段:识别在设备上完成,上传的只有结果字段。


本文件为草案。生效前请替换所有 __待填写(…)__ 占位并完成合规清单 P0-7。