Privacy Policy
Last updated: November 11, 2026
This Privacy Policy explains how TextFit ("we", "us") collects, uses and shares information through the TextFit apps for iPhone and Android and this website (together, the "Service"). TextFit is an AI endurance coach: it builds and adjusts your training plan, puts workouts on your Garmin, Wahoo or Apple Watch, and reads your completed activities and recovery data to assess your training.
Some people still use an earlier version of the app (version 1.x), which turned a workout you typed into a structured workout and could send it to intervals.icu. Parts of this policy that apply only to that earlier version are marked as such.
1. Who we are
TextFit is a product by 01 Apps, registration number 307473546, of Pilėnų g. 45A-1, LT-36237 Panevėžys, Lithuania. 01 Apps is the controller of your personal data. If you have any questions about this policy or your data, contact us at support@textfit.app.
2. Information we collect
2.1 Your account
TextFit doesn't ask for a name, email or password. On first launch, the app creates an anonymous account identified by a random key stored securely on your device; that key lets a reinstall recover the same account. We also store your phone's timezone (so "today" and "this week" match your calendar) and the app version you use.
2.2 Athlete profile and goal
During onboarding and later in the app or the coach chat, you tell us about your training. We store this as your athlete profile:
- your sports, sessions per week, days off and the time you have for training;
- your goal — a target event (sport, distance, date, optional target time) or general fitness;
- your current fitness in your own words (for example personal bests or a recent test result), kept as you wrote it;
- your typical training week over the last few weeks, per sport (for example km run per week);
- whether to include strength training, and where you swim;
- your notes for your coach — planning rules you write yourself, such as "no runs on Mondays", which the coach follows when it plans;
- your training thresholds and heart-rate settings — such as FTP, threshold pace, swim pace, maximum and threshold heart rate and heart-rate zones — whether you entered them, the coach read them from your current-fitness text, or the coach updated them, and which of these three it was;
- your body weight, if you add it (optional). It is used only to show your cycling fitness level (watts per kilogram) on the Stats screen; it is never sent to the AI coach or to analytics, and it is deleted with your account.
The Stats screen (week streak, distances and fitness level) is calculated by our own code from this profile, your planned workouts and your activities. No AI is used for it.
2.3 Training plan, coach chat and assessments
- Plan — the planned workouts on your calendar, including the next week the coach plans for you on Sunday evening if Plan next week automatically is on in Settings.
- Coach chat — the messages you send to the coach and its replies, kept in your account so the conversation continues. We also keep a short written summary of earlier messages (goals, injuries, preferences, standing instructions) as the coach's long-term memory.
- Coach actions — each change the coach makes to your plan or profile, with the before and after state, so you can see and undo it.
- Assessments — the coach's evaluations of a completed workout, your form or your recovery, and the facts they were based on. A workout recorded by a connected device is assessed automatically when it arrives; form and recovery are assessed when you ask.
- Your ratings — how hard a workout felt (RPE, 1–10) and workouts you mark as done by hand.
2.4 Activities and recovery data
When you connect Garmin, Wahoo, Apple Health or Health Connect, we receive your completed activities and recovery data and store them in your account:
- Activities — sport, start time, duration, distance, average and maximum heart rate, average power and speed, laps, and the name of the activity and device;
- Recovery data — heart rate variability (HRV), resting heart rate, and sleep (time asleep and in bed, sleep stages, and when you fell asleep and woke up).
From these we calculate, with our own code, training load per activity, your Fitness, Fatigue and Form, and your normal range for each recovery signal. We use them to match activities to planned workouts, show your progress and recovery, and — if you have given AI consent (section 4) — to let the coach plan and assess your training.
2.5 Garmin Connect (optional)
If you connect Garmin, you first confirm in TextFit that you want to share data between TextFit and Garmin, then sign in on Garmin's own page and choose which permissions to grant. We store encrypted access tokens, your Garmin user ID, the permissions you granted and your device name. Depending on those permissions:
- Training (workout import) — we send your planned workouts to your Garmin Connect calendar so they sync to your watch. Once there, Garmin's privacy policy applies to them.
- Activities — Garmin sends us summaries and lap data of activities you record from the day you connect (for pool swims we may download the activity file to read its lengths; the file is deleted once it has been read). We store the details listed in section 2.4.
- Health — Garmin sends us daily, HRV and sleep summaries. We keep only resting heart rate, HRV and sleep; other values Garmin includes in these summaries are not stored in your account and the raw notifications are deleted within 30 days.
How we use Garmin data. We use Garmin data only to provide TextFit's features to you: to put your plan on your watch, match completed activities to planned workouts, calculate training load and recovery, and — only if you have given your explicit AI consent — to let the AI coach plan, adjust and assess your training (see section 4). We do not sell Garmin data, use it for advertising or marketing, or share it with data brokers. Apart from the service providers that run TextFit on our behalf (Railway for hosting and, with your AI consent, OpenAI — see section 6), we don't share it with anyone. Neither Garmin data nor anything derived from it is used to train AI models.
Your control. You can change which data TextFit may access at any time in your Garmin Connect account settings. You can disconnect Garmin in TextFit (Settings or Profile → Devices) or by removing TextFit from the connected apps in your Garmin Connect account. When you disconnect in TextFit, we remove TextFit's upcoming workouts from your Garmin calendar, ask Garmin to end the connection, delete our Garmin access tokens and stop receiving Garmin data. Activities and recovery data already imported stay in your account so your training history stays complete; they are deleted when you delete your account, or earlier if you ask us at support@textfit.app.
Garmin and Garmin Connect are trademarks of Garmin Ltd. or its subsidiaries. TextFit is not made or endorsed by Garmin.
2.6 Wahoo (optional)
If you connect Wahoo, you sign in on Wahoo's own page and grant TextFit access. We store encrypted access tokens and your Wahoo user ID. Then:
- Workouts to Wahoo — we send your planned rides and runs to your Wahoo account so they appear on your Wahoo device or app. Once there, Wahoo's privacy policy applies to them.
- Completed workouts — Wahoo sends us a summary of each workout you record, and we download its activity file to read the laps; the file is not kept. When you connect, we also import your workouts from the previous 4 weeks. We store the details listed in section 2.4.
We use Wahoo data only to provide TextFit's features to you, in the same way and with the same limits as Garmin data (section 2.5): no selling, no advertising, no data brokers, no AI training, and sent to OpenAI only with your AI consent. When you disconnect Wahoo in TextFit (Settings or Profile → Devices), we remove TextFit's upcoming workouts from your Wahoo account, revoke TextFit's access at Wahoo, delete our Wahoo access tokens and stop receiving Wahoo data. Workouts already imported stay in your account until you delete your account or ask us to delete them. Wahoo is a trademark of Wahoo Fitness; TextFit is not made or endorsed by Wahoo.
2.7 Apple Health (optional)
If you allow it, TextFit reads the following from Apple Health: workouts, heart rate, heart rate variability, resting heart rate, sleep, running and cycling power, walking/running, cycling and swimming distance, and swimming stroke count. You choose which types to share in the iOS permission screen and can change this at any time in the Health app or iPhone Settings. TextFit never writes to Apple Health.
The app sends what it reads to our server, where it is stored as the activities and recovery data described in section 2.4. It is sent to our AI provider only if you have given AI consent (section 4). We do not use Health data for advertising or marketing, sell it, or share it with data brokers, and we don't use it to train AI models.
Earlier version: version 1.x reads only the type and date of past Apple Health workouts, on your device, to check whether you completed a scheduled workout. It doesn't send Health data to us.
2.8 Apple Watch workouts
When TextFit puts a workout on your Apple Watch, it uses Apple's WorkoutKit to schedule it on your watch through your iPhone. For every workout we send to Garmin, Wahoo or Apple Watch we keep a record of what was sent, so we can update it on the watch when your plan changes.
2.9 Health Connect (optional, Android)
If you connect Health Connect, TextFit reads the following from Health Connect on your phone: exercise sessions (workouts), heart rate, distance and power recorded during those workouts, sleep sessions with sleep stages, heart rate variability and resting heart rate. You choose which types to share in Health Connect's permission screen and can change this at any time. TextFit asks only for read access and never writes to Health Connect. When you connect, TextFit imports the last 30 days; if you allow "past data", it imports up to 90 days of history. If you allow "background access", TextFit can import new data while the app is closed.
We use this data only to provide TextFit's coaching features that you see in the app: marking planned workouts as completed, assessing your workouts, planning your training load, and taking your sleep and recovery into account.
The data is sent to TextFit's servers over an encrypted connection and stored with your account as the activities and recovery data described in section 2.4. Facts derived from it are sent to our AI provider only after you have given AI consent in the app (section 4), and only to produce your coaching.
We do not sell this data, use it for advertising, give it to data brokers or use it to train AI models. You can stop access at any time in TextFit (Profile → Devices → Health Connect → Disconnect) or in Android's Health Connect settings. Already imported workouts and recovery days stay in your account until you ask us to delete them or delete your account (Profile → Settings → Delete account & data), which removes all of it (section 10).
TextFit's use of information received from Health Connect follows the Health Connect Permissions policy, including the Limited Use requirements.
2.10 Earlier version: workout conversion and intervals.icu
In the earlier version, when you describe a workout in your own words and tap convert, that text is sent to OpenAI to turn it into a structured workout. The text and the result are stored in your account so you can view and reuse them.
If you connected intervals.icu in the earlier version, we store an encrypted access token and your intervals.icu athlete ID and display name, and use the access you granted to push your TextFit workouts to your intervals.icu calendar and check which ones you completed. You can disconnect in Settings, which deletes our token. The current version of TextFit doesn't use intervals.icu.
2.11 Subscription and payment
TextFit Pro is an auto-renewing subscription sold through the Apple App Store (iPhone) or Google Play (Android). We never see or store your payment details — Apple or Google handles billing. We use RevenueCat to manage subscriptions: it receives your TextFit account ID and your purchase information from Apple or Google, and tells us your subscription status. We store that status, the store and product, whether you are in a free trial, and when the current period ends.
If you bought Pro on our website, payment was processed by our payment provider (Stripe, through RevenueCat), which collects your email address and payment details to bill you and send your receipt. We receive only your subscription status.
2.12 Notifications (optional)
If you allow notifications, TextFit tells you when a workout has been assessed and when the coach has planned your next week. Your phone gives the app a push token — an identifier for sending notifications to that device — which we store with your account, the platform and the app version. We send notifications through Expo (650 Industries), which passes them to Apple's push service (iPhone) or Google's Firebase Cloud Messaging (Android); Expo receives the push token and the notification's title and text (for example the workout's name and the coach's first line about it), never your activity data or coach chat. We keep a record of each notification we send (its type, text and delivery status). You can turn each kind off in Settings → Notifications, or turn notifications off for TextFit in your phone's settings.
2.13 Usage and diagnostic data
We use Mixpanel to understand how the app is used — for example which screens you open, which onboarding steps you complete, whether you gave AI consent, which devices you connected, when you start a trial or subscription, and technical details such as your device platform and app version. Some events carry coarse labels, such as the sport of a workout, the effort rating you gave it, or an assessment's overall outcome.
We use Sentry to capture errors in our server so we can fix bugs. Sentry is set up not to collect IP addresses, cookies, request bodies or access tokens.
These tools receive an internal, randomly generated account ID. They never receive your coach chat, training text or AI prompts, and never your activity details or recovery data (HRV, resting heart rate, sleep) from Apple Health, Health Connect, Garmin or Wahoo. In the earlier version, if you connected intervals.icu, your intervals.icu display name may be included in your analytics profile.
2.14 This website
This website has no accounts, forms that send data to us, advertising or analytics cookies. The calculators run entirely in your browser; what you enter is not sent to us. Our hosting provider, Vercel, processes standard technical data (such as your IP address) to deliver the pages and protect the site.
3. How we use your information
We use the information above to:
- build, adjust and explain your training plan, and run the coach chat;
- put planned workouts on your Garmin, Wahoo or Apple Watch and keep them up to date;
- send you the notifications you allowed;
- match completed activities to planned workouts, calculate training load, and assess your workouts, form and recovery;
- in the earlier version, convert your workout text and sync with intervals.icu;
- provide and manage your subscription and free trial;
- keep the Service secure, understand how it's used, and diagnose problems;
- answer you when you contact support.
We do not sell, rent or trade your personal information, and we don't use it for advertising.
4. AI Transparency Statement
4.1 Which AI we use and when
TextFit's coach runs on OpenAI's language models, accessed through OpenAI's API. In the current version, AI is used to:
- build your first plan after onboarding, and plan each following week — when you ask, or on Sunday evening if Plan next week automatically is on and the next week is still empty;
- answer your messages and quick actions in the coach chat, and change your plan or profile when you ask;
- assess each completed workout automatically when it arrives from a connected device, and your form and recovery when you ask;
- read your current-fitness text into training thresholds;
- write the summary of earlier coach chat messages that serves as the coach's memory.
Training load, Fitness, Fatigue and Form, your normal recovery ranges, heart-rate zones, workout durations and the workouts sent to your watch are calculated by our own code, not by AI.
4.2 AI consent
We send your data to OpenAI only after you give explicit AI consent in the app. The consent screen tells you what is sent, why, and what OpenAI does with it. The coach can't work without it, so it is required to use the current version. You can withdraw it at any time in Settings → AI consent. From then on, nothing more is sent to OpenAI — including work already queued — and the coach can't plan, adjust your plan or reply until you turn it back on. Withdrawing consent doesn't delete anything: your plan, chat and history stay in your account. If we ever change what is sent, to whom or why, we will ask for your consent again.
4.3 What is sent to OpenAI
With your consent, each request to the coach can include:
- your athlete profile and goal (section 2.2), including thresholds and heart-rate zones;
- today's date and your timezone;
- your plan for the current and next week, and a short summary of the previous weeks;
- your activities from the last 14 days (including heart rate, power, pace and laps) with their training load, and your Fitness, Fatigue and Form;
- your recovery data (HRV, resting heart rate and sleep) from the last 7 days;
- your recent coach actions and assessments;
- the coach chat summary, the last 12 messages, and your new message.
This includes activities and recovery data that come from Garmin, Wahoo, Apple Health or Health Connect. Requests also carry a one-way hashed identifier so OpenAI can detect abuse without knowing who you are. We don't send your device key, access tokens or payment information.
In the earlier version, the only data sent to OpenAI is the workout text you write, each time you tap convert. The earlier version doesn't send Garmin, Apple Health or intervals.icu data to AI.
4.4 What OpenAI does with it
OpenAI processes this data on our behalf to generate the coach's response. It does not use your data to train its models. OpenAI keeps API data for up to 30 days for abuse monitoring and then deletes it. We don't ask OpenAI to store our requests; the coach chat is stored only in our own database, in your account.
We don't use any of your data — including Garmin, Apple Health and Health Connect data or anything derived from it — to train, evaluate or improve AI models.
4.5 Accuracy and your control
AI output can be wrong. Our server checks the coach's plan changes against training rules before applying them, every change the coach makes is shown in the chat, and you can undo it. The coach gives training suggestions only; it makes no decisions with legal or similarly significant effects about you. See our Terms of Service for more on health and safety.
5. Legal basis for processing
Where the GDPR applies, we process your information on these bases:
- Contract — keeping your account, profile, plan and subscription, and sending workouts to your watch, are necessary to provide the Service you asked for;
- Explicit consent — activity and recovery data can reveal information about your health. We process it only because you chose to connect Garmin or Wahoo or allow Apple Health or Health Connect access, and we send it and your other data to OpenAI only with your AI consent. You can withdraw each consent at any time (by disconnecting, changing permissions in Garmin Connect, the Health app or Health Connect, or turning off AI consent) without affecting processing before the withdrawal;
- Legitimate interest — usage and diagnostic data help us keep the Service secure and reliable and improve it, in a way that doesn't override your privacy rights.
6. Who we share information with
We share information only with the service providers that help us run TextFit:
- OpenAI — runs the AI coach, only with your AI consent (in the earlier version: converts your workout text);
- Garmin — only if you connect your account, to send workouts to Garmin Connect and receive the activity and health data you choose to share;
- Wahoo — only if you connect your account, to send rides and runs to your Wahoo account and receive your completed workouts;
- Expo (650 Industries) — delivers notifications, only if you allow them;
- Apple (HealthKit, WorkoutKit, App Store, push notifications) — to read the Health data you allow, schedule workouts on Apple Watch, and process subscriptions and payments;
- Google (Health Connect, Google Play, Firebase Cloud Messaging) — on Android, to read the Health Connect data you allow, process subscriptions and payments, and deliver notifications;
- RevenueCat — manages subscription status (and, for website purchases, billing with Stripe);
- Mixpanel — product analytics;
- Sentry — error reporting;
- Railway — hosts our server and database, including data received from Garmin, Wahoo, Apple Health, Health Connect and intervals.icu;
- Vercel — hosts this website;
- intervals.icu — earlier version only, if you connected your account, to sync workouts and completion data.
Each of these providers processes data on our behalf or under its own terms and privacy commitments. We don't share your information with anyone else, except where required by law.
7. Data retention
- We keep your account, profile, plan, coach chat, activities, recovery data and assessments for as long as your account exists, so your coach and history keep working.
- If your subscription ends, the app is locked but your data is kept, and everything resumes when you subscribe again. Turning off AI consent also keeps your data.
- Disconnecting Garmin deletes our Garmin access tokens; imported activities and recovery data stay until you delete your account or ask us to delete them (section 2.5). Disconnecting Wahoo deletes our Wahoo access tokens in the same way (section 2.6). Disconnecting Apple Health stops reading new data; imported data stays in the same way. Disconnecting Health Connect stops reading new data and removes TextFit's access; imported data stays in the same way.
- A push token is deleted when you log out or delete your account, or after 120 days in which the device hasn't used TextFit. Records of sent notifications are deleted after 90 days.
- Raw notifications received from Garmin and Wahoo are deleted within 30 days, and downloaded activity files are deleted once they've been read (or within 30 days if reading fails).
- OpenAI keeps data sent to it for up to 30 days for abuse monitoring (section 4.4).
- Deleting your account permanently removes all of this from our database (section 10). For the earlier version's monthly free limits, we keep one content-free record per device — the number of conversions and saves used that month — so deleting an account doesn't reset them; it contains no workouts, text or health data.
8. International data transfers
Our service providers (including OpenAI, Garmin, Wahoo, Expo, Apple, Google, RevenueCat, Mixpanel, Sentry, Railway and Vercel) may process data outside your country, including in the United States. Where required, we rely on appropriate safeguards, such as the European Commission's standard contractual clauses or the EU–US Data Privacy Framework, to protect data transferred this way.
9. Your rights
Depending on where you live, you may have the right to access, correct, export or delete the personal data we hold about you (including data received from Garmin, Wahoo, Apple Health and Health Connect), to object to or restrict its processing, and to withdraw your consent at any time. You can withdraw AI consent in Settings → AI consent, and stop sharing device data by disconnecting Garmin, Wahoo, Apple Health or Health Connect. To request a copy or export of your data, a correction or deletion, or to exercise any other right, email support@textfit.app. Because accounts are anonymous, we may need to check that a request really comes from the account holder before acting on it. If you're in the EU/EEA, you can also lodge a complaint with your local data protection authority (in Lithuania, the State Data Protection Inspectorate).
10. Deleting your account
You can delete your account and all associated data at any time in Settings → Delete account & data. This immediately and permanently removes your profile, plan, coach chat and its summary, coach actions, assessments, activities, recovery data, device connections and tokens, records of workouts sent to your watch, push tokens, notification settings and records, workouts and training text from the earlier version, AI consent records and subscription record from our database. If Garmin or Wahoo is connected, we also ask them to end the connection.
Please note:
- Deleting your account doesn't cancel your subscription. Cancel it in your App Store or Google Play settings (or, for a website purchase, via the link in your receipt email) first, or you'll keep being charged.
- Workouts already on your Garmin Connect calendar or Wahoo account may stay there; you can delete them in Garmin Connect or the Wahoo app, and remove TextFit from their connected apps.
- Earlier version: deleting your account doesn't revoke access on intervals.icu's side — remove TextFit from your connected apps in your intervals.icu settings.
11. Children's privacy
TextFit is not directed at children under 16, and we don't knowingly collect information from them. If you believe a child has provided us with personal information, contact us and we'll delete it.
12. Security
Data travels between the app, our server and our providers over encrypted connections. We encrypt sensitive data such as Garmin, Wahoo and intervals.icu access tokens at rest, and use industry-standard practices to protect your information. No method of transmission or storage is perfectly secure, but we work to protect your data appropriately.
13. Changes to this policy
We may update this policy from time to time. When we do, we'll revise the "Last updated" date at the top of this page, and for material changes we'll make a reasonable effort to notify you in the app. If a change affects what is sent to our AI provider, we'll ask for your AI consent again.
14. Contact
Questions about this policy or your data? Email support@textfit.app.