Legal
Privacy Policy
The short version
GymVim keeps track of your workouts. To do that it has to store a few things: your email address, whatever you log, and the measurements and photos you decide to add. Some of that counts as health data, and it gets the extra care that deserves.
Your data isn't for sale, and there are no ads in the app. Analytics stays switched off until you say yes, and crash reports stop the moment you say no. Progress photos sit behind your phone's Face ID or passcode and never get cached to disk. Nothing you log shows up anywhere until you join a group, make a share link or send a dare on purpose.
One thing works differently from the rest, so here it is up front: if you train with a watch, the average and peak heart rate of each workout is saved with that workout. The live reading isn't (§4).
GymVim is free. There's no subscription and nothing to buy, so there's no payment data here at all: no card, no billing address, no purchase history.
One person builds and runs GymVim. Not a company, not a team, so nobody else is poking around in your data. Want it back, or gone? Ask for a copy under Profile → Profile Settings → Export data, or use Delete account, and because there's nothing financial in the picture, a deletion really is a deletion (§13). Everything below is the detail.
01 · Who you're dealing with
GymVim isn't a company. It's an app made and run by one independent developer, working as a sole trader. In GDPR terms that person is the controller for everything described here (Art. 4(7) GDPR).
The controller's full name and postal address are in the Impressum, section 01.
Email: [email protected]
You'll see “we” and “us” throughout this page. That's just easier to read than one person's name repeated four hundred times, but it really is one person. No parent company, no sister companies, no staff.
Questions, requests and complaints about your data go to [email protected]. Account and technical problems go to [email protected]. Same inbox, same person, either way.
There's no data protection officer, and there doesn't need to be: a one-person operation sits well below the thresholds in Art. 37(1) GDPR and § 38(1) BDSG. So bring data-protection matters straight to the email address above, or by post to the address in the Impressum.
Full contact details live in the Impressum.
02 · What this covers
This page applies to the GymVim apps for iPhone and Android, the smartwatch companion, this website (including the public pages behind share links, dares and group invites), and the servers behind all of it. We'll call that lot the Service.
It doesn't cover other people's services that you reach through GymVim. The App Store, Google Play, Apple Health, Health Connect, Instagram, any app you pick in your phone's share sheet, or any site you open from a link in the app all run under their own privacy policies, and we have no say in those.
You can also poke around GymVim as a guest, without signing up. In that case there's no account record of you at all. Things like bookmarks stay on your phone, and the personal parts of the app (progress, notifications, groups) just show a sign-in prompt instead of data.
03 · What we collect
3.1 Things you hand over
- Your account. Email address, a user ID we generate for you, and which sign-in methods you've hooked up (email code, Google, Apple). Sign in with Google or Apple and we get the identifier and email address they release to us, never a password. GymVim doesn't have passwords at all. With Apple, we also keep the token Apple issues for that sign-in, for one reason only: when you delete your account or disconnect Apple, we send it back to Apple to revoke GymVim's access to your Apple ID, as Apple requires.
- Your profile. Display name, avatar, gender, height and birth year, if you fill them in. Plus your settings: kg or lb, cm or in, theme, language, which notifications you want, and how far ahead your rest-timer sound and buzz should fire.
- What you build. Training plans and days, custom exercises (including any thumbnail or clip you upload), bookmarks, private notes on exercises, goals and achievements.
- What you log. Every set: weight, reps, duration, distance, rest, its type (warm-up, working, drop set) and the effort you rate it at, if you do. And the session around it: when it started and ended, the workout as it was planned, any note you add, total volume, an estimated calorie number, whether you set a personal record, and the milestones it reached (your 10th workout, say). If you trained with a paired watch, also the workout's average and peak heart rate (§4).
- Your measurements. Body weight, and whichever of these you choose to track: waist, chest, hips, neck, arm, thigh, body-fat percentage, muscle mass. Each with the date you give it.
- Progress photos. Front, side and back shots you take or import, with their date and any note attached. These get special treatment, described in §4 and §14.
- Groups. Which groups you're in, the shared goal, what you've contributed toward it, and any cover image you upload.
- Shares and dares. The links you create (plans, custom exercises, workouts, dares, invites) and what each one publishes (§7), the image of the story you shared when it becomes a link's preview or a page of its own, the dares you've accepted, and the result you chose to send back.
- Reports and removals. If you report a group member or a group, we store who reported, who or what was reported, the reason you picked, any detail you add, and when. If a group owner removes you, we record that, so the invite link can't bring you back into that group.
- Anything you write to us. Support emails, and the reason plus optional feedback you give on the way out if you delete your account.
3.2 Things collected in the background
- Device and connection. Device model, OS version, app version, a user-agent string, language, IP address. Our infrastructure provider works out a rough city and country from the IP. There's no GPS involved: GymVim never asks for location permission.
- Active sessions. So the Devices & Sessions screen can actually be useful, we keep a note of each active login: device label, OS, client, that rough location, and when it was last used. That's what lets you spot a login you don't recognise and kill it.
- Server logs. Ordinary request logs: timestamp, endpoint, status code, IP. They exist for security and for working out why something broke.
- Push token. If you turn notifications on, the Firebase Cloud Messaging token for that installation.
- Usage analytics, only if you agree. Which screens get opened, and a handful of named events like “a workout started” or “a search happened”, plus a rough guest-or-registered flag. Off unless you switch it on. See §8.
- Crash reports, unless you say no. The stack trace and device state at the moment something fell over, and only from release builds. Also §8.
- Where an Android install came from. On the first launch after installing from Google Play, the app reads Play's install referrer once. If the install came from a GymVim share link, that tells us what kind of share it was and its code, so the shared workout or dare can open after you sign in. It's recorded in analytics only once you allow analytics (§8).
3.3 Things other services tell us
- Apple Health and Health Connect. Connect health sync and GymVim reads body weight, body fat, muscle mass, and on iPhone waist circumference and heart rate. On the phone this is read-only: it never writes anything back to your health store. Nothing is read before you grant permission, and you can pull that permission in your phone's settings whenever you like.
- Apple Health, the other direction. The Apple Watch app writes. With your permission it runs your session as a watch workout and saves the finished workout into Apple Health, the way any watch workout app does. That's the only thing anywhere in GymVim that puts data into a health store, it happens on your own devices, and nothing about it reaches our servers. §4 sets out exactly what gets written.
- A paired watch's heart-rate sensor. During a workout, an Apple Watch or Wear OS watch can send the phone a live pulse reading so the session screen can show it. On iPhone it comes out of the watch workout the watch app is already running; on Android it comes straight off the watch's own sensor over the direct link between your two devices, without Health Connect in the middle. The live reading is shown and then dropped. When the workout ends, the watch also sends its average and peak, and those two numbers are saved with the workout. §4 has the detail.
- Google and Apple sign-in. They confirm it's you and pass along the identifier and email described above.
- The app stores. Apple and Google give us aggregate install and crash numbers. Nothing is sold through them, so no payment data of any kind reaches us.
- Links people send you. Open a group invite, a shared plan, a workout link or a dare and we process the link code to show you the preview, then to add it to your account if you accept. Accept a dare and finish it, and your result is recorded against that dare; whether its sender sees it is your choice (§7).
3.4 What you actually have to give us
Only an email address, or a Google or Apple account, because there's no way to have an account without one. Everything else on this page is optional, and skipping it costs you only the feature it feeds. No measurements means no charts. No health sync means typing your weight in yourself. Decline analytics and the app behaves identically. You don't have to tell us your name, gender, height or birth year at all.
3.5 Things we deliberately don't collect
No heart-rate history beyond one average and one peak per workout: the live BPM reading is shown and dropped (§4). No precise location. No contacts, no calendar. Nothing from your photo library beyond the individual images you pick yourself. No advertising IDs, and no biometric data: Face ID, Touch ID and passcode checks happen entirely inside your phone, and all GymVim ever gets back is yes or no. There's no ad network in the app, and nobody is building an advertising profile of you.
04 · Your health data
Measurements, body fat, muscle mass, progress photos, the average and peak heart rate of a workout, anything imported from Apple Health or Health Connect, and, taken together, your detailed training history all count as data concerning health under Art. 9 GDPR. That's a special category with stricter rules, and it's the most sensitive material in the app by a distance.
The legal basis is your explicit consent (Art. 9(2)(a) GDPR), which you give by choosing to record a measurement, add a photo, connect health sync, or train with a paired watch. Nothing here happens by default. Change your mind and you can delete the entries, disconnect sync, or delete the whole account. Withdrawing doesn't retroactively make the earlier processing unlawful, but it stops it going forward.
What this data is never used for: advertising, sale, or sharing with anyone for their own purposes. The values themselves never leave for analytics either, though if you've turned analytics on, the app does record that a measurement of a given type was logged. §8 explains exactly what that means. Progress photos get extra protection on top of all this (§14).
Heart rate: the live reading is shown, one summary is kept
Heart rate is the one piece of health data GymVim treats differently from everything else on this page, and the difference is worth being exact about. The live reading is displayed and then thrown away. What is kept is a summary of each workout: its average and its peak, two numbers, saved with that workout.
If you train with a paired watch, the session screen and the workouts screen can show your current pulse in BPM while you're working out. Where that number comes from depends on the platform:
- On iPhone and Apple Watch. The watch app runs your session as a HealthKit workout, which is what lets the sensor stream, and GymVim reads the most recent heart-rate sample out of it. The iPhone app asks HealthKit for read access only, with an empty write scope: it is technically incapable of putting anything into Apple Health. The watch app is the exception, and only for the workout record described just below.
- On Android and Wear OS. The reading comes from the watch's own body sensor and travels directly to your phone over the link between your two devices. Health Connect isn't involved at all, and GymVim doesn't hold the Health Connect heart-rate permission on Android.
What happens to the live number once the app has it: it sits in memory, drives the reading on screen, and goes stale after about two minutes without a fresh sample, so a watch that has come off your wrist stops showing a number rather than freezing the last one. Close the session or the app and it's gone. The stream of readings is never written down and never sent to us.
The summary is different. When the workout ends, the watch works out the average and peak heart rate it measured over that workout and sends those two numbers to the phone, which saves them with that workout on our servers (if you're offline, they wait on the phone and go up with the workout). You see them on the page that closes the workout and with that session in History. They're kept as long as the workout is (§13), and they never appear on a share image, a share link or a dare, and never go to analytics. A workout without a paired watch has no heart rate at all.
The legal basis is your explicit consent (Art. 9(2)(a) GDPR), given through the health or sensor permission your phone or watch asks for, and revocable in those settings at any time. Say no and the rest of the app is unaffected: the BPM readout shows nothing and no summary is saved. A summary already saved goes when you delete that workout or your account.
It is a convenience readout, not a heart monitor. GymVim is not a medical device, doesn't watch for anything, and won't warn you about anything. Nothing is inferred from the numbers, no alert is built on them, and no decision anywhere in the app depends on them. If your heart rate matters to you medically, use a device intended for that and talk to a doctor.
What the Apple Watch writes into Apple Health
Starting a workout on the Apple Watch app starts a watch workout session, the same mechanism every workout app on watchOS uses. That is what keeps the rest timer alive behind a wrist-down and what lets the heart-rate sensor stream. When you finish the workout, the watch saves it into Apple Health as a workout record:
- Start time, end time and duration.
- The activity type, always traditional strength training, indoor.
- The heart rate and energy your watch measured over that period, which watchOS attaches to the workout itself.
That is the whole of it. Your exercises, sets, reps and weights are not written to Apple Health; they stay in GymVim. Nothing about a measurement, a photo or a plan goes into Apple Health either.
Three things worth knowing. It only happens if you allow it, through the Health permission the watch asks for; refuse, and the workout still runs normally, you just get no BPM and no Health entry. Discarding a workout writes nothing: the session is thrown away rather than saved. And once a workout is in Apple Health it is yours, in your own health store on your own device: we cannot see it, it never reaches our servers, and deleting it is done in the Health app, not in GymVim. Apple's privacy policy governs it from there, not this one.
The legal basis is again your explicit consent (Art. 9(2)(a) GDPR), given through that permission and revocable at any time in the Health app or the watch's settings.
05 · What we do with it
Every purpose, the data behind it, and the legal basis it runs on:
| What we're doing | What it uses | Legal basis |
|---|---|---|
| Running your account, signing you in, keeping you signed in across devices | Account, device and session data | Contract (Art. 6(1)(b)) |
| The actual app: plans, the exercise library, live sessions, set logging, offline sync | Your plans, logs and settings | Contract (Art. 6(1)(b)) |
| Charting your progress over time | Measurements, workout logs | Explicit consent (Art. 9(2)(a) with Art. 6(1)(a)/(b)) |
| Storing and showing your progress photos | Photos, dates, notes | Explicit consent (Art. 9(2)(a)) |
| Pulling readings in from Apple Health or Health Connect | Health-store samples | Explicit consent (Art. 9(2)(a)) |
| Saving a finished Apple Watch workout into your Apple Health (§4) | Workout start, end, duration, activity type, and the heart rate and energy the watch measured | Explicit consent (Art. 9(2)(a)) |
| Showing your live heart rate during a workout (displayed only, never stored, §4) | A pulse reading held in memory on your phone | Explicit consent (Art. 9(2)(a)) |
| Keeping a workout's average and peak heart rate with that workout (§4) | Two numbers your watch works out when the workout ends | Explicit consent (Art. 9(2)(a)) |
| Groups and leaderboards: ranking members, showing contributions | Display name, avatar, contribution figures | Contract (Art. 6(1)(b)) |
| Share links, dares and pages you post: publishing them, their link preview, and recording dare results (§7) | The workout or item you shared, the story image you shared, your first name if you chose to show it, the results people send back | Contract (Art. 6(1)(b)) |
| Counting visits to share pages, without identifying anyone (§10) | The kind of share, its code, and which button was tapped; no IP address, cookie or device identifier | Legitimate interests (Art. 6(1)(f)) |
| Keeping groups safe: handling reports, letting owners remove and block members | Reports, removal records, the group and member involved | Legitimate interests (Art. 6(1)(f)) |
| Sending the notifications you asked for | Push token, email address, notification settings | Consent (Art. 6(1)(a)) |
| Sending marketing emails, if you switch them on | Email address, and how you use the app | Consent (Art. 6(1)(a)) |
| Working out which features get used, and which share links bring people in | Usage events, and the share an Android install came from | Consent (Art. 6(1)(a)) |
| Finding and fixing crashes | Crash diagnostics | Legitimate interests (Art. 6(1)(f)); switched off when you say no (§8) |
| Keeping the Service safe: spotting abuse, fake accounts, leaderboard manipulation, attacks | Logs, session data, account data | Legitimate interests (Art. 6(1)(f)) |
| Answering your support emails | Your account, and whatever you tell us | Contract / legitimate interests (Art. 6(1)(b), (f)) |
| Meeting legal obligations, or defending a legal claim | Whatever's actually needed | Legal obligation / legitimate interests (Art. 6(1)(c), (f)) |
Where the basis is legitimate interests, we've weighed that against your rights and kept the processing to what anyone using a fitness app would reasonably expect. If you disagree in your particular case, you can object; §15 explains how.
06 · Why we're allowed to
Four legal bases do all the work above.
Art. 6(1)(b), performing our contract with you. Everything the app has to do to be the app you signed up for.
Art. 6(1)(a) and Art. 9(2)(a), consent and explicit consent. Analytics, notifications, and every piece of health data. Always optional, always a separate question, always reversible in the app.
Art. 6(1)(f), legitimate interests. Security, stopping abuse, keeping the Service working (including crash reports, which you can switch off, §8), and improving it using aggregated numbers that don't identify anyone, such as the visit counts on share pages (§10).
Art. 6(1)(c), legal obligation. The occasions where the law tells us to keep or hand over something.
07 · What other people can see
By default, nothing. Your workouts, measurements, photos and notes are yours alone. That only changes when you do something deliberate:
- Join or start a group. The other members see your display name, your avatar, where you sit on the leaderboard, and what you've contributed to the shared goal: sessions logged, total volume, training time, whatever that group is built around. They don't see individual workouts, and they never see measurements or photos. Leave the group and nothing further is shared. Reports are never shown to the person reported or to anyone else in the group; only we read them.
- Create a share link. A link for a plan or a custom exercise makes a public page. Anyone with the link can open it, no account needed, and links get forwarded. Only that item's content is on the page. A plan link names you only if you turn on Show my first name for it, which starts off, and then shows your first name and nothing else: never your full name, photo or email. Turn it off, or revoke the link, and the name goes. You can see and kill your links under Profile → Profile Settings → Sharing, which stops the link working, though obviously it can't un-see anything somebody already looked at or copied.
- Share a workout, or send a dare. Sharing a finished workout gives it a public page of its own, and a dare does the same with your time as the one to beat. That page shows the workout's name and date, how long it took, its exercises with their sets in reps, times or distances, and its total volume and reps. It never shows the weight of a set, never your heart rate, and shows your first name only if you chose to show it. A workout link lasts until you revoke it. A dare stops working after 30 days, or sooner if you revoke it.
- Someone takes your dare. If they finish it and choose to send their result, you see their time and the first name they gave, and you get a notification. If they choose not to, you see nothing from them. The same goes the other way round when you take someone's dare: your result reaches its sender only if you say so when you accept.
- Send a group invite. Anyone holding a valid invite link can join, and then sees what members see.
- The picture a link shows in a chat. When you share a workout link, a dare or a group invite, the story image you're sharing is uploaded too, so a chat app can show it as the link's preview. It shows only what the image itself shows, under the privacy choices you made for it. If the image has your own photo on it, it's uploaded only if you turn on Use as link preview, which starts off. Revoke the link and the picture goes with it.
- Post a card as a page. If you turn on Post as a page for a record, goal or recap card, the card's image becomes a public page at its own link. It's kept out of search engines, and revoking it under Sharing deletes the image.
- Share an image. The image is made on your phone and only goes where you send it: an app you pick in your phone's share sheet, your photo library if you save it, or Instagram's story composer if you use the Stories button. Apart from the link preview and posted pages above, we don't get a copy or know where it went, and once it's in someone else's app their privacy policy applies.
08 · Analytics and crash reports
GymVim uses Google Analytics for Firebase and Firebase Crashlytics, and they work differently.
- Analytics starts switched off. Collection is disabled when the app launches and only turns on if you accept the prompt in the app.
- Crash reports are on unless you say no. When the app crashes, a release build sends Crashlytics the technical details needed to fix it. That's our legitimate interest in keeping the app working (Art. 6(1)(f)). Decline the analytics prompt, or switch off Profile → Profile Settings → Data & Privacy → Usage Analytics, and crash reporting stops as well.
Say no and nothing breaks: no feature is withheld, no nagging.
If you do say yes, here's the honest detail, because “anonymous usage data” is doing a lot of work in most privacy policies. Analytics events are screen names plus a fixed list of product events, each carrying a small number or a short label. Some examples of what that actually includes:
- That a workout started, finished or was discarded, with the day's focus (“Chest”, “Legs”).
- That a measurement was logged, with which metric it was (weight, waist, body fat). Never the number itself.
- That a progress photo was added, with which pose. Never the photo, and never anything derived from it.
- That you searched, including the words you typed into the exercise search. So treat that box as though someone might read it, and don't type anything personal into it.
- That you answered a consent prompt, and which way.
- That you shared a story, which one, in which format and through which kind of target, and that you made, accepted or finished a dare. Never the image, and never the numbers on it.
- On Android, that this install came from a GymVim share link, with the kind of share and its code (§3.2). This is read on the first launch but held on your phone, and only sent if and when you allow analytics.
If you're signed in, those events are tagged with the random user ID we generated for your account (§3.1), so the numbers count people rather than installs. It's an opaque identifier: it isn't your email or your name, and Google can't work out who you are from it.
What analytics never receives: your email address, your name, any measurement value, any heart-rate value, any photo, or the content of a workout log. Crash reports are technical diagnostics, not training data, and they only come from release builds.
Change your mind any time in the app and it takes effect immediately. Signing out, deleting your account, or a session expiring wipes the stored answer, so the next person to use that phone gets asked fresh rather than inheriting your choice.
09 · Notifications and marketing
Notifications are optional. GymVim asks for the permission at the point it becomes relevant, when you start a workout or tap the banner in your notifications inbox, rather than ambushing you on first launch. Say yes and we register a push token with Firebase Cloud Messaging so they can actually reach you.
What they're about: the rest timer (that one is scheduled on your phone itself), a workout you left unfinished, and the note if an unfinished workout was wrapped up for you; achievements you unlock; a goal you reach, and a group goal your group reaches; your monthly recap; and someone finishing a dare you sent. Each notification is also kept in your in-app inbox, on our servers, until you delete it or your account.
Email and push are separate switches under Profile → Profile Settings → Notifications, and you can revoke the OS permission in your phone's settings whenever you want. Sign out and we delete that device's token; delete your account and it goes with everything else.
Marketing is a separate switch again, and it starts off. Profile has a “Marketing Communications” toggle. Today it only records your answer: no marketing email is sent to anyone, whichever way it's set. If that ever changes, this section will say what gets sent and on what basis before the first one goes out. Your answer is consent under Art. 6(1)(a) GDPR, we record it alongside the analytics one, and turning the toggle back off withdraws it immediately. You also have an unconditional right to object to direct marketing under Art. 21(2) GDPR, which we have to honour without weighing anything up (§15).
None of this affects the service emails we have to send you regardless, like a sign-in code or a notice that these terms have changed. Those aren't marketing and you can't unsubscribe from them while you have an account.
10 · Cookies and what's stored on your phone
This website. gymvim.app uses essential local storage only, mostly to remember what you chose in the cookie banner. Anything non-essential is set only if you agree, and you can change or withdraw that answer at any time through the “Cookies” link in the footer of any page. Fonts are served from gymvim.app itself, so simply opening a page sends your IP address to nobody but us.
Analytics, only if you say yes. If you accept the cookie banner, gymvim.app loads Google Analytics 4 to count visits and see which pages get read. Nothing is loaded and no request reaches Google Analytics before you accept: reject, or simply ignore the banner, and the tag never runs. Ad personalisation and Google Signals are switched off, so your visit is not fed into advertising profiles.
| Cookie | Purpose | Lifetime |
|---|---|---|
_ga | Distinguishes one browser from another so repeat visits are not counted as new people | 2 years |
_ga_<id> | Keeps the session state for this specific property | 2 years |
gv-cookie-consent | Remembers your answer to the banner. Essential, set whichever way you answer, and it is local storage rather than a cookie | Until you clear site data |
Share pages count visits without cookies. The public pages behind share links, workout links, dares, posted cards and group invites set no cookies and load no analytics tag. To see whether sharing works, our servers count what happens on them. For workout links and dares, each event (a link opened, the page viewed, a store button tapped) goes to Google Analytics with the kind of share, its code, which store, and whether a chat app was only fetching a preview. It's sent under a fresh random number every time, with no IP address, no browser details and no cookie, so no visitor can be recognised, not even across two clicks. For plan and exercise links, the page keeps a daily count of views and Save taps on that link, and nothing about who made them. Legal basis: legitimate interests, Art. 6(1)(f) GDPR.
Withdrawing consent through the “Cookies” link in the footer deletes the _ga cookies and stops the tag loading on any page after that. Legal basis: your consent, Art. 6(1)(a) GDPR and § 25(1) TDDDG. Google Analytics is operated by Google Ireland Limited, and data may be transferred to the United States under the EU-US Data Privacy Framework.
The app. No browser cookies at all. What GymVim does keep on your device, so it works without a signal: an encrypted store for your sign-in tokens (iOS Keychain, Android EncryptedSharedPreferences), a local database holding a cache of screens you've already loaded, a queue of sets you logged while offline, the workout you're in the middle of so it survives the app closing, and small preferences like theme, language and your share privacy choices. An analytics event waiting for your consent (§8) and a shared workout or dare waiting for you to sign in are kept the same way. It all lives in the app's private storage, and signing out clears the cache, the queue, the drafts and the tokens.
Your home and lock screens. If you add the home-screen widget, it shows your next workout. While a workout runs, the lock screen (a Live Activity on iPhone, an ongoing notification on Android) shows its progress and rest timer. Anyone who can see your phone can see those.
A paired watch. If you use GymVim on an Apple Watch or a Wear OS watch, the app sends the current plan and day across to it: exercise names, sets and reps, and the on-screen labels in your language. That's a direct handover between two of your own devices, and it doesn't pass through anyone else. Signing out pushes a clear instruction to the watch so nothing from your account is left sitting on someone's wrist. On Apple Watch the app also saves each finished workout into your own Apple Health, which is covered in §4.
11 · Who else touches your data
We don't sell personal data and we don't hand it to anyone for their own marketing. It reaches other companies only where they're running infrastructure on our behalf, as processors under Art. 28 GDPR, and only as far as each one genuinely needs:
| Who | What they do for us | What they see |
|---|---|---|
| DigitalOcean, LLC | Hosting, databases, file storage, logs and backups, in its Frankfurt data centre (FRA1) | Account, training, measurement and photo data, share images |
| Cloudflare, Inc. | CDN, HTTPS, protection against attacks | IP address, request metadata, rough location |
| Google Ireland Ltd. / Google LLC (Firebase, Google Analytics) | In the app: push messaging, Crashlytics, Remote Config and analytics. On this website: analytics only if you accept the cookie banner, and the cookieless share-page counts (§10) | From the app: push token, device identifiers, crash data, consented usage events. From the website, only after you accept: IP address, the pages you open and a browser identifier stored in the _ga cookies. From share pages: event counts with a random number, no IP address |
| Google and Apple (sign-in) | Confirming it's you, if you use them | Account identifier, email address |
| Apple and Google (App Store, Play) | Distributing the apps and shipping updates | Install and crash counts in aggregate. Nothing is sold, so no payment or subscription data passes either way |
| Resend, Inc. | Sending sign-in codes and notification emails | Email address, message content |
| Apple (iCloud Mail) | The mailboxes behind [email protected] and [email protected] | Whatever you write to us, and your email address |
Outside that list, your data goes to other people in only four situations: to other users, exactly as far as you chose in §7; to a professional adviser bound by confidentiality; to an authority where we're legally required and the request holds up as lawful and proportionate; and to a buyer if GymVim is ever sold or handed to another operator, in which case you'll hear about it in the app or by email first, and this policy keeps applying until something replaces it.
12 · Where it's stored
The core of your data, meaning your account, training history, measurements and photos, is hosted in the European Union, in DigitalOcean's Frankfurt data centre in Germany. Backups and logs are kept there too.
Some of the providers above are American, or process data in the US. Those transfers are covered by the European Commission's Standard Contractual Clauses under Art. 46(2)(c) GDPR, alongside technical measures like encryption in transit, and, where the provider is certified, by the EU-US Data Privacy Framework under the adequacy decision in Art. 45 GDPR. Ask at [email protected] if you want to see the paperwork.
13 · How long we keep it
The short answer: as long as it's doing a job, or as long as the law insists. Specifically:
- Account, training, measurements, photos. For as long as your account exists. Individual entries, measurements and photos can be deleted whenever you like, without deleting the account.
- After you delete your account. Your data comes out of the live systems as soon as you confirm. The database's backups roll over within 7 days. Files you uploaded (photos, avatar, exercise clips, covers, share images) are kept in storage as a deleted earlier version for up to 90 days, then erased for good. Backups can't be surgically edited, so data sits there inaccessible until it's overwritten on the normal cycle. Nothing is held back for financial reasons, because there are no payments to keep records of.
- Server and security logs. 7 days, for security and debugging.
- Share links, dares and posted pages. Until you revoke them or delete your account. A dare stops working after 30 days, but it and its results stay in your account. Revoking a link or a page deletes its preview image or card at once.
- Notifications. In your inbox until you delete them or your account.
- Support emails. As long as it takes to sort the issue out, then in line with statutory rules.
- Consent records and deletion reasons. Kept as proof of compliance, separately from your account.
- Reports and removal records. For as long as the group exists. They go when the group is deleted, and when the account of the person who reported, or of the person reported or removed, is deleted.
- Anything the law requires. Where a statutory duty to retain something applies, we keep that item for as long as the law says and no longer. Nothing in GymVim currently falls under the commercial and tax retention rules in §§ 147 AO and 257 HGB, because nothing is sold and no payment records exist.
- Heart rate. The live reading isn't stored at all: it lives in memory while the app is open and is gone when the session ends. A workout's average and peak are kept as long as that workout is (§4).
- On your phone. The cache, the offline queue, the workout draft and your tokens are cleared the moment you sign out or delete your account.
14 · Keeping it safe
The measures we take, as Art. 32 GDPR requires:
- Everything between the app and the servers travels over TLS, and data is encrypted at rest.
- Sign-in tokens live in the iOS Keychain or Android EncryptedSharedPreferences, never in a plain file. Access tokens are short-lived, refresh tokens are single-use, and signing out kills the session immediately, including a refresh that was already in flight when you tapped the button.
- Profile → Profile Settings → Devices & Sessions shows every active login and lets you end any of them from where you're standing, or all the other ones at once.
- Progress photos get more than the rest. The photo section won't even render until Face ID, Touch ID or your passcode says so, and photo files are deliberately kept out of the app's on-disk image cache. They're the only images in GymVim treated that way, and that's on purpose.
- The local cache sits in private app storage and never holds passwords, tokens or secrets. It's wiped on sign-out, and a response that arrives late, after you've signed out, is thrown away rather than written back.
- Sign-in is a one-time email code or your Google/Apple account. GymVim has no password to leak in the first place.
- Because this is one person with no staff and no contractors, exactly one human being can reach the production systems, behind multi-factor authentication. Your data never passes to an employee, an outsourced support desk or an analyst, because there aren't any.
No system is airtight. If something goes wrong in a way that puts your rights at serious risk, you and the supervisory authority will hear about it, as Arts. 33 and 34 GDPR require.
15 · Your rights
Under the GDPR you can:
- Ask what we hold and get a copy of it (Art. 15).
- Have it corrected if it's wrong, or completed if it's missing something (Art. 16).
- Have it deleted, unless the law makes us keep it (Art. 17). With no payments in the picture there's no financial record standing in the way, so in practice deletion means deletion (§13).
- Have processing restricted in the situations the law provides for (Art. 18).
- Take it with you in a structured, machine-readable format (Art. 20).
- Object to anything based on legitimate interests, on grounds relating to your situation (Art. 21(1)).
- Say no to marketing at any time (Art. 21(2)). This one is absolute: there's nothing to weigh up and no exception, and we stop.
- Withdraw consent whenever you want, without that undoing what was lawful beforehand (Art. 7(3)).
- Complain to a supervisory authority (Art. 77), in the EU country where you live, where you work, or where you think something went wrong. Ours is the Berliner Beauftragte für Datenschutz und Informationsfreiheit, Alt-Moabit 59-61, 10555 Berlin.
Most of this is a tap away
You don't have to email anyone for the common ones:
- Export. Profile → Profile Settings → Export data. Pick personal data, activity history, preferences, pictures, or all of it, and the app sends us your request. You'll get the copy within the month the GDPR allows (Art. 12(3)), the same as if you'd emailed.
- Delete. Profile → Profile Settings → Data & Account → Delete account. Permanent, after an explicit confirmation. No longer have the app? Request deletion here.
- Correct. Profile fields, measurements, logged sets and notes are all editable in place.
- Withdraw consent or object. The analytics toggle (which also stops crash reports), the notification switches and the health-sync connection each turn off on their own. Revoke any share link, dare or posted page under Sharing.
For anything else, email [email protected]. You'll get an answer within a month, or sooner. Complicated requests can take up to two months longer, and we'd tell you if that happened. We may need to check you're really you, but only ever by writing to the account's registered email address, never by asking for ID we don't already hold. None of this costs anything unless a request is plainly excessive or made in bad faith.
16 · If you're in California
The CCPA, as amended by the CPRA, gives California residents the rights below. GymVim is a one-person operation, so it very likely sits well below the revenue and volume thresholds that make that law binding on a business. We're setting the rights out anyway and will honour them either way, so you don't have to work out whether we're technically covered. Over the twelve months before the date at the top of this page we collected the categories described in §3, meaning identifiers, internet and network activity, rough geolocation, photos you chose to add, and health-related information, which California treats as sensitive personal information. We collected it for the purposes in §5, from the sources in §3.
- We don't sell your personal information, and we don't share it for cross-context behavioural advertising, in the sense the CCPA gives those words. We haven't in the past twelve months, and we don't do it with anyone under 16 either.
- Sensitive personal information is used purely to run the features you asked for, never to infer things about you, so the “Limit the Use of My Sensitive Personal Information” right doesn't arise. You can still delete it whenever you want.
- You can know what we collect and why, get a copy, correct mistakes, and ask us to delete. Use the export and delete flows in the app, or email [email protected].
- Exercising any of this won't get you treated differently, and we don't offer discounts in exchange for personal information.
- You can use an authorised agent. They'll need proof you asked them to act, and we may still check with you directly.
- If we turn a request down you can appeal by replying, and you'll get our reasoning.
Live somewhere else in the US with a similar law (Virginia, Colorado, Connecticut, Utah, Texas and others)? Write to the same address and we'll honour the equivalent rights.
17 · Kids
GymVim isn't built for children and isn't aimed at them. You need to be at least 16 to have an account, or older if your country sets a higher age for consenting to online services. We don't knowingly collect anything from anyone younger.
If you think a child has signed up, write to [email protected] and the account and its data will be removed.
18 · Nothing is decided by a robot
There's no automated decision-making with legal or similarly significant effects on you, in the sense of Art. 22 GDPR. The features that generate things on their own (charts, calorie estimates, personal-record detection, leaderboard positions, dare results) are just tools showing you information. None of them decides anything about your access to the Service or your rights.
19 · Changes, and how to reach us
This page will change as the app does, and as the law does. The current version is always here, and the date at the top tells you when it last moved. If a change actually matters (a new purpose, a new type of data, a new company in the chain), you'll hear about it in the app or by email before it takes effect, and where the law requires consent, you'll be asked again rather than assumed into it.
Privacy questions, requests, complaints: [email protected]. Account and technical help: [email protected]. Postal address is in §1 and in the Impressum.
Version 3.1. Last updated October 4, 2026. See also the Terms of Service.
↑ Back to top