HarpMaster 隐私政策
发布方: HarpMaster 最后更新: 2026 年 6 月 10 日
本隐私政策说明 HarpMaster 收集什么信息、如何使用,以及您的选择权。适用于 HarpMaster 国际版移动应用(iOS 与 Android)及本网站。
概要
- 麦克风音频永远不离开您的设备。音高检测在本地完成。
- 我们将您的练习记录、设置、录音仅存储在您的设备上。
- 我们会向服务器注册一个设备标识,用于购买会员验证;并记录化名使用事件(与设备标识关联,不与姓名/邮箱等个人身份关联)以了解付费漏斗。
- 我们不出售数据。我们不跨应用追踪您。
- 您可以随时通过邮件请求删除服务端数据(见”联系方式”)。
一、权限
| 权限 | 用途 |
|---|---|
| 麦克风 | 实时检测口琴演奏音高,音频在本地处理,不上传。 |
| 网络 | 加载 MIDI 文件、获取应用配置、显示广告、上报崩溃。 |
| 应用内购买 | 可选 Premium 订阅(按月 / 按年)、Lifetime 一次性购买,或积分包(详见用户协议第五节)。 |
二、本地存储数据
以下数据仅存储在您设备上(localStorage / 原生偏好设置),不会上传:
- 您录制的口琴演奏(使用录音功能时)
- 练习历史与评分
- 应用设置(语言、主题、调音、口琴调等)
- 会员状态标志(服务端状态的本地副本)
卸载应用会清除这些数据。
三、发送至服务器的数据
我们的服务器部署在 新加坡基础设施(阿里云新加坡区域)。
3.1 设备注册
首次启动时,应用生成一个稳定的硬件标识(Device.getId() — iOS identifierForVendor / Android ANDROID_ID),发送至我方 API(/api/devices/register)。服务器返回随机生成的 ownerId + deviceSecret,用于后续 API 认证。
- 用途: 认证购买与会员查询请求;在不建账号的前提下区分设备。
- 保留期: 设备活跃期间保留;用户请求时删除(见第六节)。
3.2 应用内购买
国际版会员升级由 Apple In-App Purchase(iOS)或 Google Play Billing(Android)处理。交易完全在您的设备与 Apple / Google 之间完成 —— 我方服务器看不到您的支付凭证、卡号或 Apple/Google 账号信息。
购买成功后,应用会将 Apple / Google 签名的 receipt 发送至我方服务器进行验证,我们记录:
-
receipt 去重绑定(防止同一 receipt 在另一台设备复用)
-
您的
ownerId(用于为该设备授予会员权益) -
用途: 验证购买真实性并发放会员;防止跨账号共享 receipt。
-
保留期: 直到您请求删除,或 receipt 被 Apple / Google 标记失效。
3.3 使用事件(化名分析)
我们记录产品分析事件以了解付费漏斗并改进产品。事件包括:install、first_open、practice_started、remove_ads_button_clicked、payment_initiated、payment_success、payment_cancelled。每条事件包含:设备标识、平台(ios / android)、应用版本,以及少量元数据(如使用了哪种支付方式)。这些事件是化名(pseudonymous) —— 与您的设备标识关联(注册后也与 ownerId 关联),但不与姓名、邮箱、手机号等个人身份关联。
- 用途: 衡量转化、发现 UX 问题、决定下一步做什么。不记录任何个人内容(音频、练习录音、键入文字)。
- 保留期: 13 个月。
3.4 崩溃与错误上报
应用崩溃或触发受控错误时,会向第三方崩溃上报服务提供商发送报告。报告包含:堆栈信息、应用版本、平台、最近的用户操作面包屑。事件载荷上传前会脱敏处理(移除设备标识、音频数据、Bearer token)。您的 IP 地址在网络传输层(HTTPS 请求)对该服务商基础设施可见(与任何 HTTPS 请求一致),但我们已配置客户端使 IP 不会被写入持久化的崩溃记录中。
- 用途: 诊断和修复 bug。
- 保留期: 90 天(由该服务商基础设施保存)。
3.5 服务器访问日志
Nginx 访问日志记录每次 API 请求的 IP 地址、时间戳、URL 路径、HTTP 状态码,这是标准 Web 服务器日志。
- 用途: 调试、防滥用、速率限制。
- 保留期: 30 天;超期后匿名化或删除。
3.6 Play Integrity 令牌(仅 Android)
为防止购买与订单欺诈,Android 版本可能通过 Google Play Integrity API 申请短效完整性令牌并转发给我方服务器。令牌由 Google 解码,我们仅看到裁决结果(可信 / 不可信),不含设备个人信息。
- 用途: 防止重签 / 修改的应用伪造购买。
- 保留期: 不存储,仅记录裁决结果。
3.7 积分与奖励
本应用包含应用内积分系统。您可通过签到、观看激励视频广告、分享等方式赚取积分,并用于解锁单曲或兑换临时去广告权益。我们存储您的积分余额与积分变动流水,与您的 ownerId 关联。
- 用途: 运营积分功能——发放、扣减、展示余额与历史;防止重复领取等滥用。
- 保留期: 设备活跃期间保留;用户请求时删除(见第六节)。
四、第三方服务
以下第三方可能直接从应用接收数据,各方有独立的隐私政策。
| 服务 | 用途 |
|---|---|
| Google AdMob | 广告 |
| Apple In-App Purchase | 购买(iOS) |
| Google Play Billing | 购买(Android) |
| Google Play Integrity API | 反欺诈(Android) |
| 第三方崩溃上报服务提供商 | 崩溃上报 |
AdMob 特别说明: 对欧盟经济区 / 英国用户,我们使用 Google 的 User Messaging Platform (UMP) 在首次启动时收集个性化广告同意。您可随时在 设置 → 广告偏好(即将推出,或通过邮件申请)中更改选择。
五、儿童隐私
HarpMaster 并非面向 13 岁以下儿童(GDPR 场景下为欧盟经济区 / 英国的 16 岁以下)。我们不会故意收集儿童个人信息。若您认为儿童向我们提供了信息,请联系我们删除。
六、您的权利 — 如何请求删除或访问
您可通过以下邮箱请求访问、更正或删除我们持有的可识别数据:
邮件请注明您设备的 支持代码(设置 → 关于 → 支持代码,16 位字符,用于定位您的设备记录)。
我们会在 14 天内处理。我们会删除:
- 设备注册记录(
devices)。 - 过往 Apple / Google 购买的 receipt 去重绑定(
iap_receipts)。 - 您
ownerId关联的使用 / 漏斗事件(events)。 - 您的积分余额与积分流水(
points_balance、points_ledger)。 - 相关崩溃上报记录(由我方代为向服务商发起删除请求)。
我们不会按请求删除的数据(因为存储时就已与您无关联):
- 聚合的广告展示 / 点击计数(
ad_impressions,ad_clicks)。这些记录以短暂的客户端标识为 key —— 该标识从未在服务端与您的ownerId关联,且您的设备在卸载应用时会主动丢弃。我们无法识别哪些记录属于哪位用户,因此也没有可定向删除的目标。 - 注册前的漏斗事件(如首次启动时在设备注册完成前触发的
install、first_open)。这些事件以上述同一短暂客户端标识存储,不含ownerId,由 13 个月留存窗口自动清理。
本地数据(练习记录、录音、设置)通过卸载应用删除。
七、政策变更
产品演进时我们会更新本政策。实质性变更会在应用内通知。顶部”最后更新”日期反映最近一次变更。
八、联系方式
隐私问题、删除请求及相关事宜请联系:harpmaster72@gmail.com