隐私与数据

隐私政策

你的 Mac 保存什么,什么会发往 Google,以及你如何控制这些操作。

最后更新:2026 年 10 月 27 日 · 对应应用版本:0.1.0

01适用范围与开发者

本政策说明个人 macOS 工具“S400 体重同步”(以下称“本应用”)及其介绍网站的数据处理方式。本应用是独立开发工具,与小米及 Google 无官方隶属、合作背书或认证关系。

开发者公开联系邮箱:public@zqydev.me。

02应用处理哪些数据

  • 设备配置:你在本机填写的原始蓝牙 MAC 地址和 BLE Bind Key,用于认证、解密所配置 S400 的广播。
  • 用户资料:出生年份、身高和体脂公式性别,用于估算体脂。本版使用当前年份与出生年份的差值作为年龄。
  • 测量与同步记录:体重、收到测量会话的时间、当时的 UTC 偏移、可用的高低频阻抗、有效体脂估算值、记录标识、模拟标记,以及各指标的同步状态、尝试次数、下次重试时间和可能的云端处理标识。
  • Google 授权信息:你输入的 OAuth 客户端 ID、客户端密钥,以及授权产生的访问令牌、刷新令牌等状态,用于连接和保持你授权的 Google Health 写入权限。

体脂由公开公式结合阻抗和用户资料计算,不是直接读取的小米官方体脂结论,也不保证与米家显示一致。缺少有效输入或接触质量不符合门槛时,应用只保留体重,不以 0% 代替无效体脂。

蓝牙扫描期间,macOS 会向本应用提供周边设备广播;只有通过所配置设备凭据认证的数据才进入测量处理。原始广播短暂用于解码和内存去重,不作为原始数据包持久保存。广播中的心率字段可能被短暂解析,但本版不会保存或上传心率。

当前只支持一台秤和一份用户资料,不能识别不同称重者;共用秤上其他人的有效称重也可能记入同一份资料。

03数据如何保存在本机

测量历史、阻抗、体脂估算和上传进度保存在本应用的 macOS Application Support 目录,采用本地 JSON 文件和原子写入;目录权限设为 0700、测量文件权限设为 0600。该文件没有应用层加密,不应把文件权限等同于端到端加密。

出生年份、身高、公式性别和接收/同步开关保存在本应用的本机偏好设置。设备 MAC、Bind Key 和 Google 授权状态(包含刷新令牌、客户端密钥)保存在 macOS 钥匙串,而非测量文件或偏好设置。钥匙串条目配置为仅本机使用、首次解锁后可访问。

应用用认证广播的摘要生成记录标识,进行跨重启去重;原始 MAC 和 Bind Key 不写入测量历史。除非你删除,本地记录没有自动过期清理期限。

04何时、向 Google 发送什么

首次 Google OAuth 授权与“启用同步”是两个操作。你需在应用内确认 Google Health 接收真实体重和体脂,并同意把授权保存在钥匙串。OAuth 使用系统浏览器,由 Google 处理账号登录及授权;授权结果通过本机随机端口的回环地址返回应用。

仅请求以下 Google Health 权限,用于写入体重与体脂:

https://www.googleapis.com/auth/googlehealth.health_metrics_and_measurements.writeonly

应用不请求读取你的 Google 健康历史、账号邮箱、个人资料或设备列表的权限。启用同步后,它直接向 Google Health API 发送以下内容:

  • 体重(换算为克)或有效体脂估算值(百分比);
  • 测量会话时间、UTC 偏移及用于标识记录的名称/ID;
  • Google API 请求所需的授权令牌及正常网络通信信息。

体重与体脂分成独立写入项;缺少有效体脂时只同步体重。阻抗、出生年份、身高、公式性别、设备 MAC 和 Bind Key 不放入健康数据上传内容。客户端 ID、客户端密钥及令牌会按 OAuth 流程与 Google 授权服务交换,不发送给开发者的服务器。模拟记录在应用中被禁止上传。

首次启用同步会处理本机尚未完成的真实记录;已授权的持续同步可在下次启动时恢复。Google 对其收到的数据和账号信息的处理,受其自身隐私政策及服务设置约束,可参阅 Google 隐私政策。

05后台接收、重试与暂停

关闭设置窗口后,菜单栏进程仍可运行。网络断开、超时或部分服务错误时,未完成项及其重试进度保留在本机,应用按退避计划重新尝试;体重和体脂分别确认成功。授权或权限异常会暂停同步,其他无法确认的结果可能保留为待检查。

点击“暂停”会关闭持续同步开关,停止发起后续请求;已经发送的在途请求可能完成。点击菜单中的“停止接收”可停止蓝牙接收,退出应用则停止进程中的接收与重试。Mac 睡眠期间无法接收广播,未收到的称重不会自动补回;锁屏与系统睡眠不同。

06删除与撤销的实际方式

  • 删除设备凭据:点击“删除设备凭据”,应用停止接收,删除本机保存的设备 MAC、Bind Key 和用户资料配置;已有称重历史不会随之删除。
  • 删除 Google 本机授权:点击“删除 Google 本机授权”,应用暂停同步并删除本机钥匙串中的 Google 授权状态。这不等于从 Google 账号撤销授权。
  • 撤销 Google 侧权限:在 Google 账号的第三方连接中移除本应用的访问权限。
  • 删除本地称重历史:当前没有删除真实历史的界面按钮。如需清除,请先退出应用,再手动删除本应用在 macOS Application Support 中的 measurements.json 文件;这也会清除该文件内的待同步队列和同步进度。应用中的“清除模拟记录”仅删除模拟数据。
  • 删除已上传数据:通过 Google Health 提供的数据管理方式操作。本应用当前没有云端数据删除功能;清理本机文件、删除凭据或卸载应用,不会自动删除已经上传的 Google Health 数据。

本地文件副本、设备备份和 Google 端数据是不同的存储位置。对其中一处的清理不应被视为其他位置也已同步删除。

07日志、共享与用途

本版应用代码不输出健康值、MAC、Bind Key、原始广播、OAuth 令牌或服务器错误正文;界面只显示必要状态和部分错误代码,网络依赖的详细日志默认关闭。macOS 或 Google 自身产生的系统/服务诊断信息由其平台机制管理。

本应用没有健康数据中转服务器,不向开发者上传健康记录,也没有广告、行为分析或数据出售功能。数据仅用于本机接收、保存、体脂估算、去重和你启用的 Google Health 同步,不用于广告、数据交易或训练开发者的机器学习模型。

08介绍网站

此介绍网站为静态页面,没有登录、健康数据提交表单、跟踪器、分析脚本、第三方字体或第三方嵌入内容;浏览网页不会触发本机应用的蓝牙或 OAuth 操作。网站上的外部服务链接仅在你主动访问时打开。

本网站由 Cloudflare Pages 提供静态网页。访问网站时,Cloudflare 可能按其服务配置和政策处理提供网页与安全防护所需的请求信息,例如 IP 地址、访问时间和浏览器信息;此类信息的处理及保留受实际服务配置和 Cloudflare 隐私政策约束。本站不部署自己的分析脚本或日志数据库,也不把应用的健康记录传给网页托管服务。

09联系与版本更新

如需咨询本应用的数据处理方式,请使用本页第 1 节列出的公开联系邮箱。应用的数据处理方式发生变化时,本页将随相应发布版本更新,并标明更新日期。

← 返回应用首页