Privacy Policy

TrainPilot

Last updated: October 7, 2026

TrainPilot is a running and gym training app for iOS and Android (application identifier com.pglabs.trainpilot), published by Pablo Garces. This Privacy Policy explains what data the app collects, why it collects it, who it is shared with, and the choices you have.

For any privacy question or request, contact pasebarona@gmail.com.

1. Data We Collect

Account data

Your email address, display name, an optional username, and an account identifier (UUID). You can sign in with a one-time code sent to your email, Google, or Apple on supported devices. When you choose Google or Apple, the sign-in provider shares the account information you authorize, such as your email and name, with TrainPilot for authentication.

Profile data you enter

Age, sex, body weight, and your preferences: distance units (km/mi), weight unit (kg/lb), language, voice-cue settings, auto-pause, training level, effort scale, and gym progression scheme.

Precise location (GPS)

When you record an outdoor run, the app records your full GPS route — latitude, longitude, altitude and timestamps — including while the app is in the background or your phone is locked. This is used to measure distance and pace and to draw your route map. Background location is used only while a run is actively being recorded.

Health and fitness data

Distance, pace, duration, heart rate, running power, cadence, running form metrics (ground contact time, vertical oscillation, stride length), active calories, and gym training logs (exercises, sets, reps, weights lifted, and personal records).

Apple Health (HealthKit)

With your permission, TrainPilot reads completed workouts and their GPS routes from Apple Health so that runs recorded by other apps or watches can be imported, and writes your TrainPilot runs back to Apple Health as workouts. TrainPilot never reads Apple Health data for advertising, and never shares Apple Health data with third parties for advertising or data mining.

Apple Watch

When you use the companion watch app, it streams heart rate, running power, active calories and running-form metrics to your phone during a workout.

Bluetooth

The app connects to an optional heart-rate chest strap to read your heart rate. No other Bluetooth data is accessed.

Photos

You may attach photos from your camera or photo library to an activity log entry or to a shared post. These photos are stored in the app's backend storage.

Motion data

Motion data is used to measure your running cadence.

Microphone and voice set logging

Voice set logging is optional and requires microphone and speech-recognition permission. Speech is recognized on your device so you can log workout values, such as repetitions and weight, by speaking. TrainPilot does not upload or retain the audio recording, and does not send it to the model used for training-plan generation. The workout values you confirm can be saved to your workout history.

Social features

Friends, friend requests, shared "train together" sessions, and any posts you choose to create.

Usage and diagnostic data

App interaction, screen and lifecycle events, diagnostic records, crash reports, and error telemetry help us understand user flows and diagnose failures. TrainPilot also enables masked session replay through PostHog to diagnose user flows and UI failures. Text inputs, rendered text, images, and sandboxed views are masked. Network telemetry and console-log capture are disabled. Masking the replay does not make all analytics anonymous: PostHog receives your account UUID and email address.

2. Who We Share Data With

We do not sell your personal data. Your health and fitness data is not used for advertising, marketing, or data mining. We share data with the following services:

  • Supabase — backend, authentication, database and file storage. Supabase hosts essentially all of the data described above and is our primary processor.
  • PostHog — product analytics, masked session replay, and error telemetry. PostHog receives your account identifier (UUID) and your email address, together with limited app interaction, screen, lifecycle and workout-flow events. Masked replay is enabled to help diagnose user flows and UI failures; text inputs, rendered text, images, and sandboxed views are masked. Network telemetry and console-log capture are disabled. Our analytics events do not include GPS coordinates or heart-rate measurements.
  • Sentry — crash and error reporting. Sentry receives your opaque account UUID only; no email address. Payloads are scrubbed against a deny-list covering GPS, heart rate, power, calories, body metrics and credentials.
  • An LLM provider (Google Gemini or OpenAI, server-side) — used to generate your training plans. It receives the training-relevant profile you supplied, such as your goal, experience level and available days. API keys are held server-side and are never exposed to the app.
  • RevenueCat — subscription management is disabled, and its native module is excluded from this release. Paywalls are disabled and no purchases are processed.
  • Strava — optional. Only if you explicitly connect your Strava account, your completed activities are uploaded there.
  • intervals.icu — optional. Only if you explicitly connect it.
  • Google AdMob — advertising is disabled, and its native module is excluded from this release. No ads are served and no advertising identifier is collected for advertising at this time.

3. Your Rights and Choices

  • Delete your account from inside the app: go to Profile → Delete Account. This permanently deletes your account, profile, account-linked training plans and workout history. Read the TrainPilot account deletion page for the full scope, records that are handled separately, and how to request deletion by email without reinstalling the app.
  • You can export and review your data, and you can disconnect Apple Health, Strava and intervals.icu at any time.
  • You can revoke location, health, photo, microphone, speech-recognition, motion, Bluetooth and notification permissions in your device settings at any time. Optional features that need those permissions may stop working when permission is withheld.
  • For any privacy request, contact pasebarona@gmail.com.

GDPR and UK GDPR

If you are in the European Economic Area or the United Kingdom, our lawful basis for processing is performance of the contract for the core training features you ask us to provide, and consent for optional integrations and analytics. You have the rights of access, rectification, erasure, data portability, and objection. Exercise any of these by emailing pasebarona@gmail.com, or by deleting your account in the app.

California (CCPA/CPRA)

We do not sell your personal information. If you are a California resident, you have the right to know what personal information we collect, the right to request its deletion, and the right not to be discriminated against for exercising these rights.

4. Children

TrainPilot is intended for teens and adults aged 13 and older. It is not directed to children under 13, and we do not knowingly collect data from them.

5. Security

Data is transmitted over HTTPS/TLS. Database access is protected by row-level security, so you can only read your own rows.

6. Changes to This Policy

We may update this Privacy Policy from time to time. The "Last updated" date at the top of this page reflects the current version.

7. Contact

Email: pasebarona@gmail.com