Privacy policy
Effective 2026-08-01
Fyt is a small companion app for an iMessage running-bot. It exists to keep you signed in and to forward your Apple Health workouts to your iMessage club chat, where leaderboards and conversation actually live. This policy describes what we collect, what we do with it, and how to delete your account.
What we collect
- Health & Fitness data. Running workouts you record in any app that writes to Apple Health (Strava, Apple Watch, Nike Run Club, and so on). We read each new running workout's distance, duration, heart rate (if recorded), elevation gain, calories (if recorded), and GPS route polyline. We use this to compute club leaderboard stats and to announce your runs in your iMessage group chat.
- Sleep, recovery, and body data. Sleep duration, recovery scores, resting heart rate, HRV, daily strain, body weight, and body measurements, when you log them in Fyt, sync them from Apple Health, or connect a Whoop account. We use them for coaching context and the trends shown in the app.
- Precise location. GPS coordinates from each workout's route, transmitted as a polyline string. You always see your own full route. Before your route is shown to anyone else, our server trims a distance off each end (200 meters by default; you can adjust this, or turn it off, in the app's privacy settings), so other people cannot see exactly where a run starts or ends. If a route passes through a privacy zone you have set up, or is too short to leave a meaningful middle after trimming, other people see no map for that run at all. The separate "hide GPS endpoints" setting also hides the run's start location name from other users.
- Phone number. Collected when you sign up via SMS one-time passcode. Your phone number is your iMessage handle so our bot can message you in your group chat.
- Email address. Collected when you create an account with an email and password. Used to sign you in and recover your account.
- Display name. A name you choose. Shown on leaderboards and in run-announcement messages in your iMessage group chat.
- Gender. Chosen at signup (male, female, or other). Used to render the anatomical muscle map on your gym workouts and to personalize fitness features. Never used for advertising.
- Account identifier. An internal UUID that links your data together server-side.
- Strava connection (optional). If you import a Strava archive ZIP, we ingest your historical activities from that file. We do not store your Strava credentials.
- Whoop and Garmin connections (optional). If you connect a Whoop account, Whoop sends us your daily recovery, sleep, and strain data. If you connect a Garmin account, Garmin sends us your running workouts (distance, duration, heart rate, cadence, elevation, and calories). We store the connection tokens encrypted, and you can disconnect either service in the app at any time.
- Group chat membership. When Fyt is added to an iMessage group chat, we record each member's iMessage handle and their membership in that group, even if they have never sent Fyt a direct message. This is the minimum needed to attribute runs announced in the group to club members. Any participant can remove Fyt from the group at any time (Messages → Details → Remove), which stops further recording.
- Referral reward records. If you participate in referral rewards, we record referral attribution, the qualification rule and minimum workout evidence that satisfied it, reward-review transitions, and fulfillment history. Operator review receives the identity-proof type (for example, phone or Apple) but never the raw phone number, Apple identifier, or another user's secret.
What we don't do
- We do not sell your data to anyone.
- We do not show ads in the app, and we do not run any third-party advertising or behavioral-analytics SDKs. The one third-party SDK we bundle is RevenueCat, which manages Fyt Gold subscriptions (see below).
- We do not track you across other apps or websites.
What we keep after you delete your account
- Deleting your account removes your profile, activities, and messages.
- Referral support identity is made non-recoverable.
- If a referral reward was already sent to you, the exact supporting workout evidence is retained for 24 months after that reward is finalized, and is then minimized by clearing source identifiers, activity type, distance, duration, attribution, and identity-proof type.
- A minimal opaque accounting record for a sent reward (ledger, reward year and slot, attempt, state, amount, timestamps, and review reason) may remain indefinitely, so a reward cannot be paid twice and fulfillment history stays auditable. It does not identify you.
How your data flows
-
The Fyt iOS app reads workouts from Apple Health on your iPhone and uploads
each new workout to
api.fyt.life(our backend). - Our backend stores your activity rows and triggers a message to your iMessage group chat through an iMessage relay we operate.
- Twilio's Verify product sends the one-time SMS codes used for signup. Twilio processes your phone number for that purpose only.
- Anthropic provides the language model used by the in-chat bot's chatbot replies, and the coaching and route-generation features. Your messages and the context needed to answer them are sent to Anthropic to generate the response. Depending on what you ask, that context can include your display name, club name, recent runs and lifts, and health-derived figures you have logged in Fyt such as sleep duration, recovery and body weight. Anthropic does not train on this data per their commercial terms.
- RevenueCat runs Fyt Gold subscriptions. Its SDK is included in the iOS app and receives your Fyt account identifier, your purchase and renewal state, and device metadata. It does not receive your phone number, your email, or any workout or health data.
- Cloudflare R2 and Backblaze B2 store the photos and videos you attach to activities, club posts and messages, plus our exercise-demo media. They hold the files; they do not receive your account details.
- Giphy powers GIF search in chat and comments. When you search for a GIF we send Giphy your search text. We do not send any account identifier.
- Apple delivers push notifications through APNs, and Sign in with Apple verifies your identity if you sign in that way. Apple receives the device token and the notification payload needed to deliver the alert. When you first sign up, we also send Apple's Ad Services attribution API the token your device generates, and store Apple's answer, which tells us whether your install came from an Apple Search Ads campaign and which one. We use that only to measure our own App Store ads; it contains no workout, health, or location data.
- Whoop and Garmin send us data rather than receive it. If you connect one of these accounts, that service delivers the recovery, sleep, and workout data described above through its API. We send it only the sign-in tokens needed to keep the connection working; it receives none of your other Fyt data.
- Open-Meteo returns the weather forecast for the week ahead, which the coach uses when planning your training. We send a coarse coordinate (rounded to roughly 1 km) near where your recent runs start; we send no account identifier.
- Mapbox renders map tiles and the route images shown on run cards and share pages. To draw a route we send Mapbox the route line, with the endpoint trimming described above already applied whenever the viewer is not the run's owner. Mapbox also computes reverse-geocoded location names; for those we send only the coordinates of a route's endpoints to resolve a human-readable place name (for example "Presidio · San Francisco, CA"). We do not send Mapbox any account identifier or phone number.
- GraphHopper computes turn-by-turn route geometries when you ask Fyt to generate a route. We send GraphHopper the start coordinate and a target distance; we do not send any account identifier or phone number.
- The Overpass API serves OpenStreetMap data about crossings and parks, which we use to score candidate routes when generating one. When you generate a route we send Overpass the area around your chosen start point; we do not send any account identifier or phone number.
- Beyond the services listed above, no other third party has access to your data. If that ever changes we will say so here before it takes effect.
How we store and protect your data
- Activity and account data are stored in our managed Postgres database (Neon, us-west-2).
- Our backend runs on Fly.io in the
sjcregion. Fly is our compute host; it processes data in transit and at rest while our application code is executing, and does not access the database or our object storage independently. - DNS for our domains is managed at GoDaddy. GoDaddy resolves
api.runbot.fitandrunbot.fitto our hosts but does not process the data that travels over those connections. - All network traffic between the app and our backend is encrypted with TLS.
- OAuth tokens (if you connect external services) are encrypted at rest with a per-deployment encryption key.
- The iMessage relay runs on a Mac under our control. Messages it sends and the chat-handle allowlist of who can receive them are scoped to your registered group chats only. The relay reaches our backend over a private network.
Your rights
- Delete your account. Open the app → tap the gear icon → Settings → "Delete account". This permanently deletes your account, all your recorded activities, and your membership in every club. Clubs you created stay alive; ownership transfers to the next-longest-tenured member. Anonymized referral reward audit records may remain as described above; they no longer contain a live link to your account. This action cannot be undone.
- Export your data. Email the address below and we will send you a JSON dump of your account within 30 days.
- Disconnect Apple Health. iOS Settings → Privacy & Security → Health → Fyt → toggle off. After this, we stop receiving new workouts. Historical workouts already uploaded remain unless you delete your account.
Children
Fyt is not intended for users under 13. We do not knowingly collect data from children under 13. If you believe we have, contact us and we will delete the account.
Changes to this policy
Material changes (collecting new categories of data, adding new third parties, changing how we use existing data) will be announced in-app before they take effect. The effective date at the top of this page reflects the most recent update.
Contact
Email: fyt@fyt.life
For account deletion requests outside the app, include the phone number used at signup so we can locate your account.