Privacy Policy for Gainflow

Last updated: September 26, 2026

Data Controller: The controller of your personal data is Dawid Zaręba. You can contact him regarding any data protection matters at dawid@gainflow.app.

This Privacy Policy describes Our policies and procedures on the collection, use and disclosure of Your information when You use the Service and tells You about Your privacy rights and how the law protects You.

We use Your Personal data to provide and improve the Service. By using the Service, You agree to the collection and use of information in accordance with this Privacy Policy.

At a glance: you're in control

You can turn off analytics, delete your account, or get a copy of your data — all without leaving the app.

  • Turn off analytics: open the app → Settings → Account privacy → toggle "Share usage data" off. Analytics stops immediately.
  • Delete your account: Settings → Account → Delete account. Your profile, workouts, measurements and conversations with coaches are removed — a conversation disappears for your coach too. Some data is kept briefly for backups and legal reasons, and the push notifications we sent you stay in our notification log for up to 30 days (see "How long we keep your data" below).
  • Export your data: email us at dawid@gainflow.app and we'll send a copy within 30 days.
  • Withdraw a consent: analytics — Settings → Account privacy; health data — Settings → Apple Health / Health Connect, where disconnecting also deletes what we imported; what your coach can see and add — Settings → Coach Settings → Coach access (on the web: Settings → My coach), where Leave Coach ends the cooperation. Location is a system permission, so you revoke it in your device settings.
  • Stop sharing your full route: the switch on the finish screen of each activity decides whether other people see your real start and finish. For a new public activity it is on by default.
  • Disconnect Apple Health / Health Connect: Settings → Health. Everything we imported — daily summaries and health-sourced measurements — is deleted immediately.
  • Delete a message you sent your coach: open the message's options and choose Delete. Its text, photos and video are erased for both of you.
  • Questions? dawid@gainflow.app — we read every email.

Interpretation and Definitions

Interpretation

The words of which the initial letter is capitalized have meanings defined under the following conditions. The following definitions shall have the same meaning regardless of whether they appear in singular or in plural.

Definitions

For the purposes of this Privacy Policy:

  • Account means a unique account created for You to access our Service or parts of our Service.
  • Affiliate means an entity that controls, is controlled by or is under common control with a party, where "control" means ownership of 50% or more of the shares, equity interest or other securities entitled to vote for election of directors or other managing authority.
  • Application refers to Gainflow, the software program provided by the Company: the mobile app for iOS and Android, and the web app at www.gainflow.app/app.
  • Company (referred to as either "the Company", "We", "Us" or "Our" in this Agreement) refers to Gainflow.
  • Country refers to: Poland
  • Device means any device that can access the Service such as a computer, a cellphone or a digital tablet.
  • Personal Data is any information that relates to an identified or identifiable individual.
  • Service refers to the Application. Coaches use a separate panel, Gainflow Coach, which has its own privacy policy; this Privacy Policy covers what that panel shows your coach about you and the messages you exchange with your coach.
  • Service Provider means any natural or legal person who processes the data on behalf of the Company. It refers to third-party companies or individuals employed by the Company to facilitate the Service, to provide the Service on behalf of the Company, to perform services related to the Service or to assist the Company in analyzing how the Service is used.
  • Third-party Social Media Service refers to any website or any social network website through which a User can log in or create an account to use the Service.
  • Usage Data refers to data collected automatically, either generated by the use of the Service or from the Service infrastructure itself (for example, the duration of a page visit).
  • You means the individual accessing or using the Service, or the company, or other legal entity on behalf of which such individual is accessing or using the Service, as applicable.
  • Location Data means the precise position of Your Device recorded while You track a run, ride, or walk: the point-by-point route of the activity, including altitude and timing.
  • Health Data means data concerning Your health that Gainflow reads from Apple Health or Health Connect with Your explicit consent, or that You enter Yourself — body weight, steps, sleep, resting heart rate, and similar values. Under GDPR Article 9 it is a special category of personal data.

Collecting and Using Your Personal Data

Types of Data Collected

Personal Data

While using Our Service, We may ask You to provide Us with certain personally identifiable information that can be used to contact or identify You. Personally identifiable information may include, but is not limited to:

  • Email address
  • Username
  • Usage Data
  • Push notification token (if you enable notifications)
  • Subscription status (active / trial / expired) from Apple, Google, or RevenueCat
  • Analytics events and properties — only if you opt in (see "Analytics & product improvement")
  • Error reports including device info (see "Crash & error reporting")
  • Location Data — the GPS route of an activity you record (see "Location & GPS activity tracking")
  • Health Data from Apple Health or Health Connect, if you connect one of them (see "Apple Health and Health Connect")
  • Your choices about what each coach can see and add, and the entries a coach adds to your account (see "Working with a coach")
  • Messages, photos and videos you exchange with your coach (see "Messages with your coach")
  • The language the mobile app is displayed in, so that notifications reach you in that language

Usage Data

Usage Data is collected automatically when using the Service.

Usage Data may include information such as Your Device's Internet Protocol address (e.g. IP address), browser type, browser version, the pages of our Service that You visit, the time and date of Your visit, the time spent on those pages, unique device identifiers and other diagnostic data.

When You access the Service by or through a mobile device, We may collect certain information automatically, including, but not limited to, the type of mobile device You use, Your mobile device unique ID, the IP address of Your mobile device, Your mobile operating system, the type of mobile Internet browser You use, unique device identifiers and other diagnostic data.

We may also collect information that Your browser sends whenever You visit our Service or when You access the Service by or through a mobile device.

Information from Third-Party Social Media Services

The Company allows You to create an account and log in to use the Service through the following Third-party Social Media Services:

  • Google

If You decide to register through or otherwise grant us access to a Third-Party Social Media Service, We may collect Personal data that is already associated with Your Third-Party Social Media Service's account, such as Your name, Your email address, Your activities or Your contact list associated with that account.

You may also have the option of sharing additional information with the Company through Your Third-Party Social Media Service's account. If You choose to provide such information and Personal Data, during registration or otherwise, You are giving the Company permission to use, share, and store it in a manner consistent with this Privacy Policy.

Information Collected while Using the Application

While using Our Application, in order to provide features of Our Application, We may collect, with Your prior permission:

  • Your precise location — including while the screen is locked and while the app is in the background — for as long as an activity you started is being recorded
  • Photos and videos from your Device's camera and, on iOS, your photo library — for example for your profile, your workouts and measurements, or a message to your coach
  • Access to your calendar, so the workouts you plan can be added to it
  • Your microphone — to record sound with a video you film for your coach, and your voice when you use push-to-talk in the AI Assistant

We use this information to provide features of Our Service, to improve and customize Our Service. The information may be uploaded to the Company's servers and/or a Service Provider's server or it may be simply stored on Your device.

You can enable or disable these permissions at any time through Your Device settings. On Android 13 and later the app asks for no access to your photo library: you choose each photo or video yourself in the system photo picker. Older versions of Android may ask for access to your photos and media.

Use of Your Personal Data

The Company may use Personal Data for the following purposes:

  • To provide and maintain our Service, including to monitor the usage of our Service.
  • To manage Your Account: to manage Your registration as a user of the Service. The Personal Data You provide can give You access to different functionalities of the Service that are available to You as a registered user.
  • For the performance of a contract: the development, compliance and undertaking of the purchase contract for the products, items or services You have purchased or of any other contract with Us through the Service.
  • To contact You: To contact You by email, telephone calls, SMS, or other equivalent forms of electronic communication, such as a mobile application's push notifications regarding updates or informative communications related to the functionalities, products or contracted services, including the security updates, when necessary or reasonable for their implementation.
  • To provide You with news, special offers and general information about other goods, services and events which we offer that are similar to those that you have already purchased or enquired about unless You have opted not to receive such information.
  • To manage Your requests: To attend and manage Your requests to Us.
  • For business transfers: We may use Your information to evaluate or conduct a merger, divestiture, restructuring, reorganization, dissolution, or other sale or transfer of some or all of Our assets, whether as a going concern or as part of bankruptcy, liquidation, or similar proceeding, in which Personal Data held by Us about our Service users is among the assets transferred.
  • For other purposes: We may use Your information for other purposes, such as data analysis, identifying usage trends, determining the effectiveness of our promotional campaigns and to evaluate and improve our Service, products, services, marketing and your experience.

We may share Your personal information in the following situations:

  • With Service Providers: We may share Your personal information with Service Providers to monitor and analyze the use of our Service, to contact You.
  • For business transfers: We may share or transfer Your personal information in connection with, or during negotiations of, any merger, sale of Company assets, financing, or acquisition of all or a portion of Our business to another company.
  • With Affiliates: We may share Your information with Our affiliates, in which case we will require those affiliates to honor this Privacy Policy. Affiliates include Our parent company and any other subsidiaries, joint venture partners or other companies that We control or that are under common control with Us.
  • With business partners: We may share Your information with Our business partners to offer You certain products, services or promotions.
  • With other users: when You share personal information or otherwise interact in the public areas with other users, such information may be viewed by all users and may be publicly distributed outside. If You interact with other users or register through a Third-Party Social Media Service, Your contacts on the Third-Party Social Media Service may see Your name, profile, pictures and description of Your activity. Similarly, other users will be able to view descriptions of Your activity, communicate with You and view Your profile.
  • With your coach: what you choose to share with a coach you work with, the entries they add for you, and the messages you send them (see "Working with a coach" and "Messages with your coach").
  • With Your consent: We may disclose Your personal information for any other purpose with Your consent.

How long we keep your data

We keep your data while your account is active, and for a short period after you delete it for backups and legal reasons.

When you delete your account, your profile, workouts, body measurements, AI history and conversations with coaches are removed from our active systems — a conversation, with its photos and videos, is deleted for your coach too. Some data may stay in backups for a limited period before being purged, and we may keep certain records longer if the law requires it (for example, tax records for paid subscriptions). Each push notification we send you stays in our notification log for at most 30 days after it is sent, for delivery diagnostics — also after you delete your account. An entry holds the notification's text — including previews of your coach's messages and the names of your supplements — and your device's push token, which is linked to your account while your account exists. Analytics data in PostHog and error reports in Sentry are kept for the period set by those processors' default retention policies — we do not extend it. A message in a conversation with your coach stays until its sender deletes it or either account is deleted; ending the cooperation does not delete it. The route of an activity is kept for as long as the activity exists: deleting the activity deletes its route, and deleting your account deletes both. Health data imported from Apple Health or Health Connect is deleted as soon as you disconnect the integration — it does not wait for account deletion.

Where your data lives

Most of your data stays in the EU. Some of it goes to the US under approved safeguards.

EU: your account, workouts, measurements, messages with your coach, and the photos and videos you upload are stored on our backend, hosted by Oracle Cloud Infrastructure in the EU. Where each of our providers processes data is listed in "Our service providers".

US: some of our providers process data in the United States. These transfers rely on Standard Contractual Clauses or equivalent safeguards under GDPR Chapter V.

Delete Your Personal Data

You have the right to delete or request that We assist in deleting the Personal Data that We have collected about You.

Our Service may give You the ability to delete certain information about You from within the Service.

You may update, amend, or delete Your information at any time by signing in to Your Account, if you have one, and visiting the account settings section that allows you to manage Your personal information. You may also contact Us to request access to, correct, or delete any personal information that You have provided to Us.

Please note, however, that We may need to retain certain information when we have a legal obligation or lawful basis to do so, and that the push notifications We have sent You stay in our notification log for up to 30 days, also after Your account is deleted (see "Push notifications").

Disclosure of Your Personal Data

Business Transactions

If the Company is involved in a merger, acquisition or asset sale, Your Personal Data may be transferred. We will provide notice before Your Personal Data is transferred and becomes subject to a different Privacy Policy.

Law enforcement

Under certain circumstances, the Company may be required to disclose Your Personal Data if required to do so by law or in response to valid requests by public authorities (e.g. a court or a government agency).

Other legal requirements

The Company may disclose Your Personal Data in the good faith belief that such action is necessary to:

  • Comply with a legal obligation
  • Protect and defend the rights or property of the Company
  • Prevent or investigate possible wrongdoing in connection with the Service
  • Protect the personal safety of Users of the Service or the public
  • Protect against legal liability

Security of Your Personal Data

The security of Your Personal Data is important to Us, but remember that no method of transmission over the Internet, or method of electronic storage is 100% secure. While We strive to use commercially acceptable means to protect Your Personal Data, We cannot guarantee its absolute security.

Gainflow AI (AI Assistants)

The AI Assistant provided in the application is powered by language models from Mistral.ai and Gemini (Google LLC). When you use the Assistant, the data you input may be transmitted securely to Mistral.ai’s and Google’s servers for processing. If You have connected Apple Health or Health Connect, the body measurements in that context may include values imported from your health store, such as your body weight. When you use push-to-talk, the recording of what you say is sent to OpenAI, which transcribes it in the United States under Standard Contractual Clauses. We pass the recording on for transcription and discard it — no recording is stored.

AI Video Analysis

Gemini (Google LLC)

To provide technical analysis of your exercise form, the Application uses Gemini language models provided by Google.

  • Data processed: Video recordings selected or recorded and uploaded by the User.
  • Purpose: Analyzing body movements, providing feedback on exercise technique, and improving user performance.
  • Processing method: Videos are transmitted to Google’s servers for processing.
  • Privacy Note: We do not use your videos for any purpose other than providing you with the analysis. We do not share these videos with any third parties except for the AI processing service (Google).

Working with a coach (Gainflow Coach)

Personal trainers and fitness coaches use Gainflow Coach, a separate web panel, to support their clients. A coach becomes your coach only when you accept their invitation, or when they accept the request you send through their invitation link. What they can see and add beyond the basics is up to you. Messages you exchange are described in "Messages with your coach".

Your coach always sees your name, username, profile photo and e-mail address, the workouts you publish, and which of the categories below you share — but cannot change your choices. Each category is off until you turn it on:

  • Private workouts: workouts you have not published, with their photos and videos. While this is off, they are also left out of the totals, records and statistics your coach sees.
  • Measurements and statistics: body measurements — including body weight imported from Apple Health or Health Connect, which is stored as an ordinary measurement — progress charts and exercise statistics.
  • Measurement photos: the photos you add to measurements. Videos you add to measurements are never shown to a coach.
  • Supplements: your supplements with doses and stock, your reminder schedule, and your intake history with times and notes.
  • Entries by your coach: lets your coach add entries to your account — see "Entries your coach adds" below.

You choose the categories when you accept an invitation or send a join request, separately for each coach, and you can change them at any time in Settings → Coach Settings → Coach access (on the web: Settings → My coach). A change applies from your coach's next request, but a measurement photo your coach has already opened stays reachable through its link while the file exists (see "Messages with your coach"). Legal basis: your explicit consent (GDPR Art. 6(1)(a), and Art. 9(2)(a) where a category reveals information about your health), which you can withdraw at any time.

Joining, pausing and ending

  • Invitation by e-mail: a coach can invite you by entering your e-mail address, and we send the invitation there. If the address belongs to a Gainflow account, the coach sees its username in their list of invitations.
  • Invitation link: a coach can also share a personal link, through which you send them a join request with the categories you choose. Until the coach accepts it, they see only your name, username, profile photo and e-mail address, and when you sent the request. A request you send expires after 30 days.
  • Pause: your coach can pause the cooperation. While it is paused, your coach cannot open your data; when they resume it, your earlier choices apply again.
  • Leaving: Leave Coach ends the cooperation, and your coach loses access to your data. Only you can restore it, by accepting a new invitation or sending a new request, where you choose your categories again.
  • Blocking: if either of you blocks the other, your coach no longer sees your data, your conversation or you in their client list.
  • Removal: after the cooperation ends, your coach can remove you from their client list. Their notes about you are deleted; your data, including entries they added, stays in your account, and you keep the conversation.
  • Notifications: we tell you about your coach's actions in the app and by push notification (see "Push notifications"). So that these notifications reach you in your language, the mobile app saves the language it is displayed in on your account.

Entries your coach adds

  • With Entries by your coach on, your coach can add workouts, measurements, supplements and supplement intakes to your account, each only in a category you also share.
  • An entry your coach adds is your data: it shows your coach's name and is treated like your own entries, including in your statistics and in the context the AI Assistant uses.
  • A workout your coach adds stays private until you publish it; once it is published, only you and your coach see who added it.
  • Your coach can delete, but not edit, the entries they added — even after you turn a category off — while you work together and neither of you has blocked the other. You can edit or delete them like your own. If your coach deletes their account, the entries stay in your account without their name.
  • Entries your coach adds are never written to Apple Health or Health Connect automatically: you can add their workouts there yourself (see "Apple Health and Health Connect"), and measurements your coach adds never reach Apple Health or Health Connect.

Your coach acts as an independent data controller for the data they access through the platform. We require coaches to handle Your data responsibly and in accordance with applicable data protection laws, but We are not responsible for how a coach uses the data outside of the Gainflow platform.

Your data is shared only with a coach whose invitation you accept or to whom you send a join request, and only as described above. No data is shared with other coaches, other users' coaches, or any third parties through the coach integration.

Detailed Information on the Processing of Your Personal Data

The Service Providers We use may have access to Your Personal Data. These third-party vendors collect, store, use, process and transfer information about Your activity on Our Service in accordance with their Privacy Policies.

Our service providers

These companies receive personal data to run parts of the Service. Each is listed once: what it does for Gainflow, where it processes the data, and its privacy policy. Transfers outside the EU are covered in "Where your data lives".

ProviderWhat it does for GainflowWhere it processes dataPrivacy policy
Apple (Apple Inc.)Distributes the iOS app and handles its payments (App Store), provides Apple Sign-In, draws the maps on iOS (Apple Maps) and delivers push notifications on iOS (Apple Push Notification service)Ireland (controller for the EEA) and the United States (storage)apple.com
EsriProvides the base map for activity maps in the Gainflow web appUnited Statesesri.com
ExpoIssues your device's push token and passes each push notification to Apple or Google for deliveryUnited Statesexpo.dev
Google (Google LLC, Google Ireland Limited)Distributes the Android app and handles its payments (Google Play), provides Google Sign-In and the Gemini language models of the AI features, draws the maps on Android (Google Maps) and delivers push notifications on Android (Firebase Cloud Messaging)Ireland (controller for the EEA); servers worldwide, including the United Statespolicies.google.com
Mistral.aiProvides language models for the AI AssistantEuropean Unionlegal.mistral.ai
OpenAITranscribes your voice when you use push-to-talk in the AI AssistantUnited Statesopenai.com
openrouteservice (HeiGIT gGmbH)Snaps the routes you plan to roads and paths, and generates loopsGermanyopenrouteservice.org
Oracle (Oracle Cloud Infrastructure)Hosts our backend — servers, database and the photos and videos you upload — and sends our e-mails (Email Delivery)Frankfurt, Germanyoracle.com
PostHog (PostHog Inc.)Runs our product analytics, only if you opt in, with AWS, PlanetScale and Modal Labs as its subprocessorsFrankfurt, Germany (PostHog EU Cloud), with its subprocessors in Germanyposthog.com
RevenueCat (RevenueCat, Inc.)Validates your subscription with Apple and GoogleUnited Statesrevenuecat.com
Sentry (Sentry GmbH)Collects crash and error reports, and session replays in the web appGermanysentry.io
Vercel (Vercel Inc.)Hosts our website and the Gainflow web appUnited Statesvercel.com

Analytics & product improvement

We use PostHog to see which features people use, so we can fix bugs and build the right things. It's opt-in. You can turn it off anytime. This is not advertising tracking: we do not use the advertising identifier (IDFA), we work with no ad networks, and we never share your data with data brokers.

  • PostHog Inc.
    • When you tap "Turn on" on the analytics consent screen, we send data to PostHog. Data location: Frankfurt, Germany (PostHog EU Cloud).
      What we send: your account ID, email, and username (so we can debug issues tied to your account); product usage events tied to your activity in the app — for example, when you start or complete workouts, view subscription screens, or navigate between major features (the full event taxonomy is available on request); app preferences (language, units, experience level), tutorial progress, whether you have a coach; device basics from PostHog's SDK (OS, app version, device model, IP address).
      Legal basis: your consent (GDPR Art. 6(1)(a)). You can withdraw it anytime in Settings → Privacy.

Crash & error reporting

When something breaks in the app, the web app or on our servers, we get an error report so we can fix it. Our servers strip the text of your messages with your coach from these reports.

  • Sentry GmbH
    • We use Sentry to collect crash and error reports (see "Our service providers").
      What we send: the error and where it happened, the screen or page you were on, the app version, and your device and operating system. Reports from our servers also carry your account ID, e-mail address, username and IP address, and reports from the web app carry your IP address. A report about an error in the AI features of the mobile app can include the request that failed — for example your message to the AI Assistant — and we use it only to fix that error. Our servers remove the text of your messages with your coach, their notification previews and sign-in tokens before a report is sent.
      Session replays on the web: in the web app, Sentry also records replays of some sessions — page changes, clicks and the layout of the page — with all text and everything you type masked, and images and videos blocked.
      Legal basis: legitimate interest (GDPR Art. 6(1)(f)) — keeping the app stable is essential to providing the service. You can object at dawid@gainflow.app.

Push notifications

We send push notifications through Expo, which passes them to Apple or Google for delivery (see "Our service providers"). A notification can show what it is about on your lock screen — including the beginning of a message from your coach.

  • Expo
    • When you allow notifications, the app gets a push token for your device from Expo, and we store it with your account until you sign out of the mobile app. We use it to send you notifications. The app contains no Firebase Analytics: Google's Firebase Cloud Messaging only delivers the notifications.
      What a notification shows: a message from your coach shows your coach's name and the beginning of the message; a notification about your coach's actions names your coach and, for a plan, its title; a supplement reminder shows the supplement's name. To keep this off your lock screen, turn off notification previews in your device settings.
      We keep a log of the notifications we send, for delivery diagnostics: each entry holds the notification's text (including previews of your coach's messages), the identifiers the app uses to open the right screen, and your device's push token, which is linked to your account while your account exists. Each entry is kept for at most 30 days after it is sent, also after you delete your account.
      Only your coach's messages are pushed; your messages to your coach are not, and the web app sends no push notifications.
      Legal basis: performance of a contract (GDPR Art. 6(1)(b)) — the notifications you turn on are part of the service.
      To stop notifications, turn them off in your device settings or in Settings → Notifications in the app; the in-app switch stops all of them, including supplement reminders.

E-mail

We send e-mails through Oracle Cloud Infrastructure Email Delivery, the same provider as our backend (see "Our service providers").

  • Oracle Cloud Infrastructure Email Delivery
    • We use it to deliver the e-mails the Service sends. When your messages to your coach stay unread, your coach gets an e-mail with your name and the number of unread messages, never their content.
      What we send: the recipient's e-mail address and the content of the e-mail.
      Legal basis: performance of a contract (GDPR Art. 6(1)(b)) — these e-mails are part of running your account and the features you use.

Location & GPS activity tracking

When you record a run, ride, or walk, we record your precise location — including while your screen is locked. A new public activity shows your real start and finish to everyone by default.

  • Gainflow (our backend)
    • When you start a run, ride, or walk, the app records your precise GPS position point by point — latitude, longitude, altitude, and the time elapsed since the start — and stores that route on our servers together with the activity.
      Recording continues while your screen is locked and after the system closes the app in the background. It runs only while an activity you started is in progress, and it stops the moment you finish or discard it. We do not record a route when no activity is running; a single reading of your position happens only when you centre the map on yourself or open the route generator.
      What we send: the route trace, the summary we derive from it (distance, pace, elevation, splits), and your account ID. Data location: our backend in the EU.
      Legal basis: consent (GDPR Art. 6(1)(a)) — you grant the location permission in your device settings and start each activity yourself.
      Retention: the route stays with the activity. Deleting the activity deletes its route; deleting your account deletes every route with it. A planned route you delete stops being visible in the app, but its record stays in our database until you delete your account. To stop location collection entirely, revoke the location permission in your device settings — the rest of the app keeps working.
  • Publishing a route to the feed
    • A new public activity shares your full, un-obfuscated route by default. Everyone who can see the activity sees where you actually started and finished. If you start and end at home or at work, that is your home or work address.
      The switch that controls this sits on the finish screen, pre-selected, with a warning about exactly this. You can turn it off before you publish, or afterwards at any time. The app remembers your choice and pre-fills the switch the same way for your next activity.
      With the switch off, we cut roughly 200 metres from the beginning and the end of the route before anyone else sees it. You always see your own route in full.
      An activity that is not public never reveals the full route, and changing an activity to non-public resets the switch.
      Your total distance counts towards the aggregate shown on your profile regardless of an activity's visibility. That is a number, not a place — the route itself follows the rules above.
  • openrouteservice (HeiGIT gGmbH)
    • When you plan a route or ask the app to generate a loop, we send the points you placed — including your starting point — to openrouteservice, which snaps them to real roads and paths. In the route generator, the starting point is by default your current position, which the app reads once when the screen opens. Data location: Germany.
      What we send: coordinates only. We do not send your name, email address, or account ID, so the provider cannot connect a route to your Gainflow account.
      Legal basis: performance of a contract (GDPR Art. 6(1)(b)) — the request happens only to deliver the routing you asked for.
  • Apple Maps and Google Maps
    • Maps in the app are drawn by Apple Maps on iOS and by the Google Maps SDK on Android. Rendering the tiles tells the map provider which area you are looking at.
      This happens inside the operating system's map component. We do not send your account details to the map provider.

Apple Health and Health Connect

If you connect Apple Health or Health Connect, we read five kinds of measurement. Health data is a special category under GDPR, so we process it only with your explicit consent — and never for advertising or analytics.

  • Reading from Apple Health / Health Connect
    • With your consent we read exactly five types of data: steps, active energy burned, body weight, sleep, and resting heart rate. We ask for nothing else.
      The app reads a rolling 30-day window and keeps the raw, high-frequency samples on your device. What reaches our servers is one compact summary per day (steps, active energy, resting heart rate, and sleep duration) plus your body weight, saved as an ordinary measurement marked as coming from Apple Health or Health Connect.
      What we send: those daily summaries and weight values, with your account ID. Data location: our backend in the EU.
      Legal basis: explicit consent for data concerning health (GDPR Art. 9(2)(a)). This consent is separate from the analytics consent and from every other permission: the app asks for it before requesting access to your health data, our servers refuse a sync without it, and you can withdraw it at any time in the app.
  • Writing to Apple Health / Health Connect
    • Writing back is a separate consent, switched off by default. Consenting to reading never enables writing, and you can keep the integration read-only for as long as you like.
      When you turn it on, we save four types of record: finished strength workouts, body weight, height, and body fat. That includes the workouts and measurements you log through the AI Assistant. A workout without a duration is never written.
      We write only records created in Gainflow. Anything that came from your health store is never written back, and GPS activities are never written at all. Turning the switch on does not push your history by itself: workouts from the last 90 days are added only when you ask for it with the Add earlier workouts button. That button skips workouts imported from CSV files, and it is the only way workouts your personal trainer logs for you reach Apple Health or Health Connect.
      Every record we write carries a Gainflow identifier, so writing it again does not create a duplicate. While writing is on, editing or deleting a record in the Gainflow mobile app on the phone connected to Apple Health or Health Connect updates or removes the copy already there. Changes made on the web or on another device do not reach it: that copy stays, and you can correct or delete it in Apple Health or Health Connect. An edit never writes a record that was not there before.
  • Where health data goes next
    • Body weight imported from Apple Health or Health Connect is stored as an ordinary measurement and treated like one from then on. It can therefore be included in the context sent to the AI models (Mistral, Gemini — see "Our service providers") when you use the AI Assistant, and a coach you work with sees it alongside the measurements you enter by hand if you share Measurements and statistics with them.
      Steps, sleep, resting heart rate, and active energy are not sent to the AI models and are not shown to your trainer. They feed your own dashboard and progress views.
      If you would rather no health-derived value reach the AI Assistant, disconnect the integration — which also deletes the values we imported, see below. To keep them from your coach, it is enough to leave Measurements and statistics off.
  • What we never do with health data
    • No values of your health data — step counts, weight, sleep duration, heart rate — ever reach PostHog, Firebase, or Sentry. For crash diagnostics we pass on technical information about how the integration ran, and nothing else.
      We never use health data for advertising or marketing, and we never sell it or share it for anyone else's marketing.
      We do not use health data for automated decisions with legal effects, and we do not share it with insurers or employers.
  • Deleting health data
    • Disconnecting the integration withdraws your consent and physically deletes the daily summaries and every measurement that came from Apple Health or Health Connect. Measurements you entered by hand stay. This happens when you disconnect; it does not wait for you to delete your account.
      Data that Gainflow wrote into Apple Health or Health Connect stays in your health store. It lives in your device's health storage, not ours, and we do not delete it when you disconnect — remove it in the Apple Health app or in Health Connect.

Messages with your coach

You can exchange messages, photos and videos with a coach you work with. In Gainflow only the two of you see the conversation — but a photo or video can be opened by anyone who has its link.

  • Gainflow (our backend)
    • What we store: the text, the photos and videos, who sent each message and when, and when it was read. Photos are stored without embedded information such as where they were taken; a video is stored as you send it, including anything your camera saved in the file. Conversations are stored on our backend at Oracle Cloud (see "Our service providers").
      Pause, leaving and blocking: after a pause, after you leave, or after a block, the conversation becomes read-only, and after a block your coach no longer sees it. The chat gives your coach nothing from your account, only what you choose to write or send.
      Links: anyone who has the link to a chat photo or video, or to a photo you add to a measurement — for example because it was forwarded — can open the file until it is deleted.
      Deleting: you can delete any message you sent, at any time; its text, photos and video are then erased for both of you, although a cached copy may remain briefly. A notification preview that has already reached a phone cannot be recalled. Pausing or ending the cooperation does not delete the conversation; deleting your account, or your coach deleting theirs, deletes the whole conversation for both of you.
      Notifications: your coach's messages reach your phone as push notifications (see "Push notifications"); yours are not pushed to your coach, who may instead get an e-mail about unread messages (see "E-mail").
      Legal basis: performance of a contract (GDPR Art. 6(1)(b)) — storing and delivering the messages you send is the service. The chat is not meant for health data. If you describe an injury or a condition, or send a photo of your body, you choose to share that with your coach; it is special-category data under GDPR Article 9, and we store and deliver it for your conversation only.
      Nothing else: your messages, photos and videos never reach the AI Assistant or any AI model, and they are not sent to analytics.

Device calendar

You can add planned workouts to your phone's calendar. We do not read the events you already have in your calendar.

  • Apple Calendar / Google Calendar on your device
    • When you add a planned workout to your calendar, the app creates a calendar of its own on your device and puts an event there with the workout's title and date — plus the hour and a reminder when you have set a time for that workout. Editing or removing the plan updates or removes the event.
      We ask for calendar access to create that calendar and to manage the events we put in it. We read the list of calendars on your device only to decide where to place ours. We do not read, store, or transmit the events and appointments already in your calendar.
      Only the identifier of the event we created ourselves reaches our servers, so that a reinstall of the app does not duplicate it in your calendar. The contents of your calendar, its guests, and your other events are not passed to us.
      On Android, the app places its calendar in your synced account when you have one, so the operating system may sync those events to that account — Google Calendar, for example — exactly as it does with any other event created on the phone.
      Legal basis: consent (GDPR Art. 6(1)(a)) — you grant the calendar permission and choose which workouts to add. "Remove all workouts from calendar" deletes the Gainflow calendar and its events from your device.

Platform services and hosting

These services have the purpose of hosting and running key components of this Application, therefore allowing the provision of this Application from within a unified platform. Such platforms provide a wide range of tools to the Owner – e.g. analytics, user registration, commenting, database management, e-commerce, payment processing – that imply the collection and handling of Personal Data. Some of these services work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.

  • Apple App Store (Apple Inc.)
    • This Application is distributed on Apple's App Store, a platform for the distribution of mobile apps, provided by Apple Inc. By virtue of being distributed via this app store, Apple collects basic analytics and provides reporting features that enables the Owner to view usage analytics data and measure the performance of this Application. Much of this information is processed on an opt-in basis. Users may opt-out of this analytics feature directly through their device settings. More information on how to manage analysis settings can be found on this page. Personal Data processed: Usage Data. Place of processing: United States – Privacy Policy.
  • Google Play Store (Google LLC)
    • This Application is distributed on the Google Play Store, a platform for the distribution of mobile apps, provided by Google LLC. By virtue of being distributed via this app store, Google collects usage and diagnostics data and share aggregate information with the Owner. Much of this information is processed on an opt-in basis. Users may opt-out of this analytics feature directly through their device settings. More information on how to manage analysis settings can be found on this page. Personal Data processed: Usage Data. Place of processing: United States – Privacy Policy.

Hosting and backend infrastructure

These providers host the servers, database and files behind the Service and this website. Legal basis: performance of a contract (GDPR Art. 6(1)(b)) — the Service cannot run without hosting.

Where they process data, and their privacy policies, are listed in "Our service providers".

  • Oracle Cloud Infrastructure
    • Our backend — the application servers, the database with your account data and messages, and the storage for every photo and video you upload — runs on Oracle Cloud Infrastructure. Personal Data processed: the data described in this Privacy Policy that reaches our backend.
  • Vercel (Vercel Inc.)
    • Vercel Inc. hosts our website and the Gainflow web app. Personal Data processed: Usage Data; various types of Data as specified in the privacy policy of the service.

Subscriptions & payments

We never see your card. Apple and Google handle payments. We use RevenueCat to know whether you're a paying member.

  • Apple App Store (Apple Inc.)
    • When you subscribe on iOS, Apple processes the payment. Gainflow never receives or stores your card details. Data processed by Apple: payment info. Place of processing: United States – Apple privacy policy.
  • Google Play Store (Google Ireland Limited)
    • When you subscribe on Android, Google processes the payment. Gainflow never receives or stores your card details. Data processed by Google: payment info. Place of processing: Ireland – Google privacy policy.
  • RevenueCat, Inc.
    • We use RevenueCat to validate your subscription with Apple and Google and to tell our app whether your subscription is active, in trial, or expired. RevenueCat sees your account ID and a transaction receipt — not your card details. Place of processing: United States – transfers rely on Standard Contractual Clauses. RevenueCat privacy policy.

Registration and authentication

By registering or authenticating, Users allow this Application to identify them and give them access to dedicated services.
Depending on what is described below, third parties may provide registration and authentication services. In this case, this Application will be able to access some Data, stored by these third-party services, for registration or identification purposes.

  • Direct registration (this Application)
    • The User registers by filling out the registration form and providing the Personal Data directly to this Application. Personal Data processed: email address; password; username.

Social features

Users may have public profiles that other Users can display. In addition to the Personal Data provided, this profile may contain Users' interactions with this Application.
Personal Data processed: username.

Your rights

You can see, change, or delete everything we have about you.

Wherever you live, you have the right to:

  • Access a copy of your data.
  • Correct anything that's wrong.
  • Delete your account and your data.
  • Export your data in a structured, commonly used, machine-readable format.
  • Object to processing based on legitimate interest (such as crash reporting).
  • Restrict processing in certain situations.
  • Withdraw any consent you previously gave — analytics, health data, or any category you share with your coach. Location tracking runs on a system permission, which you revoke in your device settings.
  • Lodge a complaint with your local data protection authority.

To exercise any of these rights, email dawid@gainflow.app — we'll respond within 30 days, free of charge.

California residents (CCPA): you have these same rights, plus the right to know the categories of personal data we collect and the right to opt out of any "sale" of personal information. We do not sell your personal information to anyone.

  • EU / UK residents: if you're not happy with how we handle a request, you can file a complaint with your local data protection authority. In Poland, that's the President of the Personal Data Protection Office (UODO) — uodo.gov.pl.
  • Direct marketing: we do not send you marketing emails unless you explicitly opt in. If you ever do, you can unsubscribe at any time using the link in the email or by emailing us.

How we handle your request: we answer requests as soon as we can — at the latest within 30 days. If we have to ask other processors (PostHog, Sentry, RevenueCat) to act on your behalf, we will, unless it would require disproportionate effort. We will tell you which processors received your request.

Children's Privacy

Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from anyone under the age of 13. If You are a parent or guardian and You are aware that Your child has provided Us with Personal Data, please contact Us. If We become aware that We have collected Personal Data from anyone under the age of 13 without verification of parental consent, We take steps to remove that information from Our servers.

If We need to rely on consent as a legal basis for processing Your information and Your country requires consent from a parent, We may require Your parent's consent before We collect and use that information.

Links to Other Websites

Our Service may contain links to other websites that are not operated by Us. If You click on a third party link, You will be directed to that third party's site. We strongly advise You to review the Privacy Policy of every site You visit.

We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.

Changes to this Privacy Policy

We may update Our Privacy Policy from time to time. We will notify You of any changes by posting the new Privacy Policy on this page.

We will let You know via email and/or a prominent notice on Our Service, prior to the change becoming effective and update the "Last updated" date at the top of this Privacy Policy.

You are advised to review this Privacy Policy periodically for any changes. Changes to this Privacy Policy are effective when they are posted on this page.

Prevailing Language

This Privacy Policy has been translated into multiple languages for your convenience. In the event of any discrepancy or conflict between the translated versions and the original English version, the English version shall prevail.

Contact Us

If you have any questions about this Privacy Policy, You can contact us:

By email: dawid@gainflow.app