DRAFT — not for publication. Replace BM NODEX SRL, {{COMPANY_ADDRESS}}, privacy@yoloit.app, yoloit.app and 2026-09-20, resolve every CONFIRM, and have a lawyer review before this goes live.
Source of record: docs/legal/privacy_policy.md. Keep the two in step.
On this page
1. Who we are
YOLOIT is published by BM NODEX SRL, {{COMPANY_ADDRESS}}. We are the data controller for the limited data described below.
CONFIRM The Apple Developer account the app ships under is BM NODEX SRL (Romania), Team ID 768R7DDJL8. Confirm whether BM NODEX SRL is the controller or publishes on the client's behalf, and name the controller here.
Questions, requests and complaints: privacy@yoloit.app.
2. The short version
YOLOIT turns real-world challenges into screen time: you do a small thing in the real world, you earn minutes, and the app you chose to block opens for those minutes.
- Almost everything YOLOIT knows about you stays on your phone. Your challenges, your minute balance, your streak, your settings and the list of apps you chose to block are stored in the app's own private storage on the device. They are not uploaded anywhere.
- We have no user accounts. There is nothing to sign in to, so there is no profile of you on any server.
- Two Google Firebase services do leave the phone: crash reports and app analytics. Neither carries your app list, your challenge history or your name.
- We do not sell data, we do not advertise, and we do not track you across other companies' apps or websites. The app contains no advertising SDK and reads no advertising identifier.
3. What stays on your device and never leaves it
The following is written to the app's private storage on your phone. It is not transmitted to us or to anyone else, and we have no way to read it.
| What | Where | Why |
|---|---|---|
| The apps you chose to block | iPhone: an opaque Apple Screen Time token per app, in the app group group.com.yoloit.app. Android: the package name and display name, in the app's private preferences and database. | So the app knows what to block and what to release. |
| Your unlock session — when it ends, an internal id | Device storage | So the block returns on time even if you close the app or restart the phone. |
| Challenges you completed, when, and the minutes each earned | The app's private database on the device | Your history, your streak and your balance. |
| Your minute balance and every change to it | Same database | So the balance survives restarts. |
| Your chosen categories, difficulty, reminder settings, reduce-motion preference | App preferences | So the app behaves the way you set it. |
Uninstalling YOLOIT removes all of it. You can also wipe it from inside the app — see section 10.
3.1 Screen Time on iPhone and iPad
On iOS, YOLOIT uses Apple's Screen Time (Family Controls) framework to block apps. This matters, so it is worth being precise:
- When you pick apps to block, iOS does not tell YOLOIT which apps you picked. Apple hands the app an opaque token per app — a meaningless identifier only iOS can resolve. YOLOIT can count your tokens; it cannot read them.
- Those tokens are stored only on your device and are never sent anywhere.
- YOLOIT does not request Apple's "Family Controls App and Website Usage" entitlement. It never reads your Screen Time usage statistics — not how long you used anything, not what you opened.
3.2 Usage Access and the block overlay on Android
Android has no Screen Time framework, so blocking works differently:
- During onboarding YOLOIT asks you to grant Usage Access and Display over other apps in the Android settings. You grant them by hand; the app cannot grant them for you.
- With Usage Access, YOLOIT checks which app is in the foreground. That check happens entirely in memory on your phone; the answer is compared with your own block list and then discarded. It is not saved to disk, not written to any log and not transmitted.
- If the foreground app is one you blocked, YOLOIT draws a full-screen overlay over it. The overlay reads nothing from the app underneath.
- Declining either permission is fully supported — YOLOIT still works, it just cannot enforce the block at the operating-system level.
A background service keeps this running while YOLOIT is closed. Android requires it to show a permanent notification, so you can always see when it is on.
3.3 Other Android permissions
| Permission | What it is for |
|---|---|
| Foreground service (special use) | Keeps the block running while YOLOIT is in the background. |
| Post notifications | The permanent "blocking is on" notification, and your optional daily reminder. |
| Schedule exact alarm | Re-locks your apps at the exact minute your earned time runs out. |
| Receive boot completed | Restores the block after you restart the phone. |
| App-list visibility | Lets the in-app picker list your launchable apps so you can choose which to block. YOLOIT does not request the broad "query all packages" permission. |
4. What does leave your device
4.1 Crash reports — Google Firebase Crashlytics
When YOLOIT crashes or hits an unexpected error, a crash report is sent to Firebase Crashlytics so we can fix it.
- What is in it: the error and its stack trace, your device model, operating system version and app version, and an identifier Crashlytics generates for the installation.
- What is not in it: your name, your email, your app block list, your challenge history or your minute balance. The app never attaches a user identifier, and a fixed "never log" list drops anything resembling an app package name, an app label, notification text, a device identifier or a file path before it can be attached to anything leaving the device.
- When: in released builds only.
- Why: to keep the app working. Legal basis: our legitimate interest in a functioning product (Art. 6(1)(f) GDPR). CONFIRM
4.2 App analytics — Google Firebase Analytics
Firebase Analytics lets us see, in aggregate, how the app is used.
- What is sent: the standard measurements the Firebase SDK collects automatically — app opens, session starts, app version, device model, operating system and language, and a randomly generated app instance identifier. Google derives an approximate location (country or region level) from the network address the data arrives on.
- What is never sent: app package names, app display names, your block-list selection, notification text, device identifiers and file paths are all on a hard-coded "never log" list and dropped before an event can carry them. The app also refuses to send any event that is not on a fixed, reviewed list of event names.
- Today, YOLOIT itself sends no custom analytics events at all. What Google's SDK collects automatically is the whole of it.
- No advertising. No advertising SDK, no advertising identifier, no link between analytics and advertising.
CONFIRM Analytics consent is the one open decision. The app contains a switch that turns analytics collection off, but nothing calls it yet, so in a released build collection is on from first launch. Before publication the client must choose: collection off until the user opts in, a single consent question during onboarding, or a documented legitimate-interest position — and this section must then say exactly which.
4.3 Challenge content — Google Firebase Firestore
YOLOIT ships with a built-in set of challenges and can download an updated set. The app reads two public documents and nothing else. This is a one-way read: the app sends none of your data with the request, writes nothing, and the documents are the same for every user. If the download fails, the built-in set is used and the app works normally.
4.4 Optional reminder notifications
The daily reminder is scheduled locally by your own device — you can turn it off or change its time in Profile. There is no push server; we send you nothing and cannot see whether you opened a reminder.
4.5 What we do not do
- No advertising, no ad networks, no ad identifiers.
- No selling or sharing of personal data.
- No tracking of you across other companies' apps or websites.
- No user accounts, no password, no email address collected.
- No location collection by the app.
- No access to your photos, contacts, microphone, camera or files.
5. Who else sees this data
| Processor | What they get |
|---|---|
| Google (Firebase) — Crashlytics, Analytics, Firestore | Crash reports and the automatic analytics measurements described in section 4. CONFIRM the Firebase data region and the data-processing terms accepted for the project. |
| Apple (iOS) / Google Play (Android) | The app-store relationship, and any crash data you separately choose to share with Apple or Google in your own device settings. |
No one else. We use no other analytics, attribution, advertising or support tool.
6. How long we keep it
- On your device: until you delete it, by resetting inside the app or uninstalling. We have no ability to reach it.
- Crash reports: retained by Firebase Crashlytics for Google's standard retention period. CONFIRM
- Analytics: retained for the period configured on our Firebase project. CONFIRM
7. Children
YOLOIT is not designed for or directed at children. CONFIRM the minimum age to state here; it must agree with the store age ratings.
YOLOIT uses Apple's Family Controls framework — the same framework parental-control apps use — but YOLOIT is a self-control app. It blocks the user's own apps at the user's own request on the user's own device. There is no parent/child pairing, no remote supervision and no way for one person to restrict another's device.
8. Your rights
If you are in the EU or the UK you have the right to ask for access to your personal data, its correction or deletion, a copy in a portable form, restriction of or objection to processing, and to withdraw consent where processing is based on consent. You can also complain to your national data protection authority. CONFIRM the supervisory authority once the controller is fixed.
In practice, for this version of YOLOIT: the data that identifies you is almost entirely on your phone and only on your phone, so you exercise these rights yourself with the in-app reset or by uninstalling. For the crash and analytics data held by Firebase, write to privacy@yoloit.app. Because it is not tied to a name or an account, we may need you to provide the identifier we would use to find it, and where we genuinely cannot identify you from it we will say so rather than guess. We answer within one month.
9. If we add accounts later
Accounts, cloud sync and push notifications are designed but not built in this version. Nothing in the app signs you in, and no account exists. If and when accounts ship:
- this policy will be updated before the feature is released, and the update will be visible in the app and here;
- the app will offer account deletion from inside the app, as Apple requires of any app that offers account creation;
- what we would then store will be described here specifically, not in general terms;
- data export on request will be available.
Until then, this section describes nothing that exists.
10. Deleting your data
| You want to | Do this |
|---|---|
| Wipe everything on the phone but keep the app | Profile → Reset. It clears your settings, your minute balance, your completed challenges, your chosen categories and your block list, and cancels your reminder. |
| Remove everything, completely | Uninstall YOLOIT. |
| Stop the blocking without deleting anything | Clear your block list in the app, or withdraw the Screen Time permission (iOS Settings → Screen Time) or Usage Access / Display over other apps (Android Settings). |
| Ask about the crash and analytics data | Write to privacy@yoloit.app. |
11. Changes to this policy
If this policy changes materially we will update the date at the top, publish the new version at https://yoloit.app/privacy, and — where the change affects what we collect — tell you in the app before the change takes effect.
12. Contact
BM NODEX SRL
{{COMPANY_ADDRESS}}
privacy@yoloit.app