隐私政策
中文译本
版本 v4.6 | 生效日期 2026-10-23 | 最后更新 2026-10-23
运营者说明:FitHelix 当前由个人开发者 Huibin Wu 运营。本政策根据产品和基础设施的实际行为维护,不表示 FitHelix 已获得 HIPAA 合规认证或法律顾问审阅。
v4.6 更新说明:本版说明首日使用节点(第 2.8.1 节)。对新账户,我们的服务器只保存 iOS App 在注册后 24 小时内上报的最多五个固定节点,例如打开「今天」或相机;这些节点与您的账户关联,用于了解新用户在哪一步遇到困难。它们不包含食物、照片、搜索内容、营养或健康数据,不提供给广告商或第三方分析服务,会随数据导出提供,并在您删除账户时一并删除。
v4.5 更新说明:本版说明 Apple Watch 的两项训练功能:您保存训练后,手表会从 Apple 健康读回这次训练以显示总结;若您允许,手表还会读取您的出生日期,仅用于在手表上估算心率区间。出生日期及由此得出的估算只留在手表上。本版不改变我们在服务器上收集的数据或处理数据的服务商。
v4.4 更新说明:本版说明 FitHelix 由 Huibin Wu 运营,App 内的「AI 教练」即 Nour 对话。本版不改变我们收集的数据或处理数据的服务商。
v4.3 更新说明:本版说明 iOS 1.2.0 的健康权限、训练记录、力量明细同步及仅存 Apple 健康的路线,并澄清 iOS 本机语音转录和 Sentry 安装标识。健康同步与 AI 分析仍由您分别选择;您可在 App 设置中查看这些选择,并在系统设置管理健康和位置权限。删除 FitHelix 账户不会删除已保存到 Apple 健康的记录。
v4.0 发布说明:本版本新增可选的私密户外训练路线功能及精确位置披露。运营者确认 v4.0 生效前没有既有外部用户,因此当前移动端版本不展示版本化 App 内更新提示,也不为本次变更发送通知邮件;本公开政策提供本次发布披露。
v4.1 发布说明:本版本将后端缓存处理方由 Google Cloud Memorystore 更换为 Upstash, Inc.(部署于 AWS us-east-1),2026-09-06 起用于生产。处理的数据类别不变(仅短 TTL 缓存条目),Upstash 的 DPA、欧盟标准合同条款(SCC)与 EU-U.S. Data Privacy Framework 提供与此前 Google Cloud 处理条款等效的保障;本公开政策提供本次发布披露。
v4.2 发布说明:本版本说明何时收集通行密钥(Passkey)凭据,并列出为每个通行密钥存储的内容:除您自行添加的通行密钥外,您用密码登录后,设备的密码管理器现在可能随即自动为您的账户创建通行密钥,是否创建取决于您的密码管理器及其设置。我们为通行密钥存储的数据没有变化,每次用通行密钥登录仍需设备验证(如面容 ID、指纹或设备密码);本公开政策提供本次发布披露。
本文档是英文版隐私政策的中文翻译,仅供参考。如发生法律争议,以英文版为准。
1. 概述
FitHelix("我们"、"本应用")是由个人开发者 Huibin Wu 运营的 AI 食物营养追踪应用。我们致力于以最小必要数据原则为您提供服务。本隐私政策说明我们收集哪些信息、如何使用这些信息、以及您享有的数据权利。
App 内的助手名为 AI 教练,其对话人格为 Nour,本政策也将这些对话称为 Nour 对话。
使用 FitHelix 即表示您已阅读并理解本政策。如您不同意本政策的任何内容,请不要使用本应用。
2. 我们收集的数据
2.1 账户信息(必填)
- 电子邮箱地址(用于登录与找回密码)
- 密码哈希值(使用 argon2 算法哈希存储,我们永远不会存储您的明文密码)
- 显示名称(display_name,可选)
- 账户创建时间与最后登录时间
- 认证方式(邮箱与密码、通过 Apple 登录、通过 Google 登录或通行密钥)
- 通行密钥(Passkey)凭据:凭据 ID 和公钥,以及登录相关元数据(签名计数器、备份状态、标签、添加时间和最近使用时间);在您自行添加通行密钥时,或在您用密码登录后随即由设备的密码管理器自动为您的账户创建时收集(是否自动创建取决于您的密码管理器及其设置)。您可以在 App 的「账号与安全」中查看和移除通行密钥(通行密钥是您唯一的登录方式时除外)
- 邮箱验证状态
2.2 用户画像(可选)
- 生理数据:身高(cm)、体重(kg)、年龄、性别
- 活动水平(sedentary / lightly active / moderately active / very active)
- 健康目标(减重 / 增重 / 维持 / 增肌)
- TDEE 与每日能量预算(由您的画像计算得出)
2.3 饮食记录
- 食物名称、克重、餐次(早/午/晚/加餐)、时间戳
- 每条记录的营养数据(能量、碳水、蛋白质、脂肪、纤维、糖分、钠等)
- 关联的食物照片 URL(存储于 Google Cloud Storage 对象存储)
- 您主动上传的营养标签照片
2.4 AI 识别数据
- 上传的食物照片会由当前已审阅配置选择的识别服务处理。当前主力为 DeepSeek V4 Flash Vision Exp,Google Vertex AI / Gemini 3.8 Flash 为受控候选;同一次识别请求不会并发发送给多个服务商。
- 营养标签和包装正面照片以 DeepSeek V4 Flash Vision Exp 作为 OCR/提取主力;Google Vertex AI / Gemini 3.8 Flash 保留为运营人员可选择的候选。同一张图片不会发送或重放给两个服务商。
- 识别结果(食物候选、置信度、AI 估计的克重)
我们承诺:这些照片仅用于识别当前记录;FitHelix 不会用它们训练 FitHelix 自有 AI 模型,也不会在用户之间共享。DeepSeek 服务商是否用于训练或改进,当前 API 证据尚未确认。
2.5 语音数据
- 授予麦克风权限后,您通过 App 内“说话记录”功能录制的音频
- iOS 26:Apple SpeechAnalyzer / SpeechTranscriber 在设备端转录,原始录音不会上传到 FitHelix 或 AI 供应商;转录完成或失败时清理本机临时音频文件。
- Android 云端转录:音频临时经服务器发送给 Google Vertex AI / Gemini,处理完成后删除,通常在数秒内;技术性重试导致的临时保留不得超过 24 小时。
- 音频本身不会发送给 DeepSeek。您提交给 Nour 对话的转录文字按下述 Chat provider 路径处理,包括请 Nour 记录餐食时。
- 提交或保存后,转录文字或餐食草稿保留于相应饮食记录或聊天历史中。
2.6 AI 教练(Nour 对话)
- 您与 AI 助手 Nour 的聊天消息(message / response / conversation_id)
- 用于维持对话上下文的会话 ID
- 已登录用户的 Nour 对话当前以 DeepSeek V4 Pro 为 primary。只有在收到任何 DeepSeek 输出前发生 typed transient failure,才会顺序使用该意图原本的 Google Vertex AI / Gemini 3.8 Flash 模型一次;不会并发复制请求,也不会在输出开始后切换 provider。
- 发送给 DeepSeek 的上下文按 Chat 意图选择:普通闲聊和食物记录回复不发送数据库中的用户画像、记忆或当日营养上下文;营养建议可能发送相关画像/目标、已保存的饮食记忆和当日营养汇总;只有当您明确询问“今天吃了什么”等当日食物问题时,必要上下文才可能包含逐条食物名、餐次/时间、克数、热量和宏量营养。prompt 还可能包含当前消息和必要的近期用户消息。只要请求可能触达 DeepSeek,系统就会排除历史 assistant 回复和 synthetic conversation summaries;系统不会自动附加账户邮箱、内部 user ID、分组 bucket、
display_name、照片 URL 或原始 HealthKit / Health Connect sample。您主动输入的聊天正文可能本身含有身份信息,并会作为该条 Chat 消息的一部分发送。 - 食物识别、营养标签 OCR 与包装正面识别只向 DeepSeek 发送本次请求的对应照片、prompt/schema 与必要的拍摄 metadata;不会附加账户邮箱、user/entry ID、存储 pointer、历史照片、音频或原始 HealthKit / Health Connect sample。
- 已登记的 DeepSeek 文本服务只接收各自的受限输入:您提交的餐食转录文本;食物名和目标语言;用于明确标记低信任营养估算的食物名、总重量和餐次;用于记忆抽取的本轮已保存 user/assistant 对话对(只允许从用户文本提取事实);用于后台压缩的最旧、定长对话窗口;仅在用户主动开启情绪洞察后使用的当前用户消息;用于主动洞察措辞的既有 pattern/evidence、display name 和语言;用于周报的本周/上周聚合、连续记录、高置信 goal memory、语言和 opt-in emotion distribution;或已遮罩发件人、并限制长度的入站客服邮件收件人、主题和正文。对话或邮件正文可能本身包含身份或健康信息。
- DeepSeek 开放平台条款确认 API 模型会处理终端用户 Inputs,并要求 FitHelix 披露委托个人信息处理;其第 5.5 条同时明确,所链接的 DeepSeek 隐私政策不覆盖下游终端用户的处理规则。因此 FitHelix 尚未获得 API 输入处理/存储地点、训练或改进用途、保留/删除、仅按 processor 指令处理或敏感健康数据接受范围的 provider-specific confirmation。
2.6.1 情绪洞察(Opt-in,默认关闭)
- 类别:情绪状态(Emotional State)— 从您与 Nour 的对话中推断出的情绪分类(joy / stress / fatigue / motivation / frustration / neutral)及其置信度
- 存储形式:情绪信号以高层级标签和数值置信度保存,不会保存原始生物识别情绪模板,也不会保存面部或指纹识别模板
- 采集条件:仅当您在"设置 → 情绪洞察"中显式开启后才会采集,默认关闭
- 用途:仅用于为您自己的洞察与分析(周报、心情图表)提供洞察。不用于广告、不用于推送、不跨用户聚合
- 数据归属:该数据与您的账户(user_id)关联
- 保留:由您自己决定。关闭开关仅停止新的观测记录,不会自动删除历史。您可随时通过 "设置 → 情绪洞察 → 清空历史记录" 或调用
DELETE /api/v1/users/me/emotions立即硬删除所有已记录的情绪观测
2.6.2 Apple 健康与 Health Connect
健康同步为可选功能,默认关闭。系统权限与 App 内选择分别控制读取、服务端同步、写回和 AI 分析。授予系统权限本身不会开启服务端同步或 AI 分析。
在获得读取权限并开启相应功能后,Apple 健康与 Android Health Connect 可提供营养与饮水、步数、活动能量、距离与训练、睡眠、体重、体脂、瘦体重、静息心率及心率变异性;iOS 还可读取锻炼时间。具体类型取决于平台及权限。这些已开启类别只有在您另行同意同步后才可上传服务器;AI 分析另需您的同意。
iPhone 录制与训练详情还可在本机读取训练心率和骑行距离,这两类不进入健康上下文的服务端同步。静息心率和心率变异性属于另一组恢复指标,获得恢复同步同意后可上传。所选训练的路线只从 Apple 健康读取供本机显示,详见下一节。
Apple Watch 录制训练时会读取心率、活动能量和距离;您保存训练后,手表会从 Apple 健康读回这次训练以显示总结。若您允许,手表还会读取您的出生日期,仅用于在手表上估算心率区间。出生日期不会被保存;估算出的心率区间、各区间累计时间和实时每公里分段只在该次训练期间保存在手表内存中。出生日期、这些估算和训练总结都不会上传到我们的服务器,也不会包含在手表发往 iPhone 的消息中。保存的训练经由 Apple 健康同步到您的 iPhone,上文所述的健康同步只有在您另行同意后才适用。
获得写权限并开启对应写回选项后,我们可写入营养(能量、蛋白质、碳水化合物、脂肪)与饮水。iPhone 或 Apple Watch 在您明确保存训练后,写入训练及录制设备实际采集的样本,可能包括活动能量、心率、距离及可选户外路线;手动补记不会生成传感器样本。Watch 独立请求系统权限。实时录制期间 HealthKit 可能已经保存传感器样本,放弃训练不保证移除这些样本,您可在 Apple 健康中管理。
力量训练明细与 Apple 健康训练分开处理:服务器可保存您的模板、会话计划、动作名、组数、次数、负重、单位、修订与关联锚点。这些与账户关联的明细纳入账户导出及删除。锚点不包含训练时间、时长、能量、心率、距离或 HealthKit 标识;GPS 路线不属于这些服务端记录。
您可在设置中分别关闭同步、写回或 AI 分析,并在 Apple 健康或 Health Connect 撤销系统权限,以停止对应的后续处理。健康平台中已有数据需在平台内另行管理。删除账户不会删除 Apple 健康中的训练或路线。这些健康权限不请求血糖、联系人、通话记录或消息。
2.7 户外训练路线(可选)
户外走路、跑步和骑行可选择记录路线。在录制的 iPhone 或 Apple Watch 上开始户外训练,并授予位置及健康路线权限后,设备才采集精确位置。已有权限时,户外训练会自动开始 GPS 采样;拒绝或撤销这些权限仍可记录无 GPS 训练。Watch 录制时,伴随 iPhone 不会再记录第二条路线。
训练活动期间,录制设备可采集经纬度、时间、精度及系统提供的海拔、速度、方向。我们只请求使用 App 期间(When In Use)权限,不请求始终(Always)权限。活动训练可在锁屏或后台继续更新位置,并显示系统位置指示。暂停会停止 GPS 采样,后台会话与指示可能保留以支持恢复;结束、放弃或解绑会停止采集。
新路线仅保存至 Apple 健康中该训练关联的路线。坐标只存在于采集临时内存和 Apple 健康,不写入恢复日志,不在 Watch 与 iPhone 间传输,不上传服务器,也不进入普通日志、analytics、Sentry、URL、广告或 AI prompt。Watch 与 iPhone 的消息同样不传输训练心率、能量、距离或账户标识;可传输训练状态、指令和力量训练明细。
打开某条训练路线时,App 将所选 Apple 健康路线读入临时内存,离开详情页即清理。Apple MapKit 及其所在地区的地图供应商接收地图区域请求以显示底图;我们不保存这些地图请求或坐标。当前录制不提供导航或公开路线分享。
在 App 内删除自有训练时,也会尝试删除关联的 Apple 健康路线;平台或录制设备不允许删除时,请在 Apple 健康或原录制设备管理。账户删除与账户导出不会删除或导出 Apple 健康中的训练及路线,这些记录需在 Apple 健康中管理或导出。
早期版本可能曾在服务器保存私密训练与原始路线。这些历史服务端记录继续纳入账户导出及账户删除;当前版本不提供这些历史训练或路线的单独删除。早期版本的路线单独删除可能留下不含坐标的摘要与删除标记。历史版本的本机加密路线恢复文件会在登出或删号时清理。当前录制不生成新的服务端路线记录。
2.8 使用统计与诊断
- 崩溃报告(通过 Sentry SDK 收集,不包含您的饮食记录或个人资料)
- 设备型号、操作系统版本、应用版本及技术性能和会话上下文,包括用于稳定性分析和会话关联的持久 SDK 安装标识。移动 App 不向 Sentry 设置 FitHelix 账户用户 ID;iOS 网络诊断经过字段白名单和清洗。
- Sentry 为可选项:您可在设置中禁用崩溃报告上传
当前 nourai-ios Sentry 项目证据显示:已开启服务端数据清洗、默认清洗器、禁用 IP 地址存储,并配置了 email、food_record、chat_content、audio_filename、HealthKit、HealthConnect 等敏感字段名。2026-05-07 证据还显示基线 Advanced Data Scrubbing 规则,覆盖邮件地址、IP、user geo、extra.food_record、extra.HealthKit、栈帧用户名、授权 header 和含认证信息的 URL 消息。后端与 Android 项目需要各自的配置证据;这不是所有项目设置相同的声明。
当前证据支持 Sentry DPA 已签署,但未显示 Sentry BAA 已签署。因此 FitHelix 必须确保 Sentry 不接收 PHI 或敏感用户内容。
2.8.1 首日使用节点(产品分析)
为了解新用户能否顺利记下第一餐,FitHelix iOS App 会上报少量使用节点,我们的服务器只为新账户保存:
- 内容:最多五个固定节点——查看「今天」、打开相机(拍照、条码或标签扫描)、开始搜索食物、识别成功、打开餐食核对——以及我们服务器首次收到每个节点的时间
- 时间范围:仅保存账户创建后 24 小时内服务器收到的节点,每个节点最多一次;之后的上报直接丢弃
- 存放位置:仅存于我们自己的后端,并与您的 FitHelix 账户关联;到达了哪个节点不会发送给 Sentry、广告商或任何第三方分析服务,不用于跟踪
- 不包含:食物、照片、搜索内容、营养数值、Apple 健康或 Health Connect 数据、广告标识符
- 用途:汇总统计多少新账户到达各节点并保存第一餐;不据单个节点对您作出任何决定
- 您的控制:这些节点包含在数据导出中,并在您删除账户时删除
是否已保存第一餐由您已保存的记录判断,而不是根据这些节点。
2.9 我们不收集的数据
- 我们不收集联系人、日历、相册中的其他照片
- 我们不访问通话记录、短信或其他 App 数据
- 我们不使用第三方广告追踪 SDK(如 Facebook Pixel、Google Analytics for Firebase Ads)
- 我们不出售您的个人数据
FitHelix 不会为非法定目的收集、分享或出售消费者健康数据,包括可能受 Washington My Health My Data Act 规制的消费者健康数据;仅在提供您请求的功能、遵守法律、保护安全或本政策所述目的所合理必要的范围内处理。
3. 数据用途
您的数据仅用于以下目的:
- 提供核心功能:记录饮食与训练、可选的私密户外路线、计算营养摄入、显示历史数据、生成趋势洞察
- AI 处理:食物识别、营养标签 OCR、包装正面识别、已登录 Nour 对话、餐食文本解析、食物名翻译、低信任营养估算、记忆抽取/对话压缩、opt-in 情绪分类、主动洞察措辞、周报和入站客服邮件分类以 DeepSeek 为主力;Google Vertex AI / Gemini 保留受控视觉候选、Android 云端音频转录、embedding、带来源搜索和 Chat 输出前故障兜底
- Nour 助手:已登录 Nour 对话当前通过 FitHelix 后端调用 DeepSeek V4 Pro 作为 primary;仅在任何输出前发生 typed transient failure 时,才以该意图原本的 Google Vertex AI / Gemini 模型顺序 fallback,结合完成回复所需的相关饮食上下文生成回复
- 营养数据匹配:使用食物名称在营养数据库(缓存自 USDA + Open Food Facts)中查询营养值,或使用您明确输入的营养值
- 个性化:根据 TDEE 与画像显示每日能量预算与宏量素目标
- 产品改进:汇总崩溃与稳定性诊断以修复 Bug(通过 Sentry)
- 新用户引导改进:汇总统计首日使用节点(第 2.8.1 节)
营养数据可信度边界:高信任营养值来自数据库、产品标签、受控 provider 或您明确输入的内容。当没有已验证来源匹配且您请求或查看 AI Nutrition Estimate 时,DeepSeek 可以根据食物名、重量和餐次生成明确标记的低信任估算;结果必须通过服务端 sanity guard、由您确认后才能保存、保留 provenance,且不会写入 FitHelix 权威食物表。
4. 第三方服务
| 服务商 | 用途 | 数据类型 | 隐私政策链接 |
|---|---|---|---|
| Google Cloud Vertex AI / Gemini | 受控食物识别、营养标签 OCR 与包装正面识别候选 / Android 云端音频转录 / Memory embedding / Google Search grounding / 已登录 Nour 对话输出前故障兜底 | 仅在 Gemini 候选被选择时处理对应视觉照片;另按所选能力处理 Android 云端转录的临时音频、fallback Chat context、embedding 或 search input | policies.google.com/privacy |
| DeepSeek V4 Flash / V4 Flash Vision Exp / V4 Pro | 当前食物识别、营养标签 OCR、包装正面识别、已登录 Nour 对话、已登记文本服务、Deep Insight、planner、主动洞察与周报主力 | 视觉 route 仅处理本次请求的对应照片、prompt/schema 与必要 capture metadata;文本 route 只接收上文披露的受限输入。任何 route 都不会自动附加账户邮箱、内部 user/entry ID、存储 pointer、历史照片、音频或原始健康平台 sample;用户写入的对话或邮件正文可能本身含身份信息 | DeepSeek 开放平台条款;consumer 隐私政策(不覆盖下游终端用户处理规则) |
| Google Cloud Storage | 食物照片与营养标签照片存储 | 食物照片、营养标签照片 | policies.google.com/privacy |
| Upstash (Redis) | 后端缓存与会话(幂等标记、App Attest nonce、配额计数器、翻译 / 食物搜索缓存),2026-09-06 起用于生产 | 仅短 TTL 缓存条目,可能包含内部用户 ID 和用户输入的有限食物或搜索文本;不发送照片、音频、对话内容、健康平台样本或其他特殊类别数据 | trust.upstash.com |
| Sentry | 崩溃监控(可选) | 崩溃堆栈、设备型号、应用版本、技术会话上下文与 SDK 安装标识 | sentry.io/privacy |
| Apple MapKit | 所选 Apple 健康路线的底图显示 | 发送给 Apple MapKit 及区域地图供应商的地图区域请求 | apple.com/privacy |
| USDA FoodData Central | 营养数据库(公有领域 Public Domain) | 无数据回传 | fdc.nal.usda.gov |
| Open Food Facts | 营养数据库(ODbL 许可) | 无数据回传 | openfoodfacts.org/privacy |
4.1 Open Food Facts ODbL 声明
FitHelix 使用的部分营养数据来源于 Open Food Facts,遵循 Open Database License (ODbL) v1.0。依据 ODbL 规定,任何基于本应用派生的营养数据库仍保持 ODbL 许可。原始数据库贡献者归属信息可在 openfoodfacts.org 查阅。
4.2 USDA Public Domain 声明
USDA FoodData Central 的数据属于美国政府公有领域作品,无版权限制。
5. 数据存储
5.1 本地存储
- iOS:认证 Token 存储于系统 Keychain,饮食记录缓存使用 SwiftData;历史路线恢复文件采用 AES-GCM 加密与 owner 隔离;当前 GPS 坐标不写入本机恢复文件
- Android:认证 Token 存储于 EncryptedSharedPreferences(AndroidX Security),饮食记录缓存使用 Room
5.2 云端存储
- 数据库:PostgreSQL(带 pgvector 扩展),部署于 Google Cloud SQL
us-east4 - 缓存:Upstash Redis,部署于 AWS
us-east-1,已启用 TLS,2026-09-06 起用于生产;原 Memorystore 实例(us-east4-b)在切换后观察期内保留但不活跃,随后下线 - 对象存储:Google Cloud Storage bucket
nourai-photos,区域为US-EAST4 - 应用托管:Google Cloud Run,区域为
us-east4 - DeepSeek AI 处理:V4 Flash / V4 Flash Vision Exp / V4 Pro 用于食物识别、Chat、已登记文本服务、主动报告与 insight;开放平台条款未确认 API 的处理/存储地点
- 传输加密:所有客户端与服务器之间的通信均通过 HTTPS(TLS 1.3)
5.3 数据保留期限
- 账户有效期间:我们保留账户资料、饮食记录、照片、设置及其他由您创建的非对话数据
- 历史服务端训练路线:保留至账户删除;早期版本的路线单独删除可能留下不含坐标的训练摘要和删除 tombstone
- 对话消息与情绪观察:由您选择保留 30、90 或 365 天;未保存偏好的旧账户使用配置的 fallback 或默认 90 天
- 账户注销后:我们会立即移除有效账户及用户可见的生产数据记录;注销后无法再通过 FitHelix 访问该账户或照片
- 删除清理记录:独立删除队列只保留完成清理所需的最少技术记录,例如原账户标识、存储对象地址、缓存命名空间标识或加密的 provider 撤销凭据。存储或 provider 故障可能使其保留超过 30 天;这些记录不能恢复账户或照片访问,删除或撤销得到确认后会移除 raw pointer 和凭据
- 备份:已删除数据可能在自动备份中保留最多 90 天,之后由备份轮换覆盖
- 崩溃报告:Sentry 默认保留 90 天
- 音频文件:iOS 在转录完成或失败时清理本机临时文件,不上传;Android 云端转录在处理完成后删除,通常在数秒内,技术性重试导致的临时保留不得超过 24 小时。
- 首日使用节点:每个账户最多五条,保留至账户删除
- 服务器访问日志:保留 30 天用于安全审计
6. 用户权利(GDPR 第 15-22 条)
如果您是欧盟经济区(EEA)、英国或加州居民,您享有以下权利:
6.1 访问权(GDPR Art. 15)
您有权获取我们持有的关于您的个人数据副本。
6.2 更正权(GDPR Art. 16)
您可在 App 内"个人资料"页面随时修改用户画像。您也可联系我们更正其他不准确的数据。
6.3 删除权 / 被遗忘权(GDPR Art. 17)
您可在 App 中通过 我的 → 设置 → 账户与安全 → 删除账号注销账户,或发送邮件至 [email protected](参见删除账户说明)。请求删除后:
- 我们立即移除有效账户,并级联删除用户可见的生产数据记录(用户资料、饮食记录、历史服务端训练与 raw route、对话历史、成就、照片记录);此后无法再通过 FitHelix 访问该账户、照片或路线
- 端点:
DELETE /api/v1/users/me(已上线) - 独立删除队列可能保留完成清理所需的最少技术记录,例如原账户标识、存储对象地址、缓存命名空间标识或加密的 provider 撤销凭据;这些记录不能恢复账户或照片访问
- 我们会持续重试 Google Cloud Storage 对象删除和 provider 撤销,直到服务确认完成。存储或 provider 故障可能使最少清理记录保留超过 30 天;确认后会移除 raw storage pointer 和撤销凭据。Google Cloud Storage soft-delete protection 还可能把已删除对象额外保留最多 7 天
- 备份中的数据在 90 天内被轮换覆盖
6.4 数据可携权(GDPR Art. 20)
您有权以结构化、通用、机器可读的格式(JSON)获取您的个人数据副本。
- 端点:
GET /api/v1/users/me/export(已上线) - 导出内容:用户资料 + 饮食记录 + 历史服务端训练与路线记录 + 对话历史 + 已解锁的成就
- 敏感字段(密码哈希、refresh token 哈希)会被过滤后再返回
6.5 反对处理权(GDPR Art. 21)
您可以反对特定目的的数据处理(如崩溃报告)。您可在设置中禁用 Sentry。
6.6 撤回同意权(GDPR Art. 7)
您可随时撤回您的同意,包括关闭情绪洞察或健康同步、禁用 Sentry、撤销位置权限或停止使用 GPS 路线记录;这不影响撤回前基于同意的处理的合法性。
6.7 权利行使方式
要行使上述任何权利,请发送邮件至 [email protected]。我们将在 30 天内响应您的请求。
请勿出售或共享我的个人信息:FitHelix 不出售个人信息,也不会为了跨情境行为广告分享个人信息。如果您仍希望提交此类请求,请以该短语作为邮件主题发送至 [email protected]。
加拿大用户:FitHelix 会在您选择使用可选 AI 照片、营养标签、语音、健康同步和情绪洞察功能之前或使用时说明相关处理。您可以拒绝这些可选功能,并继续使用核心手动记录能力。
7. 儿童隐私
FitHelix 不适用于 13 岁以下儿童。我们不会有意收集 13 岁以下儿童的个人信息。如果我们发现误收集了此类数据,将立即删除。
如果您是家长并发现您的孩子向我们提供了个人信息,请联系 [email protected]。
8. 数据安全措施
我们采取以下措施保护您的数据:
- 传输加密:HTTPS (TLS 1.3) 强制启用
- 密码安全:argon2id 算法哈希,盐值随机
- 认证:JWT 访问令牌(短期有效) + Refresh Token 轮换机制
- Refresh Token 哈希:Refresh Token 以 SHA-256 哈希形式存储于数据库
- 移动端密钥存储:iOS Keychain / Android EncryptedSharedPreferences
- 数据库防护:参数化 SQL 查询(防 SQL 注入),sqlx 编译期 SQL 校验
- API 安全:速率限制 (Rate Limit) 中间件,JWT 认证中间件
- 最小权限原则:服务账号仅授予必需的数据库权限
尽管我们采取合理措施,但互联网传输与电子存储不存在 100% 安全。请妥善保管您的账户密码。
9. Cookie 和追踪
FitHelix 是原生 iOS / Android 应用,不使用 Cookie。我们不使用任何第三方分析 SDK(无 Google Analytics、无 Facebook SDK、无 AppsFlyer、无 Branch.io)。
10. 国际数据传输
- 主要处理地:我们的后端、数据库和对象存储位于 Google Cloud
us-east4/US-EAST4 - 缓存:短 TTL 缓存条目由 Upstash, Inc. 在 AWS
us-east-1(美国)处理,受其数据处理附录(DPA)约束,并以欧盟标准合同条款(SCC)与 EU-U.S. Data Privacy Framework 作为跨境传输保障 - 跨境传输:使用 Google Cloud / Vertex AI / Gemini / Sentry 时,您的数据可能被传输至美国等第三国;食物识别、已登录 Nour 对话、已登记文本服务、主动报告和 insight 当前可能委托 DeepSeek API 处理。DeepSeek 开放平台条款未确认 API 的处理/存储地点,且当前未验证这些路径的 FitHelix-specific DPA 或 SCC
- 传输保障:对于已验证具备相应条款的服务商,我们依赖 GDPR Standard Contractual Clauses (SCC) 或等效的跨境传输保护机制;该表述不适用于上文明确列为尚未验证 DPA / SCC 的 DeepSeek 路径
11. 政策更新
我们可能会不时更新本政策。重大变更可能通过以下方式通知您:
- 版本化 App 内通知横幅
- 当前公开政策及本文件顶部的“最后更新”日期
- 法律要求时使用包括电子邮件在内的其他渠道
由于 v4.0 生效前没有既有外部用户,当前版本不展示版本化 App 内更新提示,也不为本次私密路线披露发送通知邮件。
继续使用 FitHelix 即表示您接受更新后的政策。
12. 联系我们
- 隐私相关问题:[email protected]
- 法律相关问题:[email protected]
- 正式法律送达 / 邮寄地址请求:请联系 [email protected]。如发布前需要公开邮寄地址,应使用真实商业邮箱、邮政信箱或虚拟办公室地址,而不是私人住址。
- 官网:https://nourai.app
- 数据保护官(DPO):FitHelix v1 个人开发者发布阶段尚未指定 DPO。隐私请求请发送至 [email protected];如法律要求,我们会指定 DPO。