Privacy Policy
Effective: 8 September 2026 · Last updated: 18 October 2026
In short: your journal, goals and workout logs stay on your phone. Your account, profile, photos, messages, scores and (if you turn it on) location live on our server. When you ask the coach for a comment or chat with it, the relevant text is sent to an AI service and the coach keeps short notes about you (sections 4 and 5). Every photo and bio you upload is checked by AI before it goes live (section 6). We work with no ad network and sell no data.
1. Who is responsible
DisciplineX is published by Kağan Keskin (independent developer), who is the data controller under the GDPR and the veri sorumlusu under Turkey's KVKK (Law No. 6698).
Address: Esatpaşa Mah. Dr. Fazıl Küçük Cad. No: 1, Ataşehir, İstanbul, Türkiye
Contact: disciplinex0011@gmail.com
This policy covers the DisciplineX iOS app and this website.
2. What never leaves your phone
The following is kept in the app's own local storage, that is, on your device. There is no copy on our server:
- Your daily goals, what you planned for tomorrow and your recurring goals
- Your journal entries
- Your long-term goals
- Your workout program, logged sets/reps/weights and workout history
- Which days you sealed
- Your theme, font, card style, language and discovery filter preferences
- The goal list prepared for the home screen widget and the lock screen (section 11)
- The apps you choose to lock in Focus mode (section 12)
This has two consequences, both intentional: we cannot read this content; and if you lose your phone or delete the app, these records do not come back. There is no cloud backup.
The exceptions are in sections 4 and 5: when you ask the coach for a comment or chat with it, the relevant text is sent to the coach server.
3. What we keep on our server
We host account and social data on Supabase and photos on Cloudflare. Everything we keep is listed below — this list is complete.
| What | What's in it | Why | Legal basis |
|---|---|---|---|
| Account | Your email address and a hashed form of your password (the password itself is never stored). If you sign in with Apple or Google, that account's identifier and the email it shares; your name if you shared it on your first Sign in with Apple | So you can sign in | Performance of contract |
| Profile | Your username, your name if you entered one, if you use Discover your date of birth (other users only see your age) and gender, your bio, up to 6 profile photos, chosen sports, total score, current and longest streak | To show you in the leaderboard, Discover and messages; to enforce the 18+ rule | Performance of contract |
| Discover activity | Who you liked or passed and when; matches created by mutual likes | For matching, the daily like limit and not showing the same person again | Performance of contract |
| Messages | Sender and recipient, message text; for workout invites the sport, date, time and invite status; when you last read a conversation | For messaging and the "unread" indicator | Performance of contract |
| Scores | Date and the score the coach gave that day; how many times the coach was tried that day | For the leaderboard, history and the one-comment-a-day limit | Performance of contract |
| Coach notebook | Short notes the coach derived from its earlier comments (section 4); if you used them, follow-up notes for your workout program and workout reviews (section 5) | So the coach remembers you from day to day | Performance of contract |
| Coach chat | Your conversation with the coach, a short summary of older messages and this month's usage amount (section 5) | To show your chat history and enforce the monthly usage limit | Performance of contract |
| Location | Latitude, longitude and time of measurement — only if you give location consent for Discover | To show athletes near you | Your explicit consent |
| Notification record | Your device's push token and app language | To send message, invite, like and match notifications in the right language | Performance of the contract (you turn notifications on with the iOS permission) |
| Blocks | Who you blocked | So the blocked person cannot reach you | Legitimate interest — user safety |
| Reports | Reporter, reported user, chosen reason, your description if you wrote one, and correspondence with the admin | To review abuse | Legitimate interest — user safety |
| Moderation records | Time and reason of rejected photo attempts (the image itself is not stored); which photo was flagged for an age check | To detect repeated inappropriate uploads and minors | Legitimate interest — user safety |
| Membership status | Whether your subscription is active and when it ends | To unlock membership features | Performance of contract |
| Consent records | Every consent you give or withdraw for the coach, Discover location and usage statistics: topic, yes/no, the exact text you saw, app language and server time | To be able to prove your consent and to stop processing immediately when you withdraw it | Legal obligation and the establishment or defence of a right |
| Connection records | Which IP address you connected from on which day (first and last connection time of the day). What you do or write is not recorded | Turkish Law No. 5651 requires hosting providers to keep traffic data; disclosed only on a lawful request from the authorities | Legal obligation |
| Technical records | Daily request counters and, when the coach fails to produce a comment, the technical error reason (not your text) | To limit abuse and fix errors | Legitimate interest — keeping the service running |
We do not have your phone number, ID, address, contacts or payment card — we never ask for them.
4. The AI coach's comment — exactly what gets sent
When you seal a day and ask the coach for a comment, the app sends the following as a single text to our coach server running on Cloudflare, which forwards it to Google's Gemini AI service to produce the comment:
- The text of that day's goals and whether each was done
- The journal entry you wrote that day
- The workouts you logged that day: exercise names, set/rep/weight values and a comparison with the previous session
- That day's workout data from Apple Health: duration, average heart rate, calories, distance and pace
- A short history summary: how many of the last 7 days were sealed, goal completion rate and streak length
- Which language the comment should be in
- Your session token (to verify who you are and limit abuse)
Nothing is sent to the coach until you explicitly allow it in the app. The first time you seal a day, a permission prompt explains what will be sent. Your consent is recorded on our server, and the coach server sends nothing to Gemini without that record. You can turn it off anytime in Settings → Privacy → AI coach; the coach notebook and follow-up notes are then deleted right away. If you allowed it, the request is sent when you seal your day; if you forgot to seal a day, it is sent once the next time you open the app. The text you send is not stored; what remains is the score and the coach notebook.
Coach notebook: after each comment the coach writes short notes about you (for example "consistent with morning workouts, complains about sleep") and we store them on our server: one note for each of the last 7 comments plus a general note of up to 600 characters. The coach reads these notes next time so it remembers you. The notes are only sent to the coach; other users cannot see them. They are deleted when you delete your account; write to us if you want them deleted sooner.
How Google processes this data on its side is governed by Google's own terms. If you don't want to send something very private to the coach, you can seal the day without sending it to the coach.
5. Chatting with the coach
With membership you can write to your coach from Messages. When you send a message, our coach server forwards the following to Google Gemini: your message, roughly the last 10 messages, a short summary of older messages, the coach notebook's general note (section 4) and your streak. Plan, workout and review data are sent only when you use one of the guided flows below, and only as much as that task needs (today's and tomorrow's goals and recurring goals as text and times only; only as many workouts as you choose).
- Your chat is stored on our server so we can show you its history; it is deleted when you delete your account.
- Goals the coach suggests are never added to your lists until you tap "Confirm and add".
- The AI cost of each message is calculated and deducted from your monthly allowance; only this month's total is kept for that.
- Guided flows: "Plan my day" sends only the goals needed for your plan, "Workout program" sends your answers, current program and recent strength workouts, and "Progress review" sends only the chosen number of recent workouts for the sport you pick. The coach keeps one follow-up note per topic for programs and reviews and compares with it next time. Deleted when you delete your account.
6. Photo and bio moderation
In an app with a meeting feature we must keep inappropriate content and minors out. So:
- Before it goes live, every photo you upload (both its small and large size) is sent through our server to Google Gemini for moderation. Photos that break the rules — nudity, sexual content, violence, hate and the like — are never saved; only the time and reason of the attempt are noted and the admin is notified.
- Moderation also checks whether the person in the photo clearly appears to be under 18. If so, the photo is rejected. When it's unclear, the photo is published but manually checked by the admin; it may be removed and the account reviewed.
- Your bio is checked the same way before it is saved.
- To prevent abuse, at most 10 photos can be uploaded per week.
This moderation is an automated decision and can be wrong. If your photo or bio was rejected unfairly, write to us and a human will look at it.
7. Your profile photos are public
Approved photos are stored in Cloudflare's file storage at a link anyone who knows the address can open. Inside the app we only show that address to users who can see you, but the link itself does not require signing in.
So: don't upload a photo you wouldn't want everyone to see. When you delete a photo it is removed from storage too; it may remain reachable from caches for a short while.
8. Discover and location
Location is completely optional. The first time you open Discover, before Apple's location permission, a consent screen explains how your location will be stored. If you don't consent, your location is never requested or sent, and our server doesn't accept a location without a consent record.
If you do:
- Your current coordinates are rounded to an area of roughly 1 km when saved on our server; your exact location is not stored. They are overwritten on every refresh; no history of where you've been is kept — only the latest measurement.
- Your coordinates are never shown to any user. Others only see a distance rounded to 100 metres ("1.2 km", at least "100 m"). Rounding happens on the server; the raw value never reaches the app.
- In Discover you appear to users within the distance they selected, as long as you updated your location in the last 30 days; this requires at least one photo, a date of birth and a gender on your profile.
- Your card shows your username, age, bio, sports, photos, streak, score, membership badge and distance. Your date of birth and email are not shown.
- Other Discover members can find your profile by searching your username (without distance). Searches are limited per day.
- You never appear to people you blocked or who blocked you (in search either). A conversation can only start after a mutual like (a match).
- You can withdraw your consent at any time in Settings → Privacy → Location for Discover; your stored location is deleted at that moment. You can also turn off Apple's location permission in your phone's settings. Deleting your account deletes the record.
9. Apple Health
If you allow it, the app reads running, cycling, swimming and walking workouts from Apple Health along with duration, distance, pace, heart rate and calories. This data is not saved on our server; it is shown on your phone.
The only exception is section 4: when you ask the coach for a comment, that day's workout duration, heart rate, calories, distance and pace are included in the coach text. If you don't want to send health data to the coach, turn Health permission off in iOS Settings → Privacy & Security → Health.
We don't use health data for advertising, marketing or profiling, and don't share it with anyone.
10. Notifications
There are two kinds of notifications:
- Goal reminders are scheduled entirely on your phone; nothing goes to our server.
- For message, workout invite, like and match notifications we need to keep your device's push token and app language on our server. We pass the token to Expo's push service to deliver the notification.
The push token belongs to the device. When you sign out, or another account is used on the same phone, we delete the old record — so your notifications don't go to someone else.
11. Widget and lock screen
The home screen widget and the Live Activity on the lock screen read today's goals from a local area on your phone shared between the app and the widget; nothing goes to a server. However, these views can be seen while your phone is locked: someone next to you could read your goal names. If you don't want that, turn the Live Activity off in Settings → Preferences and remove the widget from your home screen.
12. Focus mode (Screen Time)
Focus mode uses Apple's Screen Time framework to lock the apps you choose during the hours you set or once your daily time is up. Apple keeps your selection as encrypted tokens on your phone only: we cannot see which apps you chose or how long you use them, and this information never reaches our server. You can revoke the permission any time in iOS Settings → Screen Time.
13. Messages and deleting them
Messages are not end-to-end encrypted between devices. Technically they sit readable in the database. We don't routinely read messages; we can access them only when reviewing a report or responding to a legal request.
What to know about deleting:
"Delete for everyone" removes the message text (for invites, the date and time) and replaces it with a "this message was deleted" marker. The row itself — who sent it to whom and when — stays in the database.
"Delete for me" only removes it from your screen. The other person keeps seeing it.
The other person may also have taken a screenshot; we can't prevent that.
14. Membership and payment
Membership purchases go entirely through Apple. Your card, invoices and payment history stay with Apple and never reach us.
We use a service called RevenueCat to track your subscription status. RevenueCat only tells us "is this user's subscription active, and when does it end"; we store that linked to your account. The only identifier sent to this service is your account's random ID.
15. Crash reports and usage statistics
We use two tools to fix and improve the app. Both run on servers in the European Union and know you only by your account's random ID; your name, email and IP address are not sent.
- Crash and freeze reports (Sentry): if the app crashes or freezes, your phone model, iOS and app version, where in the code the error happened and the screen transitions just before it are sent. Nothing you wrote is included.
- Usage statistics (PostHog): which screens were opened and that events such as "day sealed", "message sent" or "membership purchased" happened. The content of events is not sent: the text of your messages, journal or goals never reaches us.
- Session recordings (PostHog): for some sessions the screen layout is recorded. In these recordings all text and photos on screen are masked; only the layout and taps are visible.
Usage statistics and session recordings only run with your explicit consent: the app asks you once, and nothing is sent if you don't agree. You can change your choice any time with Settings → Privacy → Share usage data. Crash reports stay on to keep the app safe and working.
16. Who we share with
We don't sell your data and don't pass it to anyone for advertising. These are the service providers we use to run the app, with exactly what reaches each:
| Who | For what | Data that reaches them |
|---|---|---|
| Supabase | Database and account system | Everything in section 3 (except photos) |
| Cloudflare | Runs the coach and photo servers, photo storage, this website | The texts in sections 4–6 and your photos |
| Google (Gemini) | Coach comments, coach chat, photo and bio moderation | The texts in sections 4–6 and the photos you upload (for moderation) |
| Apple | App distribution, payment, Sign in with Apple | Payment details (never reach us); identity verification for Sign in with Apple |
| Sign in with Google | Identity verification for Sign in with Google | |
| Resend | Account emails (verification, password reset) | Your email address and the content of the email |
| Expo | Sending notifications | Push token and notification text |
| RevenueCat | Subscription status tracking | Your account's random ID and subscription status |
| Sentry (EU) | Crash and freeze reports | The report data in section 15 |
| PostHog (EU) | Usage statistics and session recordings | The events and masked recordings in section 15 |
Beyond these, data is shared only in two cases: a lawful request from a competent authority, and a transfer of the app (you would be informed in advance).
17. Where your data is held
All of the providers above process data on servers outside Turkey, mainly in the European Union and the United States; section 16 lists which data goes to which provider. The providers protect it under their own data processing agreements and standard contractual clauses. Data sent to Google for the coach is sent only with the separate permission we ask for in the app; if you don't give it, nothing is sent. Photo and bio moderation is stated clearly on the upload screen. If you have a concern or request about transfers abroad, write to the address in section 25.
18. How long we keep it
- Account, profile, photos, messages, likes, scores, coach notebook and coach chat: as long as your account exists.
- Location: only the latest measurement, overwritten on every update. Kept until you turn it off or delete your account.
- Push token: deleted when you sign out.
- Report and moderation records: until the review is complete; may be kept for a reasonable period to track repeated abuse.
- Text sent for a coach comment: not stored.
- Daily request counters: deleted automatically after 14 days.
- Connection records: 1 year as required by law (even if you delete your account); deleted automatically after 13 months.
- Consent records: as long as your account exists; if you delete your account they are kept for 1 more year so your consent can be proven, then deleted automatically.
19. Deleting your account
You can delete your account yourself in the app with Settings → Delete My Account. This cannot be undone and permanently deletes:
- Your account and email address
- Your profile, username, date of birth, bio, streak and score history
- Your photos (from file storage too)
- All messages you sent and received — they disappear from the other person's chat too
- Your likes and matches
- Your coach notebook and coach chat
- Your location record, blocks, report and moderation records, and push token
One exception — reports: if someone reported you or you reported someone, that report and the copy taken at the time of the report (the reported profile's username, bio, photo addresses and the latest messages between you) are kept for up to 1 year even if the account is deleted, and only admins can see them. This prevents an abuser from destroying evidence by deleting and re-creating their account.
Connection records (section 3: IP address and day) are kept for 1 year even if the account is deleted, as Turkish Law No. 5651 requires, and are deleted after 13 months; they are only used on a lawful request from the authorities.
Consent records (section 3) are also kept for 1 year after the account is deleted and then removed. They contain nothing but your account's random number and the consents you gave; their purpose is to prove, if needed, that we processed your data with your consent.
The journal, goal and workout records on your phone are removed by deleting the app.
Copies may remain in backups for a short while; they are deleted automatically within the backup cycle and are not accessed in normal use.
20. Your rights
Under the GDPR and Article 11 of the KVKK you have the right to know whether your data is processed, to get a copy, to have incorrect data corrected, to have it deleted, to object to processing, to withdraw consent, to receive your data in a portable format, and to have an automated decision (such as photo moderation) reviewed by a human.
To use any of these rights, write to disciplinex0011@gmail.com. We reply within 30 days at the latest. For deletion you don't need to wait; you can do it yourself with "Delete My Account" in the app.
If you have a complaint about how your data is processed, you can contact the Personal Data Protection Authority (KVKK) in Turkey or the data protection authority of your country in the European Union.
21. Age limit
DisciplineX is not for people under 18. When signing up you confirm that you are over 18; to use Discover you must enter your date of birth, and a date under 18 is not accepted. Photo moderation also rejects photos of people who clearly appear to be under 18 (section 6). If we learn that an account belongs to someone under 18, we delete the account and its data. If you think your child has opened an account, write to the address above.
22. Things we don't do
- We don't show ads and work with no ad network.
- We don't send what you write (messages, journal, goals) anywhere for advertising or marketing; it reaches AI only in the cases described in sections 4–6.
- We don't collect the advertising identifier (IDFA) or ask for tracking permission.
- We don't sell, rent or share your data with data brokers.
- We don't produce automated decisions with legal effects on you. The coach's score is feedback that you, and others on the leaderboard, see; photo moderation only decides whether content is published.
23. Security
Connections are encrypted (HTTPS), passwords are stored as hashes and the database has row-level access rules — technically a user can only read rows that belong to them or are shared with them. Our servers' secret keys live only on the server side, never inside the app. Still, no system is 100% secure; we cannot guarantee the absolute security of your data.
24. If this policy changes
If we update the policy, we change the date on this page. For a significant change we also tell you inside the app. Continuing to use the app after a change means you accept the new version.
25. Contact
For anything on your mind: disciplinex0011@gmail.com