Simple Workout

Privacy Policy – Simple Workout

Last updated: 10 November 2026 · Version 2.2

This policy explains what the iPhone app Simple Workout ("the app") stores, what leaves your iPhone, who receives it, how long it is kept and what you can do about it. "I" means the developer of the app.

1. At a glance

2. Who is responsible

Controller: Lune Studio, Switzerland. Contact: simpleworkout@simple-apps.dev

Lune Studio is the name under which I, a private individual in Switzerland, publish the app. It is not a company. I have no data protection officer.

3. Using the app without an account

If you choose "Use Without an Account", everything you enter stays on your iPhone: training days, exercises, weights, reps, sets, machine notes, finished sessions, weight history, ranks and settings. The app does not contact my server.

4. What I process, why, and on what legal basis

The legal bases below refer to the EU General Data Protection Regulation (GDPR). Under the Swiss Federal Act on Data Protection (FADP), I process your data on the same grounds and follow its processing principles.

FeatureDataWhyLegal basis
AccountUsername, email address, password (stored only as a salted hash), internal account ID, whether your email is confirmedSign-in, confirming that the email is yours, password resetContract (GDPR Art. 6(1)(b))
Sync and backupTraining days (name, colour, order), exercises (name, weight, reps, sets, machine, favourite mark), finished sessions (date, day name, number of exercises), weight history per exercise (date, weight, reps, sets)Keeping your data on the server and on your devicesContract
Sign-in sessionsFor each signed-in device: IP address, device type (user agent), time of sign-in and refreshKeeping you signed in, ending sessionsContract
Email codes6-digit code sent to your email, a hash of it, the address it went to, time, number of triesConfirming your email, password resetContract
Sharing a dayYour username, the shared day and its exercises, the recipient's account, timeDelivering the copy to the person you choseContract
Blocking and limits on sharingWho blocked whom, time and result of each send attemptPreventing spam and abuseLegitimate interest in a safe service (Art. 6(1)(f))
Smart muscle matchingThe exercise name; on my server also your account ID, time and result of the requestPlacing the exercise on the body map; daily limit per accountConsent (Art. 6(1)(a)) for sending the name; legitimate interest for the limit
Security limitsKeyed hashes of IP addresses, usernames, email addresses and account IDs, with timeStopping mass sign-ups and code guessingLegitimate interest in a secure service
Support emailYour email address, your message, and anything you add, such as app version, iOS version, iPhone model and app language from "Share app info"Answering youLegitimate interest in answering requests, or contract
WebsiteIP address and request data, processed by CloudflareDelivering the pagesLegitimate interest in running the website

Fitness records such as weights and training dates can reveal something about your health. I treat all training data with the same care as health data. Please do not write medical details into exercise names or other fields.

5. Smart muscle matching (AI)

This feature is off by default. It needs an account. When you switch it on in Settings, the app first asks for your permission and tells you what is sent.

If the app's own keyword list does not recognise an exercise name, the app sends that name to my server. If my server already knows the answer, nothing goes to Anthropic. Otherwise my server sends only the name to Anthropic's Claude API and returns one muscle group to your iPhone.

What is not sent to Anthropic: your username, your email address, your account ID, your IP address, your weights, your history or any other exercise. Anthropic sees my server's address, not yours.

My server keeps each name and its muscle group in a shared list with no link to you or any account, so a name is asked only once. Separately, it logs your account ID, the time and the result of each AI request to limit each account to 60 requests per day.

Switch off "Smart muscle matching" in Settings at any time, and no more names are sent. You can always pick the muscle yourself.

6. Apple Health

This feature is optional. If you turn on "Show Fitness Workouts", iOS asks for permission to read from Apple Health:

The app only reads; it never writes to Apple Health. The data is shown next to your own workouts on your iPhone and is not saved in the app's database. It is not uploaded to my server, not synced to your account, not stored in iCloud by the app, not shared with anyone and never used for advertising, marketing or data mining. Turn the feature off in the app, or remove access in iOS Settings under Health.

7. Sharing a training day

With an account, you can send a copy of a training day to another user by typing their username. The copy contains the day's name and colour, its exercises with weights, reps, sets, machine, muscle and favourite mark, and your username. Your history is never shared.

The copy waits on my server until the recipient adds it or declines it, until the recipient blocks you, or until one of the two accounts is deleted. Once the recipient adds it, it becomes part of their own data, and you cannot take it back.

The recipient can block a sender. The sender is not told; their waiting copies disappear and later ones are not delivered. Report opens an email to me with the sender's username and the day name, which I use only to deal with abuse.

8. Notifications, app lock and other on-device features

9. What I do not do

The app contains one external code library: Supabase's open-source client, which connects the app to the account server.

10. Who receives data

RecipientRoleDataLocationSafeguard
SupabaseDatabase, sign-in and server functions; processor for meAll account, sync, sharing, code and limit data in section 4Data hosted in Ireland (AWS, eu-west-1); the contracting company is in Singapore and support staff can access it from other countriesSupabase's data processing agreement with the EU standard contractual clauses
ResendSends the code emails; processor for meYour email address and the email content, including the codeUnited StatesResend's data processing agreement with standard contractual clauses
AnthropicAI model for smart muscle matching, only if you turn it onThe exercise name onlyUnited StatesAnthropic's data processing terms with standard contractual clauses
CloudflareHosts the website and forwards email sent to simpleworkout@simple-apps.dev; Supabase also routes server requests through CloudflareIP address and request data; support emails in transitGlobal network, company in the United StatesCloudflare's data processing agreement with standard contractual clauses
Other usersRecipient of a day you shareThe shared copy and your usernameWherever that user isYou choose the recipient

Support emails are forwarded to my personal mailbox and stored there. Apple distributes the app and runs iOS and Apple Health under its own privacy policy; I send Apple no data. I disclose data to authorities only where Swiss law obliges me to.

11. International transfers

The account data is stored in Ireland. The EU and Switzerland recognise each other's level of data protection. Data reaches the United States through Resend, Anthropic and Cloudflare, and it can be accessed from Singapore and other countries for Supabase support. For these countries I rely on the providers' contractual safeguards (standard contractual clauses, with the adjustments for Swiss law). You can ask me for a copy of these safeguards.

12. How long data is kept

DataHow long
Data on your iPhoneUntil you delete it or the app. Deleting your account does not remove it.
Account details, synced training dataUntil you delete your account. Items you delete in the app stay on the server as deleted entries for 30 days, then they are removed.
Sign-in sessionsUntil you sign out, the session expires, or you delete your account.
Email codesA code works for 15 minutes and is locked after 5 wrong tries. The hash and the address it was sent to are deleted after one day.
Waiting shared daysUntil added, declined or blocked, or until either account is deleted.
Share attempts30 days.
BlocksUntil either account is deleted.
AI request log30 days.
AI answer list (names and muscles, no account link)Without an end date.
Security limits (hashed IP, username, email, account ID)Deleted after one day.
Record of a password reset I do on your requestYour username and the time. Deleted when you delete your account, and in any case after 12 months.
Support emailsUp to 24 months after your matter is closed.
Provider logs and backupsSupabase, Resend and Cloudflare keep operational logs and backups on their own schedules. Resend keeps a log of sent emails, which includes the code in the subject line; the code stops working after 15 minutes.

13. Deleting your account

In the app, go to Settings, Account & Security, Delete Account. This deletes your account and all data linked to it from the live database at once: account details, training data, sessions, email codes, shared days you sent or received, blocks and the AI request log. The data on your iPhone stays. Provider backups and logs expire as described in section 12.

14. Security

The data is not end-to-end encrypted. As the operator I can technically access the server database, and so can provider staff under their contracts. I access it only to run the service, fix problems or answer your request. If a breach puts your rights at high risk, I inform you and the authorities as the law requires.

15. Your rights

You have the right to access your data, to correct it, to delete it, to receive it in a portable format, to restrict or object to processing (in particular processing based on legitimate interest), and to withdraw consent at any time. Withdrawing consent does not make earlier processing unlawful.

I answer within 30 days. To confirm that a request comes from you, I ask you to write from the email address of your account or to confirm a code sent to it. I do not ask for ID documents. If I cannot confirm that you control the account, I cannot act on it, but you can still delete the account in the app while you are signed in.

You can complain to the Swiss Federal Data Protection and Information Commissioner (FDPIC), www.edoeb.admin.ch. If you live in the EU or EEA, you can also complain to the data protection authority in your country.

16. Children

The app is not directed at children. You must be at least 16 years old to create an account or use the account features. If I learn that a child under 16 has an account, I delete it. If you think this has happened, write to me.

17. Notes for users in the United States

I do not sell consumer health data, share it for advertising or use it to build profiles, including under the consumer health data laws of Washington, Nevada and Connecticut. You can use the rights in section 15 wherever you live. For California residents: I do not sell or share personal information as defined by the California Consumer Privacy Act and do not use sensitive personal information to infer characteristics about you.

18. Website and cookies

The website simpleworkout.simple-apps.dev is a set of static pages on Cloudflare. The pages contain no scripts, no analytics, no trackers and no embedded content from other sites, and the site's own code sets no cookies. To deliver the pages, Cloudflare processes your IP address and request data as described in section 10.

19. Health notice

The app, including its ranks and estimates, is for general fitness tracking. It is not medical advice.

20. Changes to this policy

Each version has a number and a date at the top, and the list below shows what changed. If I make a material change, such as a new type of data, a new recipient or a new purpose, I tell you in the app before it takes effect. If an optional feature starts sending different data, I ask for your permission again in the app.

21. Contact

Write to simpleworkout@simple-apps.dev. The controller is named in section 2.