No Pain No Scroll
EN

Legal

Privacy Policy

Last updated:

This policy explains what No Pain No Scroll does with your information — what stays on your phone, the little that reaches us, and what you can do about it. It covers the iOS app, the Android app and this website, wherever in the world you use them.

The short version

  • Your camera never leaves your phone. Reps are counted by a model running on the device; each frame is analysed as it arrives and then discarded. Nothing is recorded, saved or uploaded.
  • We never learn which apps you block. On iPhone the system hands us tokens we cannot decode. On Android the list stays in the app's own storage.
  • There is no account. Using the app never requires your name, your phone number or an email address.
  • We do collect anonymous usage statistics and crash reports, so we can tell which parts of the app work. They are tied to a random number, not to you.
  • Nothing is sold, nothing goes to advertisers, and we do not track you across other companies' apps or websites — there is no advertising SDK in the app, and nothing in it meets Apple's definition of tracking.

1. Who we are

No Pain No Scroll is published worldwide on the App Store and Google Play — including throughout the United States, the European Union and the wider EEA, the United Kingdom, and Brazil. This policy applies to everyone who uses the app or this website, wherever you are.

The app is made by LBR DESENVOLVIMENTO E MANUTENCAO DE SOFTWARE LTDA, CNPJ 44.706.387/0001-71, a company registered in Salvador, Bahia, Brazil. In this policy “we” means that company, “the app” means the No Pain No Scroll application for iOS and Android, and “you” means the person using it.

We are the controller of the personal data described here — the party that decides why and how it is processed. Because the app is offered internationally, more than one data protection regime applies to it at once: for users in the United States, federal and state privacy law; for users in Europe, the EU General Data Protection Regulation and the UK GDPR; and in Brazil, the Lei Geral de Proteção de Dados (LGPD, Law 13.709/2018). The app behaves identically everywhere — there is no regional build that collects more — so where those laws differ we apply the strictest of them to everyone.

For anything in this document, write to privacy@nopainnoscroll.com.

2. What never leaves your phone

None of the following is transmitted anywhere. It lives in the app's private storage on your device, and it goes when the app goes.

WhatWhere it comes fromWhat happens to it
Camera videoThe camera, while a rep session is openEach frame goes to a pose model running entirely on the device. The model returns the positions of your joints, the app turns those into a rep count, and the frame is dropped. Nothing is written to storage, and the app has no access to your photo library.
Your blocklistThe apps, categories and websites you chooseiOS: Apple's Screen Time framework hands the app opaque tokens instead of names — we are technically unable to find out what they refer to. Android: the package names are stored in the app's own settings file.
The app in front of you (Android)The system, while blocking is switched onThe app reads the package name of whatever is on screen — com.example.app — so it knows when to show the block screen. The package name and nothing else: never the contents of the screen, never text you read or type. It is held in memory for the moment it is needed, never written to the app's own storage, and never transmitted.
Your installed apps (Android)The system, when you open the app pickerRead to draw the picker so you can choose what to block. Not stored, not transmitted.
Your minutesYour own activity in the appReps, minutes earned, spent and expired, and the activity history behind them. A database on the device.
Apple Health workouts (iOS, optional)Apple Health, if you switch the feature on and grant permissionThe app reads workout records — activity type, start time, duration — and converts their length into minutes you can spend. It does this in the background too, so minutes appear without you opening the app. The records stay on the device. The usage statistics in the next section note that minutes came from Apple Health and nothing more: never the kind of workout, how long it ran or how many minutes it earned. The app never writes anything back to Apple Health.
Your settingsYouEarn rate per exercise, whether minutes expire and after how long, how far through onboarding you are, which tutorials you have seen.

3. What does reach us

Three things leave the device: usage statistics, crash reports, and any feedback you choose to send. All three are tied to the identifier described first.

The anonymous identifier

The first time you open the app, it generates a random identifier — a UUID, a string like f47ac10b-58cc-4372-a567-0e02b2c3d479 — along with the date and app version of that first launch. It is not derived from your device, your phone number, an account, or anything else about you.

It has one job: telling one anonymous stream of events from another, so that a question like “of the people who start setup, how many finish?” has an answer at all. It is kept in the iOS Keychain and, on Android, in Google Play's Block Store.

  • It works only inside this app. It measures what happens in No Pain No Scroll, and nothing you do in any other app or on any website.
  • It is not an advertising identifier. The app never asks for the IDFA on iOS or the Advertising ID on Android.
  • It is never handed to an advertiser or a data broker.

Usage statistics

Every event below carries counts, durations and fixed labels. No free text, no names, no content.

What we recordWhat it contains
Setup progressWhich step of onboarding you reached, and your two answers to the intro questions — roughly how long you scroll a day, and which of four reasons brought you here.
Permission outcomesWhich permission was asked for, in which part of the app, and whether it ended up granted.
Blocklist sizeHow many apps, categories and websites you block, and whether that number rose or fell when you edited it. The count only — never which ones.
Rep sessionsThe exercise (squat, push-up or jumping jack), how many reps, how many minutes they earned, and whether you finished the session or left it.
Your minutesMinutes credited, spent and expired; your balance before and after an unlock; whether expiry is on and the window you chose. Where a credit came from Apple Health, only that it did — never the kind of workout, how long it ran or how many minutes it earned.
Hitting a blockThat a block screen appeared, and which button you pressed on it.
NotificationsThat you opened one of the app's notifications, and which kind it was.
FeedbackThat you opened the Send Feedback form; and on sending, whether you left an email address and how many characters you wrote — never what you wrote.

Attached to every one of those: the number of items on your blocklist, whether expiry is on, the app's build number, and a flag marking our own test devices so we can exclude them from reports.

Never attached to any of them: which apps you block, what you do inside those apps, and anything derived from the camera.

Crash reports

When the app crashes, a report is sent so it can be fixed: the stack trace, the app and operating system version, the device model, its language and region, and coarse state such as available memory. The anonymous identifier rides along, so we can tell one person hitting the same crash ten times from ten people hitting it once.

Feedback you send

The app has a Send Feedback form, under Settings. If you use it we receive what you wrote (up to 2,000 characters) and, if you filled the optional field, your email address. That address is the single place in the whole app where you can hand us something that identifies you, it exists so we can reply, and it is entirely your choice. It is stored with your message and against the same anonymous identifier — never stamped onto your other events. That link is also what gives you a deletion route that works; §9 explains how to use it.

What our providers see automatically

The analytics and crash services receive the technical details that accompany any internet request: your IP address, device model, operating system version, app version, language, time zone and the time of the request. IP address is used to approximate the country or region an event came from; it is not used to build a profile of you. We do not use the advertising identifier — IDFA on iOS, Advertising ID on Android — and the app contains no advertising SDKs.

4. The permissions the app asks for

Each is requested at the moment the feature needs it, with an explanation on screen. You can refuse any of them, and change your mind later in your phone's settings. The app keeps working with whatever is left — minus the feature that permission was for.

PermissionPlatformWhy the app needs itWhat we get from it
CameraiOS and AndroidTo count your repsNothing. Frames are analysed on the device and discarded.
Screen Time (Family Controls)iOSTo block and unblock the apps you choseTokens we cannot decode.
Apple Health — workoutsiOS, optionalTo turn workouts you did elsewhere into minutesOnly that minutes came from it. The workout itself stays on the device.
NotificationsiOS and AndroidTo tell you when an unlock is ending, or when minutes were creditedNothing. Every notification is generated on the device — there is no push server and no push token.
Usage accessAndroidTo see which app is in the foregroundThe package name of that app.
Accessibility serviceAndroidThe same, but instantly instead of by pollingOnly the foreground app's package name. The service never reads screen text, never reads what you type, and transmits nothing.
Display over other appsAndroidTo draw the block screen over the app you openedNothing.
See all installed appsAndroidTo list your apps in the pickerNothing. The list is neither stored nor sent.
Ignore battery optimisationAndroid, optionalTo stop the system killing the blocker in the backgroundNothing.
Run at startup, foreground serviceAndroidTo restore blocking after a reboot or an app updateNothing.

6. Who else handles your data

We run no servers of our own. The services below receive data because the app and this site use them. Each operates under the data-processing terms it publishes, and none of them is authorised by us to use what it receives for its own purposes.

WhoWhat they receiveWhereTheir policy
PostHogUsage statistics, the anonymous identifier, your feedback and any email address you send with it, plus the technical details in §3European Unionposthog.com/privacy
Google — Firebase AnalyticsThe same usage statistics and identifier, plus those technical detailsUnited States and other countries where Google operatesfirebase.google.com
Google — Firebase CrashlyticsCrash reports and the anonymous identifierAs abovefirebase.google.com
NetlifyThis website's server logs — IP address, browser user agent, page requested, timeUnited Statesnetlify.com/privacy
Google — FormsThe waitlist form, if you fill it inUnited Statespolicies.google.com

One thing is deliberately not in that table. When your browser loads a page on this site it fetches two typefaces directly from Google's font servers, so Google sees your IP address and browser — but it does that as an independent party, not as a processor acting for us, and we have no contract governing it. §10 covers it, and what you can do about it.

Beyond that, we disclose personal data only where the law requires it — a court order or a lawful request from an authority — or if the company is one day sold or merged, in which case this policy travels with the data and you would be told before anything changed.

We do not sell personal data, we do not share it for advertising of any kind, and we disclose nothing to data brokers. There are no advertising SDKs in the app.

Apple and Google also handle data in their own right when you download or update the app. What they do with it is governed by their policies, not this one.

7. Where your data is processed

The app is used internationally and its providers operate internationally, so wherever you are, your data is processed in more than one country. Our analytics provider stores data in the European Union. Google's services store data in the United States and other countries where Google operates. The company responsible for all of it is established in Brazil. Personal data therefore crosses borders in the ordinary course.

Those transfers are covered by the data-processing terms each provider publishes — that is where their transfer safeguards are set out, including the European Commission's Standard Contractual Clauses and their equivalents elsewhere. The links in §6 point at the current versions. If you want to know which mechanism applies to a particular provider, ask us.

8. How long we keep things

WhatHow long
Everything on your deviceUntil you delete the app. Deleting it removes the local database, your blocklist, your minutes and your settings.
The anonymous identifierHeld in the iOS Keychain / Android Block Store, for as long as the operating system keeps it there.
Usage statisticsFor as long as they are still telling us something useful about how the app is used, and never beyond the retention window configured with our analytics providers.
Crash reportsFor as long as the crash is still worth diagnosing. Our crash reporting service applies its own retention window and discards them after it.
Feedback, and any email address sent with itUntil your question is resolved and we no longer need it, or until you ask us to delete it — whichever comes first.
Waitlist entriesUntil the app launches and we have written to you, or until you ask to be removed.

After that, the data is deleted or reduced to aggregate figures that can no longer be traced back to a single device. If you want to know the window currently in force for a particular provider, ask us.

9. Your rights

Wherever you are, you can ask us to: confirm whether we hold personal data about you; give you a copy of it; correct it where it is wrong, incomplete or out of date; delete it, or anonymise or block what is unnecessary, excessive or handled unlawfully; restrict or object to what we do with it; hand it to another provider; tell you who we share it with; and withdraw a consent you gave, having been told what refusing means. We offer that same list to everyone who uses the app, not only where a law compels it.

For users in the United States, several state privacy laws provide comparable rights — the list above is what we offer regardless of which state you are in. For users in Europe, those rights come from the EU GDPR and the UK GDPR, and withdrawing a consent never affects what we did while it was in force. For users in Brazil, they come from the LGPD.

Two of these you can exercise yourself, right now, without asking us: withdraw a permission in your phone's settings, and delete everything the app holds locally by deleting the app.

How deletion works

Write to privacy@nopainnoscroll.com. We answer within the deadline that applies where you are — at most one month, and sooner where local law requires. We may need a question or two to be confident we are acting for the right person — but only what is necessary to establish that, and nothing we would keep afterwards.

You can also lodge a complaint with your local data protection authority.

10. This website

nopainnoscroll.com is a set of static pages. It sets no cookies, runs no analytics, and ships no tracking scripts of any kind — there is no consent banner because there is nothing to consent to.

Two things still happen when you load a page. Our host, Netlify, keeps ordinary server logs — your IP address, your browser's user agent, the page requested and the time — for security and troubleshooting. And the page fetches two typefaces from Google Fonts, which discloses your IP address and browser to Google.

The waitlist is optional, and it is a Google Form. What you type into it — your email address, and anything else the form asks — is stored by Google and readable by us. We use it for one thing: telling you when the app is out. We will not add you to any other list, and every message will have a way to leave.

11. Security

Everything the app sends travels over encrypted connections. On the device, your data sits in the app's private storage, protected by iOS Data Protection and the Android application sandbox; the anonymous identifier sits in the iOS Keychain or Google Play Block Store. Our providers hold what §6 lists, under their own security programmes.

12. Changes to this policy

When this policy changes, the date at the top changes with it and the previous version is replaced here. And where a change would need your consent, the old one cannot carry it — you would be asked again before it applied to you.

13. Contact

LBR DESENVOLVIMENTO E MANUTENCAO DE SOFTWARE LTDA
CNPJ 44.706.387/0001-71
Al. Salvador, 1057 — Caminho das Árvores
Edif. Salvador Shopping Business — Torre América, salas 911 e 912
Salvador — BA, CEP 41820-790
Brazil

privacy@nopainnoscroll.com

That address reaches the person responsible for data protection at the company.