1. Scope
This policy explains the baseline privacy practices for software products, websites, and related services published by MingHua Li. A product-specific disclosure may add to or narrow these terms. If it conflicts with the general section, the product-specific disclosure controls for that product.
MingHua Li is an independent developer and the controller of information handled directly through these products. Apple, Cloudflare, email providers, and other service providers may separately act under their own terms and privacy notices.
2. Data and privacy principles
Products collect and use only the information reasonably needed to provide requested features, operate and secure the service, complete purchases, respond to support requests, and comply with law. We do not sell or rent personal information, and we do not use it for cross-app or cross-website advertising tracking.
Depending on the product and feature, information may include:
- Information you choose to provide, such as support email content and attachments.
- App-generated identifiers, feature settings, gameplay, or other content required for a requested service.
- Purchase-entitlement information supplied by an app-store platform.
- Limited network and technical information processed by hosting and security providers, such as IP address, request time, path, response status, headers, diagnostics, and security signals.
Sensitive device permissions are used only when a product feature needs them and the operating system requests permission.
3. Purposes and legal grounds
We process information to provide app functionality; maintain purchases and entitlements; operate online features; prevent fraud and abuse; diagnose failures; protect users and services; answer support, privacy, and legal requests; and meet legal obligations.
Depending on applicable law and context, processing is based on performance of a contract or requested service, consent, legitimate interests in operating and securing the service, or compliance with law. Where processing relies on consent, you may withdraw it through the relevant device or app control without affecting earlier lawful processing.
4. Service providers and international processing
Products may use Apple for App Store, StoreKit, Game Center, permissions, and device frameworks; Cloudflare for hosting, security, Workers, and D1 storage; and an email provider for support correspondence. Providers receive only information needed for their role and process it under their own terms.
Providers may process information outside your country or region. Applicable safeguards and rights vary by location. Storefront availability, currency, online features, and provider services may also differ by region.
5. General retention and security
Information is retained only while reasonably needed for the purposes described here, while a service remains active, while a support or legal request is handled, or as required by law. Support and privacy correspondence has no fixed automatic expiry and is kept only as needed to handle the correspondence, maintain an appropriate request record, protect the service, or comply with law.
We use reasonable safeguards such as HTTPS, pseudonymous identifiers where practical, limited data fields, server-side validation, and restricted service credentials. No storage or transmission method is completely secure, so absolute security cannot be guaranteed.
6. Your choices and rights
You can control camera, Photos, and other permissions in system settings and choose whether to use optional online, recording, sharing, and purchase features.
Depending on your location, you may have rights to request access, correction, deletion, restriction, objection, portability, or withdrawal of consent, and to complain to a data-protection authority. Email 2290320152@qq.com with the product name, request, country or region, and only the information reasonably needed to locate relevant data.
Children
Products are not directed to children below the minimum digital-consent age in their region unless a product specifically states otherwise. A parent or guardian should supervise a child's use of camera, exercise, purchase, and online features.
PushUp Pilot — product disclosure
Purpose and account model
PushUp Pilot is a camera-controlled fitness arcade game. It is not a medical device, health-measurement service, or substitute for professional advice. The app has local player profiles but does not create an authenticated online account.
Information processed on the iPhone
- Live camera frames and Vision body-pose landmarks used for motion control and calibration.
- Calibration profiles, control preferences, language, theme, character, and recording settings.
- Local player names and avatar images.
- Local record snapshots, including player name and avatar, score, completed push-up count, duration, clap push-up count, record category, and date where available.
- Pending upload state and the app's weekly allowance status.
- Optional ReplayKit videos. Recording is off by default, excludes microphone audio, and saves completed recordings to Photos after permission is granted.
- Analytics report images that you explicitly choose to save to Photos.
Deleting a local player removes that profile and calibration data, but prior local record snapshots retain the name and avatar until you also clear Records. Deleting the app removes ordinary local app data subject to iOS backup behavior. Media already saved to Photos must be deleted in Photos.
PushUp Pilot does not use HealthKit and does not upload camera frames, pose landmarks, local names, local avatars, replay videos, or report images to its Cloudflare service.
Global leaderboard
Creating a local player registers an app-generated random UUID with the Cloudflare service. The service creates a non-editable public alias: Pilot- followed by the UUID without hyphens. Opening the leaderboard sends the selected player UUID as a query parameter.
Eligible uploads include the player UUID, a random challenge UUID, numeric score, server-recorded time, ranking and challenge-count data, and weekly quota state. Public entries show the automatic alias, score, rank, challenge count, and update time. Local names and avatars are not uploaded or shown.
Free users can manually complete one successful eligible upload per player UUID per UTC week, beginning Monday at 00:00 UTC. Failed, rejected, duplicate, or rolled-back attempts do not consume the allowance. Lifetime Pro queues eligible standard scores for automatic upload. Manual-control scores and scores with detected knee support are entertainment records and are not eligible.
The service accepts no public profile text, user-selected public nicknames, images, audio, comments, messages, chat, or posts. Content reporting and user blocking therefore do not apply to this leaderboard.
StoreKit and Game Center
Lifetime Pro is an optional one-time, non-consumable Apple in-app purchase. For premium uploads, the app sends Apple's signed transaction JWS to the Cloudflare Worker. The Worker transiently decodes and verifies the bundle ID, product ID, environment, transaction identifier, purchase and revocation metadata, and entitlement status. The raw JWS is not intentionally persisted in D1 or application logs.
The app asks Apple Game Center to authenticate at launch. For authenticated users, eligible best scores and milestone achievements are submitted automatically to Apple. Apple manages Game Center account information, display name, records, availability, and privacy settings. Game Center data is separate from the Cloudflare leaderboard.
Providers and retention
We do not intentionally place camera content, local profile names or avatars, or raw StoreKit JWS values in Workers Logs.
Data requests
PushUp Pilot has no authenticated server account and no server-side self-service deletion endpoint. Uninstalling the app or deleting a local player does not automatically remove Cloudflare leaderboard rows, Game Center records, Apple purchase history, or media saved to Photos.
Email 2290320152@qq.com with subject PushUp Pilot Data Request, your automatic alias or player UUID, country or region, and request. Because aliases and UUIDs can be public, they alone do not prove control. We will acknowledge the request within 5 business days and explain whether additional limited evidence is reasonably available. We do not promise deletion where control cannot reasonably be verified. Valid requests are handled as required by applicable law, subject to the 7-day D1 Time Travel recovery window.
Use Apple's controls for Game Center and purchase history. Use Photos to delete replay videos or report images.
7. Changes and contact
We may update this policy when products, providers, laws, or data practices change. The date above identifies the current version. Material notice will be provided where required by law.
Questions and privacy requests: 2290320152@qq.com
1. 适用范围
本政策说明李明华发布的软件产品、网站及相关服务所遵循的通用隐私规则。具体产品披露可以补充或缩小这些规则;如与通用部分不一致,以该产品的专项披露为准。
李明华为独立开发者,并作为直接处理相关信息的控制者。Apple、Cloudflare、邮箱服务商及其他服务提供商可能依据其自身条款和隐私说明独立处理信息。
2. 数据与隐私原则
产品仅收集和使用为提供用户所请求功能、运营并保护服务、完成购买、处理支持请求和履行法律义务而合理必要的信息。我们不会出售或出租个人信息,也不会将其用于跨 App 或跨网站广告追踪。
根据产品和功能,可能涉及:
- 您主动提供的信息,例如支持邮件正文和附件。
- App 生成的标识符、功能设置,以及提供所请求服务所需的游戏或其他内容。
- 应用商店平台提供的购买权益信息。
- 托管和安全服务商处理的有限网络与技术信息,例如 IP 地址、请求时间、路径、响应状态、请求头、诊断信息和安全信号。
仅在产品功能确有需要且操作系统向您请求权限时使用敏感设备权限。
3. 处理目的与依据
我们处理信息用于提供 App 功能;维护购买与权益;运行在线功能;防止欺诈和滥用;诊断故障;保护用户和服务;响应支持、隐私及法律请求;以及履行法律义务。
根据适用法律和具体场景,处理依据可能包括履行合同或用户请求的服务、用户同意、运营和保护服务的合法利益,或遵守法律。当处理依赖您的同意时,您可以通过相应设备或 App 控件撤回同意,且不影响此前处理的合法性。
4. 服务提供商与跨境处理
产品可能使用 Apple(App Store、StoreKit、Game Center、系统权限和设备框架)、Cloudflare(托管、安全、Workers 和 D1 存储)以及处理支持邮件的邮箱服务商。服务商仅接收完成其职责所需的信息,并依据自身条款处理。
服务商可能在您所在国家或地区之外处理信息。适用保障措施和用户权利因地区而异;商店可用性、货币、在线功能和服务商能力也可能存在地区差异。
5. 通用保留与安全
我们仅在实现本政策所述目的、相关服务仍在运行、支持或法律请求正在处理,或法律要求的期间保留信息。支持及隐私邮件目前没有固定自动过期时间,仅在处理邮件、保留适当请求记录、保护服务或履行法律义务所需期间保存。
我们采取 HTTPS、适用时使用假名化标识符、限制数据字段、服务端校验和限制服务凭据访问等合理措施。任何存储或传输方式都无法保证绝对安全。
6. 您的选择与权利
您可以在系统设置中管理相机、照片等权限,也可以选择是否使用在线、录制、分享和购买功能。
根据您所在地区,您可能有权请求访问、更正、删除、限制处理、反对处理、数据可携带或撤回同意,也可以向数据保护监管机构投诉。请发送邮件至 2290320152@qq.com,注明产品名称、请求类型、所在国家或地区,以及定位相关数据所合理需要的最少信息。
儿童
除非具体产品另有明确说明,产品不面向低于所在地区最低数字同意年龄的儿童。家长或监护人应监督儿童使用相机、运动、购买和在线功能。
PushUp Pilot — 产品专项披露
用途与账户模式
PushUp Pilot 是一款通过相机动作控制的健身街机游戏,不属于医疗器械、健康测量服务,也不能替代专业建议。App 包含本地玩家档案,但不会创建经过身份验证的在线账户。
在 iPhone 本地处理的信息
- 用于动作控制和校准的实时相机画面及 Vision 身体姿态关键点。
- 校准档案、控制偏好、语言、主题、角色和录像设置。
- 本地玩家名称和头像图片。
- 本地记录快照,包括可用情况下的玩家名称与头像、分数、完成俯卧撑次数、持续时间、击掌俯卧撑次数、记录类别和日期。
- 待上传分数状态和 App 保存的每周免费次数状态。
- 可选 ReplayKit 回放视频。录像默认关闭、不包含麦克风音频,并在获得权限后将完成录像保存到系统相册。
- 您主动选择保存到系统相册的训练统计报告图片。
删除本地玩家会移除该档案及校准数据,但以往本地记录中的名称和头像快照会继续保留,直到您同时在“记录”中执行清空。删除 App 会移除一般本地 App 数据,但可能受 iOS 备份机制影响。已经保存到系统相册的媒体需要在“照片”中删除。
PushUp Pilot 不使用 HealthKit,也不会把相机画面、姿态关键点、本地名称、本地头像、回放视频或报告图片上传至其 Cloudflare 服务。
全球排行榜
创建本地玩家时,App 会立即向 Cloudflare 服务登记随机 UUID。服务会生成不可编辑的公开别名:Pilot- 加去掉连字符的 UUID。打开排行榜时,App 会把所选玩家 UUID 作为查询参数发送。
上传符合条件的分数时,服务处理玩家 UUID、随机挑战 UUID、数字分数、服务端记录时间、排名与挑战次数,以及每周额度状态。公开内容显示自动别名、分数、排名、挑战次数和更新时间;本地名称与头像不会上传或显示。
免费用户每个玩家 UUID 每个 UTC 周可手动成功上传一次,周期从周一 00:00 UTC 开始。失败、被拒绝、重复或回滚的请求不会消耗次数。Lifetime Pro 会把符合条件的标准分数加入自动上传队列。使用手动控制或检测到膝盖支撑的分数属于娱乐记录,不具备全球排行榜资格。
服务不接受公开个人简介、用户自选公开昵称、图片、音频、评论、消息、聊天或帖子,因此内容举报和用户屏蔽不适用。
StoreKit 与 Game Center
Lifetime Pro 是可选的一次性非消耗型 Apple App 内购买。进行高级版上传时,App 会将 Apple 签名的交易 JWS 发送到 Cloudflare Worker。Worker 临时解码并验证 Bundle ID、产品 ID、环境、交易标识符、购买与撤销元数据及权益状态。原始 JWS 不会被有意持久化到 D1 或应用日志中。
App 启动时会请求 Apple Game Center 进行身份验证。已登录用户的符合条件最佳分数和里程碑成就会自动提交给 Apple。Game Center 账户信息、显示名称、记录、可用性和隐私设置均由 Apple 管理,与 Cloudflare 排行榜相互独立。
服务商与保留期
我们不会有意把相机内容、本地玩家名称或头像、原始 StoreKit JWS 写入 Workers Logs。
数据请求
PushUp Pilot 不存在经过身份验证的服务端账户,也没有服务端自助删除接口。卸载 App 或删除本地玩家不会自动移除 Cloudflare 排行榜数据、Game Center 记录、Apple 购买历史或已保存到系统相册的媒体。
请发送邮件至 2290320152@qq.com,主题写明 PushUp Pilot Data Request,并提供自动别名或玩家 UUID、所在国家或地区及具体请求。由于别名和 UUID 可能公开可见,这些信息本身不能证明控制权。我们将在 5 个工作日内确认收到请求,并说明是否存在可合理提供的其他有限证明。在无法合理验证控制权时,我们不会承诺删除。有效请求将依适用法律处理,并受 D1 Time Travel 7 天恢复窗口影响。
Game Center 和购买历史相关请求请使用 Apple 的控制工具;回放视频或报告图片请在“照片”中删除。
7. 更新与联系
当产品、服务商、法律或数据实践发生变化时,我们可能更新本政策。页面顶部日期代表当前版本;法律要求时,我们会提供重大变更通知。
问题及隐私请求:2290320152@qq.com