Privacy Policy

Effective 26 October 2026 · YPT — Your Personal Trainer

Česká verze

In short: We store your email address and whatever you put into the app — your workouts and details about yourself. We do not sell any of it and we do not use it for advertising. The AI coach sends some of those details to OpenAI so it can plan or evaluate your training; it sends them without your name or email address. You can delete your account and all your data from inside the app at any time, and it really is deleted.

Who the controller is

Ing. Miloš Pelikán, Company ID (IČO) 01248979, registered at Štěpařská 1131/12, 152 00 Prague 5, Czech Republic. Contact: support@yptlogapp.com.

What we process

Account data

Training data

Athlete profile — contains health data

You fill this in voluntarily. It exists so that the AI coach does not plan something that would harm you:

Data about injuries, health restrictions and genetics is a special category of personal data under the GDPR (Article 9). We process it solely on the basis of your explicit consent, which you give by turning on the "I agree that the AI coach may use my health data for planning" switch in your athlete profile. Until you turn it on, those fields stay locked and are never sent to the server — the app works without them, the AI coach will simply plan with less knowledge. If you are not yet 18, consent cannot be given: the health fields stay locked and neither a watch import nor the Apple Health or Health Connect connection stores heart rate, resting heart rate or HRV.

You can withdraw your consent at any time by turning the same switch off. Withdrawing it deletes your injuries, health restrictions and genetics notes from the server; we do not keep them. We store the moment you gave consent so that we can evidence it — nothing more.

The same consent also decides whether average heart rate from your watch is sent to OpenAI, and whether a watch import or the Apple Health or Health Connect connection stores heart rate, resting heart rate and HRV at all. Without consent they are neither stored nor sent. Withdrawing consent also deletes the watch metrics already stored that are health data — average and maximum heart rate, the heart rate curve, resting heart rate and HRV. Calories and workout duration stay.

Profile picture

In the mobile app you pick one of the prepared avatars as your profile picture. You cannot upload your own photo there, and you cannot do so in the web version either. The server's interface does support uploading your own photo; if one reached your account that way, we strip the metadata from it, including location data, before we store it, and it is not publicly accessible — it is served through an authenticated request.

Subscription

Subscription status, product type, store and expiry date, and the latest subscription event from RevenueCat (which includes, among other things, the price, currency, store country and transaction ID). We never see or store your card number — the payment is handled entirely by Apple or Google.

Technical data

Who we pass data to

We do not sell it to anyone and we do not use it for advertising. We use the following processors:

WhoWhat they receiveWhere
Fly.io
server hosting
All app data (it is stored on their server) Frankfurt, Germany (EU)
Resend
sending email
Your email address and the content of the message (account verification, password reset) Ireland (EU)
Cloudflare
database backups
An encrypted backup of the whole database, therefore including your data. Nobody looks inside it; it exists so the data can be restored after a failure. EU
OpenAI
AI coach
See the detail below — without your name or email address USA
Expo
app updates
A random installation identifier, the platform and app version, and a description of an app crash if there was one. Nothing from your account — see the detail below. USA
RevenueCat
subscription management
The numeric identifier of your account and your subscription status. Not your email address. USA
Cloudflare, Google
email support
Your email address and the message when you write to support@yptlogapp.com (Cloudflare forwards it, the mailbox is in Gmail) USA
Apple, Google
payments
They process the payment details as the seller; we never see them Ireland (EU)

For processors in the USA, the transfer relies on the GDPR safeguards they provide: the European Commission's standard contractual clauses or the EU–US Data Privacy Framework.

Exactly what OpenAI receives

Data goes to OpenAI in only three situations: when you ask for a workout to be generated, when you ask for an exercise substitution, and when the coach evaluates a completed workout (see below). Depending on the situation, the following is sent:

Workout evaluation starts by itself. With a Pro subscription and your consent to OpenAI (see below), the coach writes a short evaluation of a workout: in the web version when you open the Overview tab (your last completed workout), in the mobile app on the home screen (your last workout with a logged set) and on request in the workout detail. The evaluation is stored with the workout and only generated again after its sets change or after you switch language. It sends that workout, your training history and your athlete profile; not the text of any request and not your readiness state.

The app asks before you first use the AI coach. Before it first sends data to OpenAI (generating a workout, suggesting an exercise substitution or evaluating a workout), it shows a list of what is sent — including a pseudonymous account code (the hash described below) and how long OpenAI keeps the data — and does not start the AI coach without your consent. You can withdraw consent at any time in Profile. The choice is stored only on your device, separately for each account: in the mobile app it applies only to that phone, in the web version only to that browser — anywhere else the app asks again. Without consent the web version does not request the evaluation of your last workout either.

Your name and email address are not sent. When a workout is generated, OpenAI additionally receives a one-way hash of your account number, to help detect abuse — never the account number itself. The hash is computed with a secret key, so the account number cannot be worked back out of it. No account reference at all is sent with a workout evaluation or an exercise substitution. The hash on its own does not reveal who you are, so OpenAI receives health data but has no way to connect it to a specific person.

According to OpenAI's documentation, the Responses API that the app uses retains application state for 30 days — the app does not turn this off, because it builds on the stored responses while putting a workout together. OpenAI keeps abuse monitoring logs for up to 30 days, unless longer retention is required by law. OpenAI does not use data sent through its API to train or improve its models.

The transfer to the USA relies on the European Commission's standard contractual clauses. Outside the three situations described above, nothing is sent to OpenAI.

Exactly what Expo receives

Every time the app starts, it asks Expo's EAS Update service whether a fix is available for it. That request contains:

Nothing from your account is sent — no email address, account number, workouts or health data — and the app does not link that identifier to your account in any way. As with any network connection, Expo also sees your IP address. Expo uses these requests to count how many installations received each update and whether the app crashes after it.

Why we process it and on what basis

PurposeLegal basis
Running your account, storing workouts, providing the appPerformance of a contract (Art. 6(1)(b))
Processing health data: injuries, restrictions and genetics to plan training, storing heart rate, resting heart rate and HRV from a watch import and from the Apple Health or Health Connect connection (without consent they are not stored), and sending average heart rate from your watch to OpenAI (without consent it is not sent)Explicit consent (Art. 9(2)(a))
Security, protection against abuseLegitimate interest (Art. 6(1)(f))
Delivering app fixes and checking that the app does not crash after an update (Expo)Legitimate interest (Art. 6(1)(f))
Accounting and tax on subscriptionsLegal obligation (Art. 6(1)(c))

How long we keep it

Deleting your account

You delete your account inside the app: Profile → Delete account. It is confirmed with your password, or for an account created with Apple or Google by signing in with it again.

If you cannot get into the app or no longer have it, email support@yptlogapp.com from the address your account is registered to and we will delete it for you.

Deleting irreversibly removes:

There is no "trash" and no grace period — the data is gone from the app and cannot be restored. The single exception is database backups: a backup taken before the deletion still contains your data and disappears together with that backup, within 90 days at most. See "How long we keep it" above.

Deleting your account does not cancel your subscription; you have to cancel that in the App Store or Google Play, otherwise it keeps running.

Your rights

You have the right to access your data, to have it corrected or erased, to restrict processing, to data portability, and the right to object. You can withdraw your consent to the processing of health data at any time.

You can do most of this directly in the app (editing your profile, deleting your account). For anything else, write to support@yptlogapp.com.

If you believe we are handling your data improperly, you can contact the Czech data protection authority, Úřad pro ochranu osobních údajů. If you live in another EU country, you may also contact your local supervisory authority.

Children

The app is not intended for people under 16 and we do not knowingly create accounts for them.

Changes

If these terms change substantially, we will let you know in the app or by email. The effective date is at the top.