Legal
Privacy Policy
How Offline handles your information.
Last updated: September 2026
This policy describes the Offline apps for Android and iPhone (both published as tech.stayoffline). Where the two work differently, the section says which it covers. It is written to match the current product implementation. It is product documentation, not legal advice.
Introduction
Offline is a digital wellbeing / app-blocking application for Android and iPhone. You choose which apps to protect. Offline does not require an account or login. Most Offline data stays on your device.
Information Offline collects
Depending on how you use Offline, Offline may process:
- On Android: package names of apps in the foreground (on device) to decide whether to show a blocking screen
- On iPhone: sealed app references from Apple’s Screen Time app picker, which do not reveal app names to Offline (on device)
- Your selected protected-app list and protection preferences (stored locally)
- NFC registration and protection state when you use an Offline Anchor (stored locally)
- On Android only: anonymous product analytics when analytics are configured (for example app version, Android version, device model, locale, and categorical product events)
- Information you voluntarily send by email or through a support form (for example a support request)
Information Offline does not collect
Offline does not intentionally collect:
- Account credentials — Offline does not have a user account system
- Message, email, or chat contents
- Passwords or form field contents
- Screenshots or screen recordings
- Keyboard input / typed text
- Notification contents
- Contacts, photos, precise location, clipboard, or browsing history
How Offline uses information
Offline uses information to:
- Detect when a protected app becomes active and show Offline’s blocking screen
- Remember your selected apps, protection state, and NFC registration on your device
- Improve reliability and understand product usage through anonymous analytics (Android)
- Respond when you contact support
Offline does not sell personal information.
Accessibility Service (Android)
Offline uses Android’s Accessibility Service to determine which application is currently in the foreground. This allows Offline to recognize when you open an application you have chosen to protect and display the Offline blocking screen.
Android does not provide a general, reliable “app opened” callback for all apps without privileged APIs. Accessibility window and state events are the supported mechanism Offline uses for timely foreground-app detection.
Offline does NOT use the Accessibility Service to:
- Read messages
- Read passwords
- Read typed text
- Capture screenshots
- Record the screen
- Inspect the contents of websites
- Read notification contents
Accessibility is used to observe window / package signals (package name of the active application). Offline is not an accessibility tool for people with disabilities; it sets isAccessibilityTool="false" in its Android service metadata. See also our Accessibility Statement.
You can disable Offline’s Accessibility Service in Android Settings → Accessibility. When disabled, Offline protection is paused.
Offline for iPhone
On iPhone, Offline blocks apps with Apple’s Screen Time framework (Family Controls, Managed Settings and Device Activity), authorised for your own device. It does not use an Accessibility-style service, and it never sees which app you open.
- Choosing apps. Apple shows the app picker. Offline receives sealed references (tokens) for the apps you pick; it cannot turn them back into app names.
- Blocking. Offline hands those tokens to Screen Time, and iOS shows the blocking screen. Offline supplies the screen’s wording and is told only that a blocking screen was shown or a button on it was tapped — not which app it was for.
- Websites. If you turn on website blocking, the sites you list in a mode are passed to Apple’s Screen Time web filter. Offline does not see what you browse. While sites are blocked, iOS turns off Safari Private Browsing.
- Activity and screen time. Offline records time with protection on and how often a blocking screen appeared. Screen-time totals and most-used apps in the Activity tab are drawn by Apple’s Screen Time report inside a sealed iOS extension; that data is not available to the rest of the app and never leaves your iPhone.
- Shortcuts. The optional “Toggle Offline protection” action runs on your iPhone. If you set up a Shortcuts automation for your Anchor, Apple’s Shortcuts app recognises the tag; Offline is not told the tag’s hardware identifier.
- No analytics. The iPhone app does not send analytics or any usage data to Offline or third parties, and does not use PostHog. It needs no network connection to work; the network is used only when you open a link or email from the app.
You can revoke Offline’s access at any time in iPhone Settings → Screen Time, or by deleting the app. Either removes every block Offline applied.
Anchor
The Offline Anchor acts as a physical switch for protection. Tapping a registered Anchor can turn protection on or off. NFC is not a timed unlock session.
On iPhone, Offline reads the Anchor only while its scan sheet is open, and stores a one-way hash of the Anchor’s identifier rather than the identifier itself.
The Anchor contains a small Offline-specific identifier (an Offline NDEF token). That identifier is used locally by the app to recognize the registered Anchor. Hardware NFC UIDs are not used as Offline’s identity.
Offline does not send NFC token, NFC UID, or NDEF payload contents to analytics.
NFC identifiers are not a cryptographic guarantee against cloning. Treat the Anchor as a physical convenience control, not as unbreakable security hardware.
Analytics
This section applies to the Android app. The iPhone app does not send analytics.
Offline may collect anonymous product analytics to improve reliability and understand feature usage. Examples include onboarding completion, app-selection actions, blocking interactions, and temporary unlock usage.
Analytics are intended to be non-identifying. Offline does not intentionally include NFC token or UID, package names, selected app names, email, phone number, or free-form personal content in analytics events. Offline does not use PostHog.identify or a synthetic device user id as a person identity.
If analytics credentials are not configured in a given build, Offline does not send analytics events to a remote host. Core blocking does not require a network connection.
PostHog (Android)
When configured, Offline uses PostHog as its analytics provider for anonymous product analytics and related error tracking features enabled in the app build.
Analytics traffic uses HTTPS when transmitted. Retention follows the configured PostHog project settings.
Data stored locally on your device
Offline stores application state on your device (Android DataStore on Android; an app group container on iPhone), such as:
- Selected / protected apps (on iPhone, as Apple’s sealed tokens)
- Modes and the websites you list
- Streak, time with protection on, and counts of blocking screens shown
- Protection and session state
- NFC registration and NFC protection state
- Onboarding and disclosure acknowledgements
- App preferences (for example theme)
This local data is not automatically uploaded to Offline’s servers as a personal profile export. Clearing Offline data from in-app Privacy controls or Android app storage — or, on iPhone, Settings → Privacy → Clear all local Offline data in the app — removes on-device product data; system permissions are controlled separately in Android or iPhone Settings.
Information shared with third parties
Offline does not share personal content from your screen or messages. When analytics are configured on Android, anonymous analytics may be processed by PostHog under their terms. On iPhone, blocking and screen-time reports are handled by Apple’s Screen Time framework on your device; Offline does not send that data to Apple, to us or to anyone else.
The Offline marketing website may use separate services (for example a waitlist or support form backend, and advertising pixels on the website). Those website tools are distinct from the apps’ on-device blocking.
Data retention
- Local Offline data remains on device until you clear it, uninstall Offline, or clear app storage.
- Analytics retention follows the configured analytics provider’s retention settings.
- Support emails / form submissions are retained as needed to respond to your request.
Your choices
- Disable Accessibility access in Android Settings to pause Offline protection.
- On iPhone, turn off Offline in Settings → Screen Time to remove its access and every block it applied.
- Clear local Offline data from Offline’s Privacy settings where available, or via Android storage controls.
- Contact support to request deletion of analytics records associated with your install where technically feasible.
Children's privacy
Offline is not directed to children under 13 (or the equivalent minimum age in your jurisdiction). Do not use Offline if you are under the applicable age.
Security
Offline relies on the Android and iOS app sandboxes for local storage. Analytics traffic uses HTTPS when transmitted. No method of transmission or storage is 100% secure; please use Offline with that understanding.
Changes to this policy
We may update this Privacy Policy. Material changes will be reflected by updating the “Last updated” date and, when appropriate, with an in-app notice.
Contact
Questions about privacy: support@stayoffline.tech