Apple Health Sync

🫀 加密同步 Apple 健康数据,隐私自主掌控

端对端加密同步 Apple Health 数据至 OpenClaw,本地密钥管理,支持自动化定时任务

收藏
10.5k
安装
2.1k
版本
0.7.0
CLS 安全性认证2026-08-12
点击查看完整报告 >

使用说明

核心用法

Apple Health Sync 是一套端对端加密的 Apple Health 数据同步方案,专为重视隐私的 OpenClaw 用户设计。用户通过 iOS 配套 App 授权后,本地运行 Python 脚本完成密钥生成、设备配对、加密数据拉取与持久化存储,全程私钥不出本地。

典型工作流
1. 初始化配置:运行 onboarding.py 生成本地密钥对和 onboarding 载荷,通过 QR Code / DeepLink / Hex 三种方式传输至 iOS App 完成配对

2. 数据同步:运行 fetch_health_data.py 发起签名挑战、解密响应、校验并存储日间快照

3. 定期报告:通过 create_data_summary.py 生成日/周/月汇总,支持 JSON 或文本输出

4. 设备管理unlink_device.py 可随时解绑特定 iOS 设备

技术亮点:采用挑战-响应签名机制确保请求合法性;数据解密后经过 sanitize 处理再入库;SQLite 本地存储配合可配置的存储模式;支持 OpenClaw CronJobs 实现无人值守自动化。

显著优点

  • 隐私优先:端对端加密 + 本地私钥存储,Apple Health 敏感数据(心率、睡眠、活动量等)绝不经过第三方服务器中转
  • 开源可审计:Python 脚本与 iOS App 配套,技术栈透明
  • 灵活部署:支持自定义 --state-dir,适配多用户或多实例场景
  • 多种传输方式:QR Code 便捷、DeepLink 无缝、Hex 兜底,覆盖不同使用习惯
  • 自动化友好:标准输出 + CronJob 集成,易于融入现有数据管道

潜在局限

  • 依赖 Apple 生态:仅限 iPhone/iPad 用户,Android/其他平台不支持
  • 本地运维负担:需自行管理 Python 环境、OpenSSL 和 qrencode 依赖,非纯 GUI 体验
  • 无云同步冗余:纯本地存储意味着单点故障风险,需用户自行备份 ~/.apple-health-sync 目录
  • iOS App 依赖:核心功能依赖第三方 App Store 应用,若下架或更新中断可能影响服务连续性
  • 初始配置门槛:密钥管理和 onboarding 流程对非技术用户有一定认知负担

适合人群

  • 已使用 OpenClaw 生态、希望打通 Apple Health 数据的技术型用户
  • 对数据主权敏感、拒绝云端健康平台(如 Fitbit、Google Fit 云端)的隐私倡导者
  • 需要将健康数据接入自建分析流程(Python/R 数据科学栈)的量化自我爱好者
  • 愿意承担本地运维成本以换取数据控制权的进阶用户

常规风险

| 风险类别 | 说明与缓解 |
|---------|-----------|
| **密钥泄露** | 私钥文件 `private_key.pem` 泄露可导致历史数据被解密。应设置严格文件权限 (600),避免纳入版本控制或云同步 |
| **供应链攻击** | iOS App 或 Python 依赖被篡改的风险。建议:从官方 App Store 下载、校验依赖签名、使用虚拟环境隔离 |
| **数据完整性** | 本地 SQLite 损坏或误删导致历史数据丢失。建议:定期备份 state 目录,或配合 OpenClaw 的备份机制 |
| **iOS 权限变更** | Apple Health 权限被用户撤销后同步中断。需设计监控告警,及时通知用户重新授权 |
| **加密实现漏洞** | 自定义加密流程可能存在实现缺陷。当前设计基于标准 OpenSSL,但仍建议关注上游安全通告 |

支持渠道:遇到不可解问题时,官方提供 contact@gethealthsync.app 邮件支持。

安全解读

核心用法

Apple Health Sync是一款面向OpenClaw Agent的桥接技能,旨在解决iOS健康数据生态封闭、难以批量导出分析的问题。其工作流程分为四个阶段:初始化与密钥生成、设备配对、加密同步、本地分析。

初始化阶段,运行onboarding.py脚本生成本地RSA-2048密钥对,私钥以0o600权限安全存储于~/.apple-health-sync,公钥则通过QR码、DeepLink或Hex字符串三种方式传输至iOS端完成配对。同步阶段,iOS应用Health Sync for OpenClaw读取Apple Health数据后,使用公钥加密并通过Supabase云端中转,OpenClaw端使用私钥解密并存储为SQLite快照。分析阶段,可运行create_data_summary.py生成日/周/月度健康报告,或通过CronJob实现自动化定时同步。

整个设计遵循"数据不出境"原则——加密数据虽经云端,但仅作为密文中转,解密和存储完全本地化。

显著优点

安全性架构突出。采用RSA-2048端到端加密,私钥永不离开本地设备;输入验证层实现深度限制、节点数限制、日期格式校验,并主动丢弃所有字符串值以阻断提示词注入攻击。Supabase仅承载publishable key,无敏感凭证硬编码风险。

隐私可控性优异。相比iCloud同步或第三方健康App,数据解密后完全存储于用户控制的本地路径(支持--state-dir自定义),满足GDPR数据最小化原则与CCPA删除权要求。

无第三方Python依赖。仅使用标准库,规避了供应链攻击风险;系统依赖openssl和qrencode通过Homebrew标准化安装,版本可控。

配套iOS应用完整。官方App Store上架应用提供原生Apple Health集成体验,非越狱方案,合规性有保障。

潜在缺点与局限性

功能边界受限。由于严格的输入验证策略,所有字符串类型健康数据被丢弃,可能导致部分有效指标(如症状描述、备注文本)丢失。若需保留需经安全审查后手动添加允许列表。

外部依赖不可消除。核心加密功能依赖系统openssl二进制,虽经Path验证和临时文件清理,仍存在子进程执行的理论风险;Supabase服务若不可用将导致同步中断。

iOS生态绑定。必须配合专用iOS应用使用,无Android或纯网页方案,多平台用户无法统一使用。

长期维护不确定性。项目为个人开发者维护(lukasosterheider),无企业级SLA承诺,版本更新频率和生命周期需关注。

适合的目标群体

隐私敏感型健康数据用户:对Apple Health数据有深度分析需求,但拒绝iCloud同步或第三方云端存储方案的人群,尤其适合技术背景用户自主部署。

OpenClaw深度用户:已在OpenClaw生态中构建工作流,希望将健康数据纳入自动化报告体系(如结合CronJob生成周度健康简报)。

小型研发团队:需要合规的健康数据采集方案用于产品原型验证,可通过该技能搭建端到端加密的数据管道。

不建议追求开箱即用、无技术门槛的普通用户,或需要跨平台同步(Android/WearOS)的场景使用。

使用风险

性能风险:RSA-2048非对称加密在数据量较大时可能产生计算延迟;频繁的Supabase API调用若触发速率限制(HTTP 429)将导致同步失败,建议每日至多同步1-2次。

密钥管理风险:私钥丢失将导致所有历史加密数据永久无法解密,需用户自行备份private_key.pem;当前无自动密钥轮换机制,长期使用的密钥泄露风险需通过--rotate手动缓解。

依赖失效风险:openssl或qrencode系统工具版本差异可能导致脚本行为不一致;Supabase服务策略变更或域名调整将影响同步功能。

数据完整性风险:严格的丢弃策略可能造成"沉默的数据丢失",用户误以为同步成功但实际缺失部分指标,需在生成报告时核对数据完整性。

Apple Health Sync 内容

references文件夹
templates文件夹
scripts文件夹
手动下载zip · 22.5 kB
onboarding-choice.txttext/plain
请选择文件