Privacy Policy
UNITY ("we", "us") provides coached training and nutrition through our mobile app and coach desk. This policy describes what the source-controlled product collects and where it goes. It does not certify live production keys, backups, or App Store Connect settings.
What we collect
- Account — email address and a salted, peppered password hash. We do not store your plain password.
- Training and nutrition — programs, logged sets, readiness check-ins, weigh-ins, food logs, water, and supplement or stated-dose logs you or your assigned coach enter.
- Health readings (optional) — if you connect Apple Health or Health Connect, we read steps, sleep, heart rate, HRV, weight, and active energy. The iOS HealthKit path requests read access only. Those readings can be copied into your check-ins and stored on our servers so programming can use them. You can disconnect in Profile. We do not write HealthKit samples from JavaScript. Sending a session toward Apple Watch uses WorkoutKit on a custom iOS build; that native path is separate from the HealthKit read list.
- Lab results (optional) — numbers you type or that on-device OCR reads from a photo you choose. Lab photos stay on the device. Structured values (and stated doses) can sync to our servers and to your assigned coach. We do not send lab photos to a third-party model.
- Form / lifting video (optional) — clips you record or pick, after in-app consent, are stored for you and your assigned coach on our servers (and in the operator's object store if that is configured). Pose measurement uses a self-hosted MediaPipe worker in this source tree. We do not use those clips to train a general model unless you separately turn on research labelling.
- Meal logging — barcode and name lookup. Plate-photo scan to a third-party model is disabled in this source. Photos are not sent to OpenAI or another hosted vision API from this codebase.
- Messages — text and allowed attachments between you and your assigned coach.
- Push tokens — if you enable notifications, a device token for coach messages and rest alerts.
How we use it
- To generate and adapt training and nutrition programming.
- To let your assigned coach review training, nutrition, check-ins, lab numbers you synced, messages, and form clips you uploaded.
- To bill: Apple In-App Purchase for athlete membership inside the iOS app; Stripe Checkout on the web for the same membership when the web desk is used; Stripe on the web desk for coach packages. We do not complete coach package checkout inside the iOS app.
- To send password-reset and confirmation codes through the operator's mail provider (Resend when the operator has configured it).
- Crash reports go to Sentry when a DSN is configured: device type, app version, and an anonymous account id. Source strips passwords, authorization headers, and image payloads before send. Product events (for example sign-in, intake complete, session complete) are stored on our servers.
We do not sell your data or run advertising in this source. We do not make claims about a processor's own privacy policy on their behalf.
Storage
Account and synced training data live on our servers, with TLS in transit. On iOS, structured on-device records (check-ins, weigh-ins, HealthKit snapshot copies, lab values, progress-photo JSON, and related member snapshot keys) are files under Application Support in the AsyncStorage directory RCTAsyncLocalStorage_V1, not NSUserDefaults. Lab photos are files under Documents/bloodwork/. This source pins RCTAsyncStorageExcludeFromBackup and, on a custom/EAS iOS build, sets NSURLIsExcludedFromBackupKey on those directories at launch. Encryption of a store is not the same as backup exclusion. Whether a given signed IPA actually applied the flags is a device/IPA check, not something this HTML can certify. We do not use CloudKit or iCloud APIs in this source. Logout keeps account-scoped local lab history on the device; it does not delete it.
Retention and deletion
Data we keep for an active account stays until you delete the account or we are required to keep a legal record. Specific backup and processor retention periods are not stated here because they are operator-controlled and not in this source.
You can start deletion in the app at Profile → Delete account, or email team@quietunity.app. Deletion of the UNITY account removes the account record and associated data we store, including form videos we stored for you, and discards that account's local lab files on that device. Logout does not delete local lab history; it hides it from other accounts on the device.
Apple In-App Purchase: deleting the UNITY account does not cancel an App Store subscription. Apple keeps billing until you cancel in Apple ID subscriptions (https://apps.apple.com/account/subscriptions). You can still delete the UNITY account without cancelling first.
Stripe: if the account has a Stripe subscription id we can see, deletion attempts to cancel that Stripe subscription.
Your rights
You may request a copy, a correction, or deletion by emailing team@quietunity.app. Timing of a human response is an operator process, not a guarantee in this document.
Children
UNITY is not directed at children under 16. We do not knowingly collect data from children. App Store age rating and any override are set in App Store Connect, which this file cannot see.
Contact
UNITY, Perth, Australia — team@quietunity.app