Privacy Policy
Last updated 23 August 2026. Applies to the RelapseLock iOS app and this website.
The short version. RelapseLock collects no personal data. There is no account, no sign-in and no server. Everything the app stores — including local counters, your streak, logs, settings and app-selection tokens — stays on your device. Camera images and motion counts are processed locally and are not saved. The app uploads nothing, sells nothing and contains no remote analytics or advertising services. Data leaves only if you deliberately export and share it yourself.
1. Who we are
RelapseLock is an iOS app that blocks adult websites using the content restrictions built into iOS, shields apps you select during hours you set, and makes turning that protection off require both a delay and a set of challenges. This policy explains what happens to information when you use it.
If anything here is unclear, email jatinlalit010@gmail.com.
2. What we collect
Nothing. We do not collect personal data. Specifically, RelapseLock has:
- No account and no sign-in. You are never asked for a name, an email address, a phone number or a password.
- No server. This version of the app has no backend. There is no endpoint for it to send data to, because none exists.
- No remote analytics or crash-reporting SDKs. The app keeps simple event totals locally, described below, but no usage statistics, events or diagnostics are transmitted anywhere.
- No advertising and no trackers. No ad networks, no attribution SDKs, no third-party identifiers.
- No browsing history. The app never receives what you visit. Website blocking is enforced by iOS itself; we are not in the path of your traffic and never see it.
Because we hold no data about you, there is nothing on our side to breach, subpoena, sell or lose.
3. What stays on your device
The app stores the following information in its own storage on your iPhone and in its iOS app group container:
- Profile and writing: setup answers, goal mode, weekly limit, your personal reason, your if-then plan, and the latest three-line challenge reflection.
- Logs and history: slip dates and types, optional trigger tags and notes; urge-session start, completion and abandonment state; disable-request dates, delay and outcome; and achieved milestones and whether a rating prompt was shown.
- Streak counters: current start dates and longest counts for the porn streak and, when used, the separate masturbation streak. Weekly progress is calculated from your local logs rather than sent anywhere.
- Action counters: urges resisted, shield appearances or attempts blocked, disable requests and disable cancellations.
- Protection state: whether protection and strict mode are active, shield level, schedule, selected disable delay, pending delay changes, active countdown timing and clock-tamper state, and whether the effort half of a disable request is complete.
- Challenge state: the task identifiers used in the previous urge and disable sets, so the same set is not offered twice in a row.
- Preferences and display state: onboarding completion, urge-mirror choice, teaching hints, last plant growth stage and the plant-breeze animation value.
- App selections: the opaque tokens iOS supplies for apps and categories you choose to shield.
Local event counters
The app also keeps one integer total for each fixed event name it records. These totals cover onboarding steps and permissions; protection, strict-mode and schedule actions; disable requests, cancellations, completions, challenge starts and abandonments; urge starts, completions and abandonments; shield displays and dismissals; slip logging and goal changes; milestones, rating prompts, and data export or deletion requests. Legacy event names for the disabled purchase, account and sync flows remain defined in code but those flows do not run in this build. Event properties passed by the app are discarded, and these totals contain no timestamp, text or session sequence. They are not uploaded.
This data is removed when you delete the app, and you can erase it from inside the app at any time using Delete all my data. Because wiping your data would also switch protection off, that action goes through the same timer-and-challenges gate as any other way of turning it off.
App selections are opaque to us
When you choose which apps to shield, iOS presents its own picker and hands the app a set of opaque tokens rather than app names or bundle identifiers. Apple designed it this way deliberately. It means we cannot tell which apps you selected, even on your own device and even if we wanted to. The tokens are meaningful only to iOS.
Screen Time access
RelapseLock asks for Screen Time (Family Controls) authorisation because it is the only way iOS permits an app to block content. That permission lets the app apply and remove shields. It does not give us your browsing history, your app usage, your messages or your screen contents, and we do not request those.
4. Camera
The camera has two uses, both local. The optional urge mirror displays a live front-camera preview. It attaches no photo or video capture output, so the app receives no image from that preview. The outdoor challenge captures one image, passes its in-memory pixels to Apple's on-device Vision classifier, and immediately discards it after the result. RelapseLock does not write either use to a file, photo library or cache, and does not transmit an image or classification result.
5. Motion
The 200-step challenge asks Core Motion for the number of steps taken from the moment that task starts. The current number appears on screen while the task is open; updates stop when the task ends or closes. RelapseLock does not request a route or location, and it does not store or transmit the step count.
6. Notifications
If you allow notifications, the app sends three kinds and no others: one when you reach a milestone, one when a disable countdown finishes, and one when you tap I'm having an urge on a block screen — that last one is the only way iOS lets a block screen hand you back to the app, so without it the button would do nothing. All three are scheduled locally on your device. There is no push server, so no notification content ever passes through us.
7. This website
This site is static HTML and CSS. It sets no cookies, runs no analytics and has no forms or trackers. It loads Inter and Newsreader from Google Fonts, which means your browser requests those font files from Google's servers and Google therefore sees the request, including your IP address, as it would for any external file. Nothing else on this site is loaded from a third party.
Our hosting provider may keep standard server access logs for security and reliability. We do not use them to identify or profile visitors.
8. Children
RelapseLock is rated 17+ and is intended only for adults. It is not directed at children, and it is not intended for use by anyone under 18. We do not knowingly collect information from anyone — including children — because we do not collect information at all.
9. Your rights
Privacy laws such as the UK GDPR, the EU GDPR and the CCPA give you rights to access, correct, export and delete personal data a company holds about you. We hold none, so there is nothing for us to look up, hand over or erase. Your data is on your device, in your possession: you can export it or delete it from within the app without asking us. Export uses the iOS share sheet, and nothing is shared unless you choose a destination.
We do not sell or share personal information, and we never have.
10. Changes to this policy
If RelapseLock ever gains a backend, an account system, sync or any form of analytics, this page changes before that feature ships, not after — and the app will ask you before anything of yours leaves the device. Material changes will be dated at the top of this page.
11. Contact
Questions about privacy, or anything on this page: jatinlalit010@gmail.com.