Privacy Policy
Last updated: 15 October 2026
Who we are
Sadharo is an app for sadhu board (nail board) practice for iPhone, Apple Watch, Android and Wear OS, together with the website sadharo.app. They are operated by DOIT-BI Sp. z o.o., pl. Powstańców Śląskich 1/11, 53-329 Wrocław, KRS 0001034827, Poland (“we”, “us”). We are the controller of the personal data described here.
Questions or requests about your data: hello@sadharo.app.
The short version
- Your practice history stays on your phone unless you turn on a cloud copy by signing in.
- No ads, no advertising or tracking SDKs, no selling or renting of your data.
- Anonymous product analytics only if you say yes: they are off by default, are not linked to your account, and you can turn them off at any time.
- Health data (Apple Health, Health Connect, heart rate) is used only to show and save your practice, never for marketing.
- Friends in a challenge or group see the name you choose, your photo if you add one and the days you practiced. They see your minutes or practice details only if you choose to share them.
- You can export your data, delete your account and cloud copy in the app, and delete everything on the phone by removing the app.
Data stored on your device
The app works without an account. What you enter or record is stored in the app's private storage on your phone and, where you use them, on your watch:
- practices: date, time, length, goal, posture, board and nail pitch, sounds, notes, your intention text, how it felt, tension and energy before and after, heart rate if available;
- your boards, including photos you take or pick, and your profile photo if you set one. Scanning a board photo to find the nail pitch happens on the device;
- programs, achievements, streaks, reminders, settings and sounds you import;
- a random install identifier and a small log of how you used the subscription screens (for example, which screen was shown and whether a trial was started). This log is kept on the device to improve the offer. If you turn on product analytics, the app also sends the anonymous events described in “Product analytics”.
Your operating system may include this data in your device backup (iCloud or Google account backup) according to your device settings. Those backups are handled by Apple or Google under their terms.
Account and cloud copy (optional)
You can sign in with Apple or Google to keep a copy of your data in the cloud and move it to a new phone. We then process:
- your account identifier, email address and name as provided by Apple or Google (with Sign in with Apple you may hide your email);
- one backup file with your app data as listed above (except imported sounds), plus a few labels such as the number of practices, total practice time, number of boards, platform and date of the copy.
The copy is updated automatically while you are signed in. Only you can access it. When you delete your account in the app, we delete the account, the backup file and your profile photo, remove you from your challenges and groups together with everything you shared and the kudos you gave and got there, and delete your phones' push registrations and your blocks (see below). Signing out removes this phone's push registration; everything else stays in place until you sign in again or delete the account.
Challenges with friends (optional)
A challenge needs an account. To take part, we store in the challenge: your account identifier, the name you enter (up to 40 characters), a link to your profile photo if you set one, the date you joined and the calendar days on which you practiced. Anyone signed in who has the challenge code can see these details.
Profile photo. If you set a profile photo, it is uploaded to our cloud storage (Firebase Storage), and a link to it is added to your entry in every challenge and group you are in so that the members see it. Anyone who has the link can open the photo. You can change or remove it in the app (Settings → Account). Signing out keeps it in your challenges and groups; deleting your account deletes it.
What friends see. Beyond that, you choose how much of your practice the other members see, with “What friends see” on the challenge or group screen. It is one setting for all your challenges and groups, “Days and minutes” by default:
- Days only: nothing beyond the details above;
- Days and minutes: also how many minutes you practiced on each day since you joined;
- Everything about practices: also each of your practices since you joined (up to the latest 60): its time, length and goal, posture, board name and nail pitch, tension and energy before and after, how it felt, and your intention text.
Minutes and practices are kept in a separate record of the challenge that only its members can read. Tension, energy and how a practice felt describe your wellbeing: they are shared only if you choose “Everything about practices”, and you can change your choice at any time. When you delete a practice or choose a lower level, it is removed from what you share. Heart rate, notes, board photos and data from Apple Health or Health Connect are never shared.
Feed and kudos. The challenge screen shows a feed of the members' practices from the last 14 days. It is built only from what each member already shares under “What friends see” (days, minutes or practices), so it adds no new data. Members can give each other's practices kudos (🙏). A kudos is stored in the challenge with the giver's account identifier, the member who gets it, which practice it is for (its day, and its start time if that member shares their practices) and when it was given, and the challenge's members can see it. The giver can take it back. Kudos are deleted when the giver or the member who got them leaves the challenge or deletes their account, and all of them are deleted with the challenge.
Friends' pushes. While you are signed in, are in a challenge or group and allow notifications, the app registers your phone for notifications from your challenges and groups. For each phone we store under your account: its push token (issued through Firebase Cloud Messaging and Apple's or Google's push service), the platform (iOS or Android), the app language, the time zone name and offset, and whether “Friends' pushes” is on. Our server (Firebase Cloud Functions, run by Google) uses this to tell members when a friend has practiced and it is their turn, when the day is complete for everyone, when someone joins and when someone gives their practice kudos, and only between 06:00 and 23:00 local time. These notifications show the friend's challenge name. You can turn them off with “Friends' pushes” in Settings → Reminders, or turn off notifications for the app. A phone's registration is removed when you sign out on it, leave all challenges and groups or turn off notifications, and all of them are removed when you delete your account.
You can leave a challenge at any time; your entry, what you shared and the kudos you gave and got are then removed from it. Deleting your account removes you from all your challenges. A challenge itself (its code, goal and start date) may remain for the other members.
Groups (optional)
A group is a larger circle of up to 200 people, with a weekly leaderboard, a goal for the month and the same feed and kudos as a challenge. Groups need an account, and you can join one only with its invite code or invite link.
The group. Whoever creates a group becomes its admin and chooses its name (up to 40 characters), a description (up to 200 characters), an emoji and a colour, and may set a goal in minutes for the month. The group also stores the admin's account identifier, its invite code, the number of members, when it was created and its list of removed members (see below). Anyone signed in who has the invite code can see the group's name, description, emoji and colour before joining. Everything else in a group can be seen only by its members.
Your entry. When you join, we store in the group: your account identifier, the name you enter (up to 40 characters), a link to your profile photo if you set one, the date you joined, the invite code you used and the calendar days on which you practiced since you joined, for the last 35 days at most. Depending on “What friends see”, the group also gets your minutes for each of those days or your practices from them (up to the latest 30, with the same details as in a challenge). Older days drop out automatically. Only the group's members can see your entry and what you share; the app uses them to show the weekly leaderboard (by minutes or by days) and the progress towards the month's goal.
Feed and kudos. A group has the same feed of the last 14 days and the same kudos as a challenge (see “Challenges with friends”). Kudos are stored in the group, visible to its members, and deleted when the giver or the member who got them leaves the group or deletes their account.
The admin. The admin can change the group's name, description, emoji, colour and goal, replace the invite code, make another member admin, remove members and delete the group. When the admin removes a member, that member's entry, what they shared and their kudos in the group are deleted, but their account identifier and the name they had stay in the group's list of removed members, so that they cannot join again, until the admin lets them back or the group is deleted. This list is stored with the group's details, which its members can access. If the admin leaves, the member who has been in the group longest becomes admin; when the last member leaves, the group is deleted.
Pushes. From groups our server sends only two kinds of friends' pushes, under the same rules as in challenges (the “Friends' pushes” switch, only between 06:00 and 23:00 local time, nothing about members you blocked): to a member when someone gives their practice kudos, and to the admin alone when someone joins. They show the member's name in the group and the group's name.
You can leave a group at any time; your entry, what you shared and the kudos you gave and got are then deleted from it. Deleting your account takes you out of all your groups in the same way. When a group is deleted, everything in it is deleted too, including its invite code.
Reports and blocking
In a challenge or group you can report another member: you choose a reason (offensive name or photo, offensive text, spam or other) and may add a comment of up to 500 characters. The report is stored with your account identifier, the reported member's account identifier, the challenge code or the group, the reason, your comment, the time and a snapshot of what you saw of that member: their name, photo link, and the intentions and board names they shared. In a group you can also report the group itself, for example for its name or description; that report holds the group's name and description as you saw them instead of a member's details. A copy goes to our server log (Google Cloud) so that we are alerted. We review reports within 24 hours and may remove content, remove the member from the challenge or group, change a group's name or description, delete a group or suspend an account. The reported member or group admin is never told about the report or who filed it.
You can also block a member. On your phone their name, photo, minutes and practices are then hidden in all your challenges, they are left out of your groups' leaderboards and feeds, and you no longer get notifications about them or their kudos; their days still count towards a challenge's shared streak and their minutes towards a group's goal for the month. They are not told. The block is stored under your account so that our server can skip those notifications. You can unblock the member at any time.
We process reports and blocks to keep challenges and groups safe and prevent abuse (our legitimate interest) and to apply our Terms of Use.
Health data
If you allow it, the app connects to Apple Health (iPhone), Health Connect (Android), your Apple Watch or Wear OS watch, or a Bluetooth heart-rate sensor:
- Apple Health: saves each practice as Mindful Minutes and reads your heart rate for the time of the practice. On Apple Watch, a practice is saved as a Mind and Body workout.
- Health Connect: saves each practice as an exercise session and reads your heart rate for the time of the practice.
- Watches and sensors: send live heart rate to the phone during the practice. The app remembers which Bluetooth sensor you paired.
Health data is processed with your explicit consent, which you give in the system permission dialog and can withdraw at any time in the system settings. It is stored with your practices, is included in your cloud copy if you use one, and is never used for advertising, sold or shared with third parties for their own purposes. When you delete a practice, the app also removes the records it wrote to Apple Health or Health Connect for that practice.
Crash reports
When the app crashes, it sends a crash report to Firebase Crashlytics: the technical error, app version, device model, operating system version and a random installation identifier. Crash reports do not include your practices, notes or health data. We use them to find and fix bugs, based on our legitimate interest in a working app.
Product analytics (optional)
Product analytics are off by default. The app sends them only if you say yes when it asks “Help make Sadharo better?” on the first screens, or if you turn on “Help improve Sadharo” in Settings. You can turn them off there at any time; turning them off also deletes the events already sent from this phone.
If you agree, the app sends events about how it is used, such as “onboarding finished”, “practice started” and “practice finished”, with simple values: where a practice was started from, its length in seconds, whether the goal was reached, whether the “Scared?” help was opened, whether the check-in was filled in or skipped, whether notifications were allowed, the program day, whether an invite was opened or a challenge joined, and which variant of the app you see (your test group). Each event also carries the date, the number of days since you installed the app, the app version, the platform and the app language.
The events are linked only to a random install identifier created on your phone, not to your account, name or email address. They never include your notes, your intention text or your check-in answers, your heart rate or other health data, your location or an advertising identifier.
We use them to see where people stop before their first minute on the board, whether they come back on the second and the seventh day, and to compare variants of the app (A/B tests). The events are stored in Google Firebase Cloud Firestore in the europe-west3 region (Frankfurt, Germany) and are deleted automatically after 13 months. The legal basis is your consent (Art. 6(1)(a) GDPR). You can withdraw it at any time in Settings; this does not affect the lawfulness of processing before the withdrawal.
Remote settings. When it starts, the app downloads a small settings file from Firebase: which features are switched on and how app variants are shared out in A/B tests. Nothing is sent with this request beyond the technical details that any connection to Firebase carries (such as the IP address).
Purchases
Sadharo Pro is sold through the App Store or Google Play. Apple or Google processes your payment; we never see your card details.
To check and restore purchases and keep Pro with your account, we use RevenueCat (RevenueCat, Inc., USA), which processes data on our behalf. It receives: an app user ID (a random identifier, or your Sadharo account identifier once you sign in); the store receipt and purchase details, such as the product, the purchase status and the trial and renewal dates; your country and store; and technical details such as the device model, operating system version and app version. We use this only to unlock Pro and manage your purchases, never for advertising. RevenueCat keeps purchase records as long as needed to provide Pro and to meet legal and tax obligations; Apple and Google keep their own records.
Permissions the app asks for
- Camera and photos: to photograph your board, to set a profile photo and to add a background to a share card. Photos stay on your device unless they are part of your backup or cloud copy, or you set one as your profile photo.
- Saving to photos: to save the images and videos you make for sharing.
- Bluetooth: to receive heart rate from a chest strap or another sensor. On older Android versions the system calls this permission “location”; the app does not use your location.
- Notifications: reminders, the practice goal and the weekly report are created on the device. If you are signed in and in a challenge or group, our server also sends you friends' pushes (see “Challenges with friends” and “Groups”), which you can turn off separately.
- Clipboard: the app reads the clipboard only when you tap “Paste invite” on the first screen (iOS asks for your permission first), to pick up a challenge invite. Nothing from the clipboard is sent anywhere, except the invite code used to join the challenge.
- Health: see “Health data” above.
Every permission is optional. Without it, only the related feature is unavailable.
Sharing
When you share a practice card, you choose what it shows (for example the time, streak, heart-rate curve or your intention) and where it goes. We do not receive a copy.
We use these service providers, which process data on our behalf and under our instructions:
- Google Firebase (Google LLC / Google Ireland Ltd): sign-in, cloud copy, profile photos, challenges and groups with their feeds and kudos, reports and blocks, crash reports, product analytics and remote settings (Cloud Firestore, europe-west3 region, Frankfurt), and friends' pushes (Firebase Cloud Messaging and Cloud Functions);
- Apple (Sign in with Apple, App Store, Apple Health, Apple Push Notification service) and Google (Google Sign-In, Google Play, Health Connect) for the features you use with them;
- RevenueCat, Inc. (USA): purchase management, see “Purchases”;
- SendPulse (email service): keeps the list of addresses left on the website for launch news and sends that email;
- our website host, Umami (website visit statistics), and our email provider for messages you send us.
We may also disclose data if the law requires it or to protect the rights and safety of users and others. We do not sell or share personal data for cross-context behavioral advertising.
International transfers
Our providers may process data outside your country, including in the United States. Where required, transfers are protected by safeguards such as the European Commission's Standard Contractual Clauses or an adequacy decision.
Legal bases
If the GDPR or a similar law applies to you, we rely on: performing our contract with you (the app, your account, cloud copy, challenges, groups, feeds and kudos, friends' pushes and purchases); your consent (product analytics, health data, notifications and other permissions, and the practice details you choose to share in challenges and groups, which you can withdraw at any time); our legitimate interests (crash reports, website statistics, security, handling reports and blocks, moderating challenges and groups, keeping removed members out of a group, and preventing abuse); and legal obligations (for example tax records of purchases held by the stores).
How long we keep data
- Data on your device: until you delete it in the app or remove the app.
- Cloud copy and account: until you delete your account in the app. If an account is unused for 3 years, we may delete it after a notice to its email address.
- Challenge and group entries and what you share in them: until you leave or delete your account. In groups, days, minutes and practices older than 35 days drop out automatically.
- Kudos: until the giver takes them back, the giver or the member who got them leaves or deletes their account, or the challenge or group is deleted.
- Groups: until the admin deletes the group or its last member leaves. A removed member's account identifier and name stay in the group's list of removed members until the admin lets them back or the group is deleted.
- Profile photo: until you remove it or delete your account.
- Push registrations: until you sign out on that phone, leave all challenges and groups, turn off notifications or delete your account. Registrations that stop working are removed automatically.
- Reports: up to 1 year after they are resolved.
- Blocks: until you unblock the member or delete your account.
- Crash reports: up to 90 days.
- Product analytics events: 13 months, then deleted automatically; earlier if you turn product analytics off.
- Emails to us: as long as needed to answer, and up to 2 years after that.
Your rights and choices
Depending on where you live, you have the right to access, correct, delete and export your personal data, to object to or restrict certain processing, and to withdraw consent. In the app you can:
- export all your data to a file (Settings → Backup);
- delete practices one by one or your whole history (Settings → Backup → Delete all history);
- delete your account (Settings → Account → Delete account). This deletes the account, the cloud copy, your profile photo, your challenge and group entries with everything you shared and the kudos you gave and got there, your push registrations and your blocks. If you are a group's admin, the role passes to the member who has been in the group longest, and a group with nobody else in it is deleted. Reports other members made about you, and your name on the list of removed members of a group whose admin removed you, are kept as described above. The data on your phone stays until you delete it or remove the app;
- leave a challenge or group, choose what friends see, take back kudos you gave, remove your profile photo and turn off friends' pushes;
- turn product analytics on or off (Settings → “Help improve Sadharo”); turning them off also deletes the events already sent from this phone;
- as a group's admin, edit or delete the group, replace its invite code, and remove members or let removed members back;
- turn off health access, notifications and other permissions in the system settings;
- delete everything on the phone by removing the app.
For anything else, write to hello@sadharo.app. We will answer within 30 days and may ask you to confirm that the account is yours. You can also complain to your local data protection authority. We do not discriminate against you for using your rights.
Children
Sadharo is meant for people aged 16 and over. We do not knowingly collect data from younger children. If you believe a child has given us personal data, contact us and we will delete it.
Security
Data is sent over encrypted connections. The cloud copy is kept in storage that only your account can access. No method is perfectly secure, so please protect your phone with a passcode and keep your Apple or Google account safe.
The website
sadharo.app does not use cookies or ads. It remembers your language and light or dark theme in your browser's local storage. To count visits and see which parts of the page are useful, we use Umami, a statistics service that works without cookies and stores data on servers in the EU. It records the page, the site you came from, your country, device type and browser, and actions on the page such as signing up for launch news. It does not store your IP address or follow you to other sites; we see only totals, kept for up to 2 years. Fonts are loaded from our own server. Our host keeps standard server logs (IP address, time, page, browser) for security, usually for up to 30 days.
If you leave your email to hear about the launch, we keep it in our mailing list at SendPulse together with the language of the page, the phone you picked (iPhone or Android, if you picked one), your device type (iPhone, Android or other) and where you came from (the referring site or a campaign link). We use it only for that and delete it when you unsubscribe or ask us to.
Changes to this policy
We will update this page when the app or the law changes and show the date at the top. If a change is significant, we will tell you in the app before it takes effect.
Contact
DOIT-BI Sp. z o.o., pl. Powstańców Śląskich 1/11, 53-329 Wrocław, KRS 0001034827, Poland. Email: hello@sadharo.app.