OPTML

Privacy Policy

Last updated October 25, 2026

The short version: your account, fitness profile and day-to-day logs (workouts, food, weigh-ins) sync to our servers so they follow you to a new phone. A Pump Check you share after a workout (a photo from each camera, a caption and the workout summary) goes only to the followers you have approved (or to any signed-in member if you make your account public), and to nobody else unless you choose Share as invite on it, which makes that one post (its back-camera photo, caption and workout summary) readable by anyone holding the link until you unshare or delete it; your profile photo, if you add one, is shown beside your name to friends and to members who find you. Finding people from your contacts is optional and engineered so raw contacts never leave your phone. Location is optional: if you save your gym, its location and the machine map stay on your phone and are never sent to us. No ads. No third-party trackers. Your data is never sold.

Account data

When you create an account we store your name, email address, and a salted scrypt hash of your password — we cannot see the password itself. Your sign-in session uses a token stored in the iOS Keychain on your device. We also store a one-way SHA-256 hash of your email so friends who already have your address can find you.

If you use Sign in with Apple, we store the identifier Apple assigns to you for this app and the email address Apple shares (which may be Apple's private relay address). We never see your Apple ID password, and an account created this way has no OPTML password.

If you forget your password, we email a six-digit code to the address on the account. The code works for 15 minutes and once, and we store only a hash of it. Setting a new password signs out every other device.

Fitness profile

Your profile — age, gender, height, weight, activity level, goal, and unit preference — is stored on your device and synced to your account so it follows you to a new phone. It is used to compute calorie and protein targets and to personalize workouts.

Workouts, food logs and body weight

Workout sessions, logged sets, food entries, saved ingredients, cardio, body-weight entries, your splits and presets, custom foods and exercises, the notes you attach to exercises, and your XP and settings are stored on your device and backed up to your account as a single document, so a new phone comes back with your history when you sign in. We do not analyse that document; it is kept so it can be handed back to you, and it is included in the nightly copies of our database described under Security. Your profile picture, if you add one, is uploaded as a small square and shown beside your name wherever another member sees it: to your followers on your posts, the leaderboard and your profile page, and to a member who finds you by search, by contacts, through People You May Know or by opening your profile page; removing it in Profile deletes it from our server. This version of the app has no coaching feature, so no workout, set or message is sent to a coach.

Food search

The app's built-in food list is searched on your device. When you are signed in, what you type in the food search is also sent to our server to search a shared food database built from the U.S. Department of Agriculture's public FoodData Central and from foods other members have offered; the query is matched and discarded, never stored. If you choose to offer one of your custom foods to everyone, its name and nutrition figures are reviewed by us before they appear in search, and they appear without your name.

Barcode scanning

Scanning a product barcode sends only the barcode number to the Open Food Facts public database, which returns the product’s nutrition information. No photo is captured, stored or uploaded — the camera reads the barcode on your device and nothing else. Camera access is used only while you are actively scanning, and you can always type a barcode in by hand or enter a food manually instead.

Pump Checks you share

After a workout you can share a Pump Check: a photo from the back camera and one from the front camera taken a moment later (or a single photo from your library), a caption, and the workout's summary (the exercises, sets and weights). It is uploaded to our server and shown only to the followers you have approved (or, if you turn on Public account in Settings, to any signed-in OPTML member), never on the open web and never to anyone you or they have blocked. Before the photo leaves your phone the app resizes it and makes it upright; our server then removes every piece of hidden metadata (location, device, capture time) and stores only the picture. Followers' reactions and comments on it are stored with it. A post stays until you delete it or your account, and it is removed from every feed at once. Posts are also included in the nightly copies of our database described under Security; the photos themselves are stored separately with our storage provider and are not in those copies. Anyone can report a post to us, and we may hide one that breaks our terms.

Your profile page shows the posts you pin to it, every post you made, and a few figures your app sends with your weekly standing: your streak and level, your total workouts, your longest streak, how many personal records you have set, which of the last few weeks' days you trained, and the month you joined. Any signed-in member who is not blocked can see the top of the page: your name, username, profile picture, streak and level, and how many posts, followers and people you follow you have. The rest of the page is visible only to followers you have approved, or to any signed-in member if your account is public. Nobody outside OPTML can see it.

Finding people to follow

Finding people from your contacts is optional and off until you turn it on. When you do, phone numbers and email addresses from your address book are normalized and scrambled into SHA-256 hashes on your device. Only those hashes are uploaded; our server compares them against members who registered the matching identifier, returns the matches, and immediately discards the uploaded hashes - they are never stored. Names, photos and raw numbers are never uploaded. If you add your own phone number to be discoverable, we store only its hash, never the number. Who you follow, who follows you and any pending follow requests are stored on your account so they follow you to a new phone.

You can also search for someone. A username you type is sent to our server, which answers with members whose username starts with it. An email address or phone number you type is hashed on your device and matched the same way as your contacts, then discarded. Any member who knows the email you signed up with can find you this way. An invite link you share from your profile (trainoptml.com/join/<username>) shows anyone who opens it your name, profile photo, streak, level and workout count, so they can ask to follow you from the App Clip before installing anything. A username is optional: if you pick one (Settings, then Profile), any member who searches for it sees your name and profile picture (or avatar emoji), and you can change or remove it there at any time. We also suggest people to each other: a member who follows someone who follows you may see your name and picture under People You May Know, with the names of the people you both know. Being found never shares anything else: your posts and the rest of your profile page stay visible only to followers you approve, unless you make your account public.

Location

Location is optional and only used for your own gym, under Settings > Gym. If you save your gym, the app asks for Location permission While Using the App and stores the gym's position on your phone. iOS then shows you a notification when you arrive there; the app runs nothing in the background and keeps no record of where you go. While a workout is open at your gym, the app reads your position to note where each machine you log a set on stands, and to put the exercise for the machine you walk up to next. A photo of your gym keycard, if you add one, is kept on your phone the same way.

None of this is ever uploaded to our servers, included in your account backup or shared with anyone, and signing out or deleting your account erases it from the phone. You can turn location off at any time in iOS Settings, and remove the gym, the machine map or the keycard under Settings > Gym.

Apple Watch, health and motion data

If you choose Apple Health as your total-burn source under Settings > Tracking, the app asks Health for read access to your steps, walking distance, active energy, resting energy and workouts, and reads them to show what you burn each day and to set your calorie target. If you turn on Sleep under Settings > Tracking, the app also asks for read access to your sleep (from your Apple Watch or another sleep app that writes to Health) and shows last night's sleep in the app. Everything read from Health stays on your iPhone: it is never written to your account, never sent to our servers and never shared with anyone, and the app writes nothing to Health. You can withdraw access at any time in the Health app under Sharing > Apps, and the app keeps working from what you log. This version of the app does not include an Apple Watch app and does not count reps, and no motion data is read.

What we do NOT do

No advertising, no third-party analytics SDKs in the app, no cross-app tracking, no data brokers, no selling or renting of personal data, ever. The app requests no permission until the feature that needs it is used, and every permission is optional.

Security

Connections to our servers use encryption in transit. Passwords are stored only as salted scrypt hashes, and a password reset signs out every other device. Session tokens live in the iOS Keychain, not in app files. Your training and food logs are held on your device and in your account's backup on our servers. Our database is copied once a night to a private off-site store, where it is encrypted at rest by the storage provider; copies older than 14 days are deleted. Deleting your account removes you from the live database at once and from every copy within 14 days.

Who handles your data for us

We run our own server and database; a few companies process data on our behalf, each only for the step named here and never for their own purposes. Railway hosts the server and database in the United States. Cloudflare holds the nightly copies of the database and the Pump Check photos. Resend delivers the password-reset email, so it receives your email address and the code. Apple provides Sign in with Apple. Open Food Facts receives the barcode numbers you scan. The shared food database is built from the U.S. Department of Agriculture's public data; nothing of yours is sent to the USDA.

Deleting your data

You can delete your account from inside the app, and you do not have to ask us first. The control is called Delete Account and it lives on your profile: open the Social tab, select Settings (the last section at the top of the tab) and tap Profile (the row with your photo), or tap your initials in the top right of Overview, which opens that same Profile page; Delete Account is at the bottom of it.

Deleting your account permanently removes it and every piece of server-side data held against it — your profile, the backup of your logs, your Pump Checks with their photos, reactions and comments, who you follow and who follows you, and the hashes used to find people, any password-reset codes, and any food suggestions awaiting review — and it cannot be undone. Foods you offered that were already published in the shared database stay there without your name. Deleting the app removes all on-device data. You can also just sign out, which clears the device copy; your account's backup brings it back when you sign in again, except your saved gym, machine map and keycard, which were never in the backup.

If you would rather we did it for you, email privacy@trainoptml.com from the address on the account.

This website

trainoptml.com uses self-hosted, first-party interaction analytics (counts and timings only, no typed text) to improve the site, and a booking form if you request a demo. No third-party trackers are used here either.

Children

OPTML is not directed at children under 13, and we do not knowingly collect data from them.

Changes

If this policy changes materially we will tell you in the app before the change applies.

Questions or data requests: privacy@trainoptml.com

Help with the app: Support · support@trainoptml.com

The rules of the service: Terms of Use