Legal
Privacy
Last updated 31 August 2026
What stays on your device
Your workouts, sets, exercises, readiness check-ins and derived trends are stored locally on your iPhone or Android device. LoadCurve requires an account, but manual logging and your complete local history remain available without a paid subscription.
What is sent to a server
The App Store and Google Play builds sync to LoadCurve's own server by default, so your training history survives losing or replacing your phone. Your workout records are sent there and can be restored on another device. The server is a small self-hostable service; if you build the app yourself you can point it at your own instance, and then your data never reaches us.
Voice logging sends the audio clip you recorded to that server and then to OpenAI for transcription and parsing. Coach requests send the profile information and training history you entered directly in LoadCurve to OpenAI to produce the requested result. Health-imported workouts and raw Health signals are removed before any OpenAI request. Audio and prompt data are used for the requested feature and are not sold or used for advertising.
LoadCurve also sends a small set of first-party product events to its own server, such as first app open, onboarding completion, workout start or completion, voice-draft confirmation, paywall views and purchase attempts. These events include a random installation identifier, your LoadCurve account identifier, app version and platform. They never include exercise names, weights, Health data, readiness values, audio, transcripts or email addresses. We use them to understand feature adoption, reliability, purchase funnels and aggregate retention.
Apple Health and Health Connect
LoadCurve requests read-only access to heart-rate variability, resting heart rate and sleep from Apple Health or Health Connect to estimate daily training readiness. If you separately enable automatic cardio import, it also reads completed workouts and their duration, distance, heart rate, energy and elevation so they can appear in your training log. It never writes to Health.
Readiness signals are stored in the readiness record for the day alongside your subjective check-in and resulting score. Imported workouts are stored as training-log entries. If sync is on, those records are sent to LoadCurve's server so they survive changing phones. Raw Health signals and Health-imported workouts are excluded from OpenAI requests; Coach receives only the derived readiness score, its band and your subjective answers.
You can decline Health access entirely; readiness then runs on your subjective check-in alone.
Health data is used only to provide readiness, cardio import, your private log and deterministic trends. It is never used for advertising or marketing, sold, shared with data brokers, or used to train a shared model.
Accounts
LoadCurve uses Sign in with Apple on iOS and Google Sign-In on Android. We store the provider identifier and a session token; LoadCurve never receives your Apple or Google password.
Pre-provisioned review or support accounts may sign in with an email address and password. Public email account creation is disabled until verified email delivery and password recovery are available. For an email account we store the address — used only to identify the account at sign-in, never for marketing — and a hash of the password. We do not store the password itself.
RevenueCat processes subscription status and Google Play or Apple processes payment details.
What we do not do
No third-party analytics or advertising SDKs are embedded in the app. Your training data is not sold, shared with data brokers, or used to build cohort or leaderboard products. There is no social feed and no comparison against other users.
Website analytics
If you accept analytics on loadcurve.app, Google Analytics records information about your visit, such as pages viewed, interactions, browser and device type, referral source and approximate location. Google receives and processes this website-usage data on our behalf. We use it only to understand and improve the website, not to collect training or Health data or to serve targeted advertising.
Google Analytics does not load until you choose Accept analytics. Your choice is saved in your browser. Clearing this site's storage lets you choose again.
Processors, security and retention
RevenueCat processes subscription status. Apple and Google process payments and social sign-in. OpenAI processes only the voice or Coach request described above. We do not embed third-party analytics or advertising SDKs.
Data is encrypted in transit with HTTPS. Access to the production service and its backups is restricted, and backups are encrypted when copied offsite.
Live account data is retained while your account exists. Operational backups are retained on a rotating schedule for up to 14 days and then expire automatically. A deleted account may remain in an encrypted backup until that backup expires; it is not restored except for disaster recovery. A minimal salted, one-way fraud-prevention record may be retained after deletion and cannot reconstruct your account or workouts.
Raw product-analytics events linked to your account are deleted when your account is deleted. Aggregate totals that no longer identify an account may be retained to understand the service over time.
Deleting your data
Settings → Delete account & all data deletes the live server-side account and training data only after the server confirms success, then clears the device. Deleting your LoadCurve account does not cancel an App Store or Google Play subscription; use the subscription-management link in Settings if you also want billing to stop. You can also follow the instructions at loadcurve.app/delete-account.
Contact
Questions about any of this: hello@loadcurve.app.