Fitness.mk
What you get How it works Coaches Invite Support Start for free
Start for free

Privacy Policy

Last updated: 5 October 2026


The short version, if you don’t want to read it all

The app works on your phone. Everything you enter - logs, measurements, plans - is stored locally, and goes to a server only if you link an email address, as a backup so you can restore it on another phone.

Two things are the exception, because without them a conversation with a trainer cannot exist: your name and whether you are a trainer go to the server even without a linked email, and verified trainers can see them. They see nothing beyond that - no log, no measurements, no email.

We do not sell your data to anyone. The app sends nothing about you to ad networks. The websites are different: there we use measurement and advertising tools from Google and Meta, and only if you accept them in the cookie bar.


1. Who we are

Fitness.mk is a service of BISKOR DOOEL Prilep, Macedonia, the data controller. Contact for privacy questions: privacy@fitness.mk

This policy applies to both the app and the website fitness.mk. One place for both: two policies for the same company start to contradict each other over time, and then neither is worth anything.

2. What we collect

Only what you enter or approve yourself:

Profile: name (whatever you enter during setup), email (if you link it), sex, year of birth, height, goal, activity level.

Body measurements: weight, waist and chest circumference - when you enter them.

Food log: what you ate, how much and in which meal.

Workout log: exercises, sets, weights, date.

Water, breathing, sunlight, reminders: your entries and settings.

Brain exercises: your results and records.

Conversations: what you write in chat, including the conversation with Fitness AI. Only you see the conversation with Fitness AI. A conversation with a trainer is seen by both of you, and what is written in a group is seen by everyone in that group. Where they live is described in section 4, and they are deleted together with the account.

Questions Fitness AI could not answer: when the AI does not know how to answer something, we keep the text of that question so we can teach it to answer. Digits in it are replaced with a symbol before it leaves the phone, and it is NOT recorded who asked it - the record is linked neither to your account nor to your device. You can turn this off in Profile. Also read the deletion section in point 8; this record is the only exception there.

App usage statistics: which screens you open, which features you use, and three technical details: the platform (iOS or Android), the system version and the app version. The phone model is not sent. From that we see where people stop. It is not tied to your name or email, the advertising identifier is turned off, and it is not shared with ad networks. You can turn it off in Profile, under "Usage statistics".

Steps: only if you allow it. They are read from the phone’s motion sensor (expo-sensors). Step history is part of the backup like your other entries: it goes to a server only if you link an email.

Lessons: when you opened and when you finished a lesson, and whether the action the lesson suggests actually happened. The latter does NOT mean we read your log - only the number of entries at the moment the lesson is completed is recorded, and compared to see whether it changed. We know that something was recorded; we do not know what.

Invitations: your invitation code, and the link "this account came through that account". Apart from the trainer-client link and group membership, this is the only place where we keep a link between two users. No contacts are uploaded from the phone, and we do not read whom you sent the link to - we only know which code was used and from which new account.

Other users can NOT see this link. You cannot see who invited whom either - the database itself refuses that read; you only see a number of how many people came through you.

What we do NOT collect: location, contacts, microphone, browsing history, advertising identifiers. We do not read your photo library. A picture reaches us only when you attach it to a message yourself; that is described in section 4.

Crash report on the phone. When the app crashes, the error message is written LOCALLY so we can see it if you report it to us. That record is not uploaded to a server and is not synced.

3. The website fitness.mk

On the website we collect much less than in the app. But not nothing.

Quiz and contact form. We keep what you enter in the form, and the IP address the message was sent from. We record the IP address for security, prevention of abuse and spam, and proper operation of the service. The legal basis is our legitimate interest in protecting the site. It is stored together with the message data and is not shared with third parties, unless the law requires it.

Cookies and tracking on the websites. The sites use essential cookies for basic operation. Beyond those, they use measurement and advertising tools from Google (Google Analytics, Google Ads) and Meta (Meta pixel). These set their own cookies and can recognise you on other sites, to show you our ad later. That is advertising and retargeting, and that is exactly what the cookie bar asks about.

These tools are turned on only after you accept them in the bar. If you decline, they are not loaded at all. You can change your choice at any time through the bar, and you can also delete the cookies in your browser.

Fonts. The typefaces on the websites are loaded from Google Fonts. When that happens your browser connects to a Google server, and Google sees your IP address. No cookies are set for this and the bar does not ask.

This applies only to the websites. The app does not use these tools.

4. Where the data lives

On the phone. Every entry goes first into the app’s local storage. The app works fully offline.

On a server, only if you link an email. Then the local entries are uploaded as a copy to our storage processor, in a data centre in the European Union. The phone remains the source of truth; the server is a backup that lets you come back on another device.

Exception: name and role. Those two go to the server immediately, without a linked email. The reason is simple: a trainer cannot write to you if you do not exist for them. Only those two things go. Logs, measurements and plans still wait for a linked email.

Confirmation messages reach you from the address noreply@send.fitnes.mk.

Messages to us. If you write to us through the inbox in the app, the text you send is stored on the server, tied to your account, together with the app version and the screen you wrote from - we need the latter to be able to find the bug. You see our reply in the app, and if your account has an address, it also reaches you by email.

Images attached to a message. If you attach a screenshot or an image, it is stored in a closed area on the server, in a folder with your identifier. The area is NOT public: we open the image through an address that lasts briefly and cannot be passed on. Only we see it, and it serves only to understand the report. Be careful what you capture - if the screenshot shows something you do not want us to see, crop it before you send it.

Images in a conversation with a trainer or in a group. These too are stored in a closed area on the server, in a folder for that conversation. ONLY the members of that conversation see them, through an address that lasts briefly; nobody outside the conversation, except us if there is a report. An image sent to a group is seen by everyone in the group. A sent image cannot be changed or deleted from the phone; it is deleted together with the account.

Notifications for new messages. If you allow notifications, the phone gives us a device token. We store it on the server, tied to your account, so that we know where to tell you that a message from a coach or in a group has arrived. The notification carries the name of the person who wrote to you and the name of the group. It does not carry the text of the message - you see that only when you open the app. The notification travels through Expo’s notification service, and then through Apple or Google, because there is no other way to reach a phone. You can turn it off in Profile, under "Message notifications", or in the phone’s settings.

Blocking and reporting. If you block someone, the server stores whom you blocked and when, tied to your account. The person is not told that they are blocked. You no longer see their messages, they cannot send you a request, and the conversation between you ends. You remove a block in Profile, under "Blocked".

If you report a message or a person, we store: who reported, whom, the reason you chose, what you added, and a copy of the text of the reported message. The copy is needed because the message may be deleted before we look at it. Only we see reports. The person who is reported is not told who reported them.

If we restrict an account after a report, we store that it is restricted, until when, and why. The restricted person sees that they cannot write and until when; they get the reason if they write to us through Help.

How far you have read. For each conversation with a trainer or in a group, the server remembers up to which moment you have read the messages. It serves one purpose: the unread badge is the same on every device you use and does not come back after a reinstall. Only you see that record. The other side is not told whether or when you read their message.

5. Why we process it

Purpose Basis
Making the app work (calculations, logs) Performance of a contract
Backup and restore on another device Performance of a contract
Sending an email confirmation code Performance of a contract
Steps from the sensor Your consent, withdrawn in settings
Messages you write to us, and our reply Performance of a contract
Notifications for new messages Your consent, withdrawn in Profile
Blocking, and reports of messages and people Our legitimate interest in protecting people in conversations
Unread badge (how far you have read) Performance of a contract
Questions the AI could not answer Your consent, withdrawn in Profile
App usage statistics Our legitimate interest in improving the app
Measurement and advertising cookies on the websites Your consent, withdrawn in the cookie bar

Health data (weight, diet, workouts) falls into a special category under the GDPR. We process it only on the basis of your explicit consent, which you give when you use the corresponding feature.

6. Who sees what

We do not sell data. The app has no ad networks and no analytics that follows you across other apps.

On the websites, Google and Meta receive data through their measurement and advertising tools, and only after you accept them in the bar. What they receive is behaviour on the site: which pages you opened, what you clicked, and their own cookie identifier. They never receive your log, your measurements or health data, because those do not leave the app.

When you install the app through an ad, the stores tell us which campaign brought the install, through the mechanisms they have built in (SKAdNetwork at Apple, install referrer at Google). Those reports are aggregated and do not identify you.

Verified trainers see the name and role of every user, so they can start a conversation. Only that - no log, no measurements, no email. The trainer badge is granted by us, after verification; it is not obtained by typing it in.

Other users see nothing of your profile, unless you are in the same group or the same conversation.

A conversation starts only after you accept. A trainer can send you a request; until you accept it, no room exists and no message can be sent to you. You withdraw consent at any time, and their read access closes immediately.

In groups you write freely among yourselves. What you write in a group is seen by everyone in that group.

All of the above is not a promise in words but a rule written into the database itself (Row Level Security): a read that is not allowed here is refused by the database.

Part of the technical work is done by external processors: storing the copy of your data (data centre in the EU), sending email (EU), and app crash reports (EU). We have a data processing agreement with each of them. A list of names is available on request.

7. Crash reports

When the app closes by itself or hits an error, a technical report is sent to our reporting processor. Without it we cannot know why something broke on your side.

What the report contains: what broke, in which part of the code, the app version and the type of device.

What it does NOT contain: your name, email, IP address, weight, height, or anything you wrote in the log. This is not a promise in words but a setting in the code: the screen image and screen view are turned off (otherwise they would photograph the log at the moment of the crash), network requests are not sent (they carry identifiers), and console records are discarded before they leave.

8. How long we keep it

As long as you have an account. Accounts without a linked email that have not been seen for 90 days are deleted automatically.

Lesson progress and the invitation link fall together with the account - they are tied to it and are deleted when it is deleted.

When you request deletion, the copy on the server is deleted immediately and permanently. The local data on your phone is deleted when you delete the app or through the button in Profile.

One exception, and it is deliberate. Questions the AI could not answer are not deleted when you delete the account - there is nothing by which to find that they were yours. That is a direct consequence of the fact that we never record who asked them: those records contain neither your identifier, nor digits, nor any trace that leads to you. If you do not want even that, turn off the collection in Profile and from then on nothing leaves.

9. Your rights

Under the GDPR you have the right of access, rectification, erasure, restriction, portability and objection, as well as the right to withdraw consent.

Most of them you exercise yourself, in the app: all data is visible, editable and deletable in Profile. For everything else write to privacy@fitness.mk. We reply within 30 days.

If you are not satisfied, you can contact the Personal Data Protection Agency of the Republic of Macedonia.

10. Children

The app is for adults only, aged 18 and over. We do not knowingly collect data from persons under 18. If we learn that we have, we delete it.

11. Security

Traffic goes over HTTPS. Access to data is guarded by Row Level Security at the database level. We do not use passwords - sign-in is with a one-time code by email, which means there is no password that can leak.

No system is perfect. If a breach occurs that carries a high risk, we will notify you.

12. Changes

This policy may change. We publish changes at fitness.mk/privacy-policy. The current version is always there, and the date at the top says when it was last changed.

Privacy Policy Terms of Service Support contact@fitness.mk

© 2026 Fitness.mk