Privacy notice
Muscle Atlas · last updated 29 October 2026
Muscle Atlas is a training, nutrition and body-tracking app. This page says plainly what it collects, why, where it goes and how to control it. It is written to meet India's Digital Personal Data Protection Act, 2023 (DPDP Act). It has not yet been reviewed by a lawyer.
Your account and where your data lives
You need an account to use the app (email and password, or Google sign-in, where we ask Google only for your email, name and profile picture). Your plan, workouts, food log, weight, measurements, sleep, pain notes and settings are stored in your online account with our database provider, Supabase, so they follow you to any phone. The app and its server functions are hosted by Vercel. Your data is protected by your login but is not end-to-end encrypted: the people who run the service can technically read it.
Your phone keeps a sealed working copy (encrypted, in the browser's IndexedDB) so the app opens fast and works offline. Signing out wipes that copy from the phone.
What stays on your phone only
- Progress photos, and what the app measures from them, are stored in the browser on your phone (IndexedDB). They are never uploaded to our servers, never in your online account or backups. Signing out does not remove them; Delete my data does.
- Camera frames are never stored. Barcode scanning, Form check, the morning heart-rate check and the photo camera read frames live and discard them. A Form check replay lives in memory and is gone when you leave the screen.
- An Apple Health export.zip you import is read on your phone; only the daily totals (steps, sleep, resting heart rate, active calories, weight) are kept, in your account.
AI (Coach)
When you use Coach or an AI feature, what you send goes from the app to our own server (/api/ai on Vercel) and from there to OpenRouter, which passes it to an AI model. This covers: what you type or say to Coach, food photos, food label photos, fridge photos, and a progress photo for a body-fat estimate, which is sent only when you tap "Estimate from photo". Our server adds no name or email to the request and does not store what you send; if a request fails it records only technical details (status, model, timing), never your messages.
We use free models on OpenRouter (currently from NVIDIA and Google). The companies that run free models may keep what is sent to them and may use it to improve their models. We cannot confirm what each one does, so treat anything you send to Coach as possibly kept by them, and leave out anything private.
Other services the app talks to
- Open Food Facts: when you scan a barcode, only the barcode number is sent, to look up the product.
- jsDelivr and storage.googleapis.com: the app downloads code and models from them (the barcode reader, and the MediaPipe pose and body-outline models) the first time a camera feature needs them. No personal data is sent; like any download, they see your IP address.
- Resend sends reminder emails, only if you ticked "Email me a reminder". Each email has a one-tap unsubscribe.
- Web push: only if you switch on notifications in Settings. Your browser's push address is stored in your account so we can send at most one reminder a day; turning it off removes it.
- Apple Health: if you set up the iOS Shortcut, the app makes a personal token. We store only a scrambled (hashed) form of it. The Shortcut sends daily totals to our server. You can revoke the token in Settings at any time.
- Anonymous error report: on by default, whatever else you chose. When the app breaks, or a backup is refused by the server, one small report goes out: what failed (a short message with emails, links, numbers, food words and quoted text removed on your phone), the screen you were on, the app version, your screen size and browser type, and a short code that groups identical errors. It carries no name, no email, no account or random user code, no stack trace and nothing you typed, so it cannot be linked back to you. At most 5 a session. Turn it off in Settings > Privacy > Anonymous error reports. Kept 90 days.
- Coach hiccup report: also on by default and covered by the same switch. When Coach visibly fails (it says it needs AI, errors, you undo or cancel its card, or you ask the same thing again), one small report goes out: the kind of failure, which Coach path handled it, a language guess (English or Hinglish), the app version, screen and browser type. It carries none of your words, no account or random user code. At most 6 a day. If you tap Send on the prompt that follows a failure, the last few messages of that chat are sent as feedback so we can fix it; nothing is sent unless you tap.
- Detailed crash reports (Sentry): off by default and only offered when the service is set up. If you tick it, a report goes out when the app breaks: the error, the screen and the app version, under a random code. Names, emails, links, numbers with health units, food words and typed text are removed on your phone before sending.
Optional sharing you choose
- Research (off unless you tick it): one weekly summary (age band, sex, goal, level, split, diet and 28-day counts) under a random code, never your name, email or account. Turning it off deletes those rows.
- Share anonymised chats (off unless you switch it on): Coach turns, with emails, numbers, links and your name removed on the phone first.
- Thumbs up / down on Coach replies are always counted, with no text or details about you: just up or down, the screen, the model and the app version.
Why we use your data
- To run the app: keep your log, build your plan and targets, and sync it to your phones.
- To answer Coach and read food photos and labels.
- To send reminders and notifications you asked for.
- To fix bugs and improve the app, only from what you chose to share above.
We don't sell your data, don't show ads, and don't use analytics or tracking cookies.
How long we keep it
Your account data is kept until you delete it. Anonymised Coach chats are deleted after 90 days, error reports after 90 days, and research rows after 400 days (or at once when you turn research off).
Your rights and how to use them
- Access: everything is visible in the app. Settings > Data > Save a backup file or Export to CSV gives you a copy.
- Correction: edit or delete any entry where you logged it; change your details in Settings > Training profile.
- Erasure: Settings > Data > Delete my account and data removes your account, your online copy, the rows held under your random code, and the data and photos on this phone.
- Withdraw consent: turn off research, chat sharing, crash reports, reminder emails and notifications in Settings at any time. Agreeing to this notice is needed to have an account; to withdraw it, delete your account.
- You can also email us for any of these, or to name someone to act for you if you die or cannot act.
Feedback sent without your random code, and error reports from before your phone had one, carry nothing that links them to you, so they cannot be found and removed one by one.
Data outside India
Supabase, Vercel, OpenRouter and the AI model companies, Resend and Sentry may store or process your data on servers outside India.
Children
Sign-up does not ask for or check your age. If you are a parent and believe a child is using it without your consent, email us and we will delete the account.
Contact and complaints
Questions and requests: support@muscleatlas.fitness. Complaints or concerns about how we handle your data: shandeshpaul@muscleatlas.fitness. We aim to reply within 7 days. If you are not satisfied with our answer, you can complain to the Data Protection Board of India.
Changes
We will update the date above when this notice changes, and ask you again in the app if a change matters.