gyvo · Svensk version
gyvo measures your training with your phone, and the workout measurements stay on the phone until you choose sync or a promise. The Android app shows no ads. Optional ad measurement exists but stays off until you turn it on — see Ad measurement below. Purchase checks and Google Billing diagnostics are described separately below.
Three optional flows send account or workout data. Two carry what the app has measured; the third is the account, described further down. The first is cloud sync, a switch under More → Account that is off until you turn it on: the app then keeps a copy of your history in your own account with our cloud service, so that a new phone can fetch it. New users meet a form that shows sync as on. This is a draft: sync uploads history only after you sign in and confirm the choice for that account with “Continue with these choices”. A no is kept, and a yes for one account never carries over to another. What syncs is the whole history, including the height and weight behind a day's estimated distance and calories.
The second is Promises. When you make a goal a promise, a friend should be able to get an email when you miss it. The judging happens in the cloud and not on the phone, so that it can happen while the phone is switched off, if the data has already been uploaded. The app sends the goal, its label, whether it is daily or weekly, the saved check time, time zone, period dates and value, and the promise's email rule. The saved check time is a legacy field; it does not determine today's sending time. The goal's history goes with it — which targets you have had and from which dates. That is needed so that a period is judged against the target that applied when it began, and so that the promise works on a new phone if you switch. Only that, and only for the goals you have made promises of. The rest of your training data does not go along, and if you make no promises nothing is sent through Promises. Cloud sync is a separate choice.
To know whom the email comes from, the app needs an account — and so does cloud sync, so that the copy is yours and no one else's. You sign in with Google under More, and that is the third thing that sends data: signing in itself stores your email address and the name on your Google account with our cloud service, before you have promised or synced anything. Steps, workouts, goals, history, the camera and Earn your scroll need no Gyvo sign-in. Purchase checks and Google Billing diagnostics do not require a Gyvo account either; that does not make them optional workout sync.
The subscription adds purchase verification, and it is not a choice: information about your purchase leaves the phone even if you never sign in. What it contains, and what it does not, is under The subscription below.
Steps can come from the phone's step sensor or Health Connect. The Health Connect total counts every app and device that has written steps there — if you have a watch or another fitness app, their steps may be included. The app cannot always separate the phone's own steps out of that figure, and says so on screen when it knows that something comes from another source.
The app’s interface is in English and Swedish. It starts in Swedish if your phone is set to Swedish and in English otherwise, and then follows your choice under More → Settings. Screen names below are given in English.
The app reads your number of steps per day from Health Connect, and only to show them to you and keep your own history in the app. The permission is requested when you press the button on the Results screen, never when the app starts. Every other permission the Health Connect library could handle is explicitly removed from the app — except weight and height, described next. The app never writes anything to Health Connect, never uses Health Connect data for advertising, never sells it, and never sends it anywhere unless you yourself turn on cloud sync or make a goal a promise, as described above.
In the introduction or under More, you can let the app fetch weight and height from Health Connect, for example if you weigh yourself on a scale that writes there. The permission is requested when you press the button, never when the app starts, and you can decline without anything else in the app stopping — the fields can always be filled in by hand.
The app reads the latest weighing as a single record, not as a merged total, precisely so that it can show where the number came from: which app wrote it and which date it applies to. That is shown under the field. If you enter a value of your own, yours applies — a reading never silently overwrites it, but is offered beside it until you choose it yourself.
Weight and height are used for BMI and for the app's estimates of distance and calories. They are stored on the phone like any other setting and are never written back to Health Connect. One thing is worth saying plainly rather than glossing over: your settings are not synced, but an estimate is stored together with the numbers it was based on — so if you turn on cloud sync, the height and weight behind a day's estimated distance and calories travel with that day. An estimate that cannot be recalculated is worse, but it does mean those numbers are in the cloud copy. Resting heart rate, sleep and other health values are not read.
When you start a workout, the app reads the phone's position to work out distance, pace and speed. It reads location only while the workout is running. The app has no permission to read your location in the background and therefore cannot do so when you are not recording a workout.
While recording, the app shows a notification so that you can see that the phone is reading your position. The notification is a condition and not a side effect: if it cannot be shown — because you declined the permission or switched off the app's notifications — no workout starts, and a running one is ended. The app never records your position without it showing.
If you forget to stop a workout, the app does it for you. If the phone has not moved for half an hour, the workout is ended at the point where you were last moving, and a workout is ended in any case after six hours. The summary tells you that it was the app and not you that stopped it.
The positions are used to work out the workout's numbers. What is saved in your history is distance, the number of workouts, and for running also pace and an estimated elevation gain worked out from the phone's air-pressure sensor — no map and no route. The raw positions, and the air-pressure readings recorded alongside them, never leave the phone, and they are deleted once the app has both counted the workout and confirmed that to the recording layer. That happens when you next open the workout screen, and the app clears the track again when you start your next workout. If the phone refuses both to delete the file and to empty it — rare, and noted in the app's log — the old track can stay until one of those succeeds. A workout too short to be saved leaves nothing in your history; its raw track is cleared the same way, and not before.
The app has permission to recognise whether you are walking, running, cycling or still, through Android and Google Play services. Recognition runs only if you turn it on yourself, and the result — times and type of movement — is stored on the phone. Entries older than 30 days are discarded, but the clean-up happens when the app reads or writes, not by the clock, so single entries can remain longer. The feature is off until you turn it on under More → Passive movement, and is turned off again in the same place.
The camera is used only when you start camera mode yourself, from the Train tab, and only while it is open. The app estimates your body's position frame by frame, on the phone, to count reps — push-ups, squats, lunges — and to time holds such as plank and wall-sit. No video and no image is recorded, stored or sent anywhere, and the model that does the analysis is packaged inside the app, so camera mode needs no connection. No sound is recorded: the app has no microphone permission and opens the camera without audio.
What a camera session leaves behind is a number: reps per exercise and seconds held, with the session's start and end time and a note of how certain the count was. That goes into your history on the phone like any other measurement — and, only if you have turned on cloud sync, into the copy in your account. The app also remembers what you calibrated with your own body, as settings on the phone: the depth you set in Coach mode, and the position you held for plank and wall-sit. The body points the camera finds exist only in the phone's memory while the camera is open.
Three things use notifications: the one that shows that a workout is being recorded, the one that shows that Earn your scroll is on (see below), and an optional notice about today's goal that you turn on yourself under More. If you have promises, that notice can also tell you when last night's promise could not be judged — the app reads that from your own promises in the cloud. Notifications contain only what you see in them and are sent nowhere. If you decline the permission, the app otherwise works as usual — you just do not see them. The exception is workout recording, which requires its notification: see Location — only during a workout above.
Earn your scroll puts apps you have chosen on hold after a time you have chosen, until your daily goals are reached — and never past midnight. It is off until you turn it on under Promise → Earn your scroll, and it needs two rights that you grant yourself in Android's settings: Usage access, so that the app can see which app is in the foreground, and Display over other apps, so that it can put its own screen over a chosen app. While it is on, a guard runs in the background, and Android requires it to post a notification saying so. Being honest about the difference: workout recording refuses to run when that notification cannot be shown, but the hold does not — so if you have turned off gyvo's notifications, the guard can be watching which app is in front without a badge in your notification shade.
What the app reads is which app is on top right now — on the phone, by the guard, and for nothing else. To let you choose, the app lists the apps on your phone that have an icon. The list of apps you chose, the time and which goals bind are stored on the phone, are never sent anywhere and are not part of cloud sync. The list is read on the phone in two places, and nowhere else: by the guard, each time it decides whether the app in front of you is one you chose, and by the chooser screen, to show you what you picked. The hold never applies when the app does not know how your goals stand, and the home button always works — it is a nudge you chose, not a lock.
The app uses the internet for Google sign-in, Promises and optional cloud sync. Purchase verification also uses the cloud without a Gyvo account. Google Billing sends technical diagnostics when used. The purchase-record deletion path sends signed purchase proof when you request deletion. Optional Promises also use a proof for the link described below. These purchase flows are separate from your choice to sync workout data; see The subscription below. Optional ad measurement is described under Ad measurement below.
Sign-in happens with Google, in the phone's ordinary browser — never in a sign-in box the app draws itself. The app never sees your password. What the account receives from Google is that you are signed in, your email address, which is needed to know whose promises are whose, and the name on your Google account, which the friend email uses to say who made the promise — if your Google account has no name, the email address is used instead. The email itself is sent from a fixed gyvo address. Google sign-in also hands over the link to your Google profile picture; the app does not use it, but it sits in the account record until the account is deleted.
The account itself carries no training data. Steps, workouts, distance, pace and history stay on the phone as long as you have neither turned on cloud sync nor made a goal a promise — and signing in alone starts neither cloud sync nor a promise.
You sign out under More. Signing out removes the session from the phone.
A promise needs someone to go to. You enter a friend's email address — and optionally a name — under Promise → Active promises, and the address leaves the phone only when you have ticked the box that says what your friend will receive. It is used for the promise emails and for nothing else, and is not passed on.
What the email contains: your name — as Google gives it — as the person who made the promise, the goal, the day's or the week's number — for a daily promise also how the week stands against your weekly goal, when you have one and it could be measured — and a line saying that you chose the address. Nothing else about your training. A friend only gets emails about checks that happened after they were added. Every email has a link where your friend can decline further emails, and that no applies to the address — it stays even if you remove and add the same address again, and even if you delete everything the app has stored — or delete your account. That choice is your friend's, not yours.
The check happens from 07:00 the morning after the period closed, in your time zone. The server checks every fifteen minutes for a report on the whole closed period. The sending window runs from 07:00 to midnight on the day after the period ends. A reached goal sends no email. A new daily promise emails only on a real miss: a day with no reliable figure stays silent. An older promise may instead tell your friend that no reliable figure exists — never that you missed. Both kinds of email require a reading after the period ended. Without one, the server waits; after the sending window, no email goes. A missing period or one first assessed after the window also sends no email. Unknown is never a miss.
Under More — and on the paywall — there is a switch for optional ad measurement with Firebase Analytics. It stays off until you turn it on yourself, and it blocks nothing: purchases and use work the same whatever you choose, and you can switch it off again in the same place. This optional measurement is available only in the Android app.
While measurement is on, Google collects purchase and subscription events — trial starts, purchases and renewals — along with app and device identifiers and automatic usage metadata such as sessions and app data. We also measure app opens, paywall and offer views, checkout taps and checkout outcomes (for example cancellation, waiting or error). These steps are collected only while you have opted in, never reconstructed from earlier activity. No workout data leaves the phone that way — no steps, workouts, goals or camera numbers — and the measurement data is not enabled for personalised advertising.
Consent is stored on the phone and never travels with cloud sync, backup or transfer to a new phone. More → Delete my data switches measurement off and resets the local measurement identity. Anything already sent to Google stays there — the app cannot reach that history and does not delete it from here. Non-aggregated event and user data in Gyvo's Analytics property has a two-month retention period, without extension for new activity. This setting does not remove aggregated standard reports or govern Google Ads retention.
Android also declares advertising-ID and attribution permissions for this measurement, and a wake-lock permission for the SDK's background work. They do not show a separate permission dialog; collection still requires your opt-in above.
Gyvo requires a subscription through Google Play for the whole app. Eligible accounts get a 14-day free trial; Play shows the local price and terms before you confirm. Purchase verification and the Billing Library diagnostics described below send data even if you have not chosen a cloud feature. A purchase has to be checked, and that check cannot be trusted if the phone does it alone.
What leaves the phone is the purchase token — a code Google Play gives your purchase — from the moment you start the trial or subscribe. The app sends it to our cloud service, Lovable Cloud, which asks Google Play what the token stands for and stores the answer together with the token: the subscription's state (for example trial, active or ended), also under Google's own name for it, until when it applies, whether it renews, which subscription it is, whether the purchase is a test purchase, and when we first and last asked. Nothing else from Google's answer is stored. The answer goes back to the phone. Google also tells our cloud service directly when the subscription renews or is cancelled, so that the answer stays right even when the phone is switched off. The question is asked from the cloud and not from the phone because it needs a key from Google, and a key inside an app can be read out by anyone.
What does not leave the phone is your card details. You pay in Google Play's own purchase screen, and only Google receives the card — also when the trial starts, since Google requires a valid payment method before it begins. Neither the app nor our cloud service sees it. No training data goes with the purchase token.
The subscription does not require a Gyvo account. The purchase is recognised by its token and not by who you are: you do not need to sign in, and the subscription does not turn on cloud sync. Signing in alone does not link the purchase information to your account, which is why Delete my account does not remove it. The retention period is described below.
Optional Promises link your Gyvo account to the purchase token for your current purchase, so friend emails can be checked while your phone is off. The link is created only when you have active promises and a verified purchase. The cloud stores your account ID, purchase token, creation time, the time of a known payment pause and the time after which email periods may begin. Purchases without Promises still require no account. Friend emails wait when entitlement is unknown and pause when the subscription does not apply. The first link, a token change or relinking after deletion starts with the next whole period; old periods from a payment pause are not emailed. The link is removed when the last active promise is paused or deleted, when you delete your account or account-linked cloud data, and when the purchase-status record is deleted or purged. Account deletion removes the link, but not Google's purchase or the separate status record.
Google Play Billing Library also sends technical diagnostics to Google when the app uses it. This is separate from purchase verification and from optional workout sync. The Android app shows no ads. Optional ad measurement is described above.
The purchase-record deletion path keeps Google's signed purchase proof in an app-private file excluded from Android backup and device transfer, until confirmed deletion or uninstall, so an ended purchase can still be identified. The proof can contain an order ID and purchase time. It is sent to our cloud when you request deletion and for optional Promises as described above. These functions check it in memory and do not store or log it. The same saved proof can also be checked in read-only mode when Play no longer lists the purchase: the phone then asks with only the matched purchase token, Google is asked but nothing is written to the cloud — no record is recreated — and the answer neither grants nor extends access; only a fresh no-access answer for exactly that previously verified purchase can close it — including hold or pause, not only a permanently ended subscription. The app also keeps a local fingerprint to link the check to the last verified purchase; the purchase proof stays in the private file described above. Without confirmed server deletion, the local proof is kept for retry. Deletion does not cancel Google Play renewal; a check or Google notification can recreate the status record, including immediately. A daily job is scheduled to remove the status record once both its last check and its last known expiry are more than 30 days old. If expiry is unknown, the period runs from the last check. This cleanup covers the purchase cache, not workout data, and does not determine whether the subscription still applies.
Everything is worked out on the phone: today's steps, history, estimated distance and calories, walking and running minutes, reps and hold times from the camera, and the distance and pace of your workouts. The estimates of distance and calories start from your steps and from height and weight. Until you have entered your own values, the app uses an average body (172 cm, 72 kg) — those numbers are marked as estimates, and BMI is not shown at all until you have entered your real measurements.
On the phone, in the app's own storage. No data is sold, and the app shows no advertising. Optional ad measurement is described under Ad measurement above; Google Billing diagnostics under The subscription.
With our cloud service — Lovable Cloud, which runs on Supabase — is what you yourself have put there: your account with your email address and the name from Google, your promises with the goals behind them and the numbers that belong to them, the friends you chose — and, if you have turned on cloud sync, a copy of your history. None of it is there if you have neither signed in, promised anything nor turned on sync. For the subscription, the information about your purchase is there too, with or without an account — see The subscription above.
For sign-in and Promises, these recipients receive data: Google learns that you sign in to gyvo, since it is Google that performs the sign-in, and the email delivery service our cloud provider uses receives your friend's address and the email's content in order to deliver it. Purchase verification and Google Billing diagnostics are separate flows, described above.
What is stored is:
History is stored on the phone precisely so that it can become longer than the 30 days Health Connect hands out. It is not pruned automatically.
The app is set so that none of this goes to Google's cloud backup, nor to a new phone in a device-to-device transfer.
You can also save an extract of a day's raw step records as a file, under More: the app shows you what the extract contains first, and you choose where the file goes. It is not sent anywhere.
You can withdraw the app's permissions at any time: steps, weight and height in the Health Connect app under Permissions, the rest under Android's app settings. The app then stops measuring what the permission covered and says so on screen instead of continuing to show numbers. The weight and height you have already entered or fetched remain in the app's settings until you change them or delete your data.
You can delete what the app has stored on the phone from inside the app: More → Delete my data. The deletion covers the history, your goals and settings, movement recognition's times, the latest workout's position track and the goal notification — and what is in the cloud: your promises with their periods, the friends you chose, and the cloud copy of your history if you turned on sync. Afterwards the app shows what went through — and distinguishes what the phone confirmed it deleted from what was handed to the phone's own layers, which do not answer whether it worked. The deletion cannot be undone.
Deleting account-linked cloud data requires you to be signed in, and the confirmation says so before you press: if you are signed out, the app can neither reach what is there nor see whether it exists, and the receipt then says so instead of claiming it is gone. A friend who declined emails stays unsubscribed even after a deletion — that choice is your friend's and not yours. The key behind the unsubscribe link also stays: a row with your friend's email address in plain text, written when an email was sent or attempted. Without it, the link in an email that has already arrived would stop working, and your friend's way out must not disappear with your data.
Delete my data also requests deletion of purchase-status records identified by this installation's saved signed proofs, without a Gyvo account. It needs a connection. Proofs from an earlier installation may be missing; an empty local list does not establish that no older server records exist. The local proof is removed only after confirmed server deletion; without that receipt it stays for retry. A failure to confirm local erasure is reported as a failure; the proof may then remain. This does not cancel Play billing, and a check or Google notification can recreate the record immediately. The status record is also covered by the daily 30-day cleanup described under The subscription.
Two things the deletion does not touch, because the app does not own them: what is in Health Connect — your steps, and your weight and height if they came from there — which stays until you delete it in the Health Connect app, and the permissions you granted, which you revoke yourself. And one thing it does not reach yet, although it should: Earn your scroll's own storage on the phone — whether it is on, the apps you chose, the time and the last goal statuses the guard saw. Switching the feature off and removing the apps clears your choice; what the guard stored stays until you uninstall. Because what is in Health Connect stays there, it also comes back: as long as the app still has its permissions, it re-reads the days Health Connect hands out the next time you open it, and the weight and height the next time you open More. Anything older than that is gone for good; if you typed your weight and height in yourself, they are gone. If you uninstall gyvo, everything the app stored on the phone disappears.
The account itself — your email address and the name from Google — is not removed by Delete my data. It has a path of its own: More → Account → Delete my account, which removes the sign-in and everything in the cloud that belongs to it — your promises and their periods and goals, the friends you chose, and the cloud copy if you turned sync on — and signs you out. It cannot be undone, and we keep no copy of a deleted account anywhere else. The same two things stay as above, and for the same reason: a friend's no to emails, and the key behind the unsubscribe link. What the app measured on the phone stays too — the account is the sign-in, not the measurements — and Delete my data is the path for that.
If you no longer have the app installed, write to the contact address below and we delete the account for you. gyvo.app/delete-account is a public page that describes both paths, what is deleted and what stays.
When you submit an email on gyvo.app, we save the address, your chosen platform, the time and the version of the consent text in our cloud service. This list is separate from app accounts and contains no training data. Website APK downloads have ended; install or update through Google Play. We do not send a download or verification email.
We use the list for one email when Gyvo is available in your phone’s app store, not for other marketing. Submitting again for the same platform keeps your original consent. To leave the list or delete your address, write to support@gyvo.app. Historical app files remain archived on GitHub, which receives your IP address if you download one there. The website no longer offers APK downloads.
Gyvo is intended for adults aged 18 and over and is not directed at children. The only information about who you are that the app takes in is what Google hands over with the account — email address, name and the profile-picture link — and only if you choose to sign in, which Promises and cloud sync both need and nothing else does. Information about anyone else is taken in only when you yourself enter a friend's address for a promise.
Questions about this policy or about what gyvo stores go to support@gyvo.app, and so can a request to delete your account if you no longer have the app to do it from. It is read by the person who makes the app.
Last updated 6 November 2026.