Privacy Policy
Last updated: 21 October 2026
Focus Wall is a distraction blocker for Mac and Windows (a menu bar and system tray app) and for iPhone and Android, published by Sandy Intelligence Inc. ("we", "us"). This policy explains what data the apps handle, where it lives, and what it is used for. Plain English, no dark patterns.
The short version: what you block and what you actually open stays on your device. If you sign in, a small set of account data (your email, your block list and settings, which devices are linked and whether they are blocking, and your Pain Tax settings and charges) is stored on our servers so your devices share one wall. We never sell data and we run no advertising.
1. Data stored on our servers when you sign in
Signing in is by email code or, on a phone, with your Apple or Google account. Once signed in, the following is stored against your account in our database (hosted by Supabase in the United States, protected by row-level security so only your own account can read your rows):
- Your email address and an account identifier
- Your devices: an identifier we generate per install, the device model, the app version and when it was last seen, so the Devices tab can show them
- Each device's blocking state: whether a block is running, when it ends, and whether it is locked by a Pain Tax stake
- Your shared focus sessions and schedule pauses: when each one starts and ends, which of your devices started it, and how it finished, so every device blocks and opens together
- A push notification token for each phone (an identifier Apple or Google issues for the app on that phone), so a session started on another device reaches the phone straight away
- Your block list, service packs, schedule and calendar keywords, so every device blocks the same things
- Your Pain Tax settings: whether it is on, the stake amount, the cool-down and daily cap, and the brand and last four digits of your saved card (never the card number)
- Your Pain Tax charge history: amount, date and what was lifted
- Your plan (free or Pro) and how it was purchased: a Stripe customer reference for web purchases, an Apple subscription reference and its expiry for App Store purchases, or a Google Play purchase token and its expiry for Google Play purchases
This data exists only to run the product for you. It is not used for advertising, not sold, and not shared with anyone except the processors named in this policy (Supabase for hosting; Stripe, Apple and Google for payments; Apple and Google for push notifications; PostHog for the anonymous analytics described in section 6).
2. Data that stays on your device
2.1 Mac and Windows
- The hosts file entries that enforce your block list
- Your local focus session history (start time, duration, how it ended)
- Google Calendar OAuth tokens (section 3), stored in an encrypted store at
~/Library/Application Support/focus-wallon macOS and%APPDATA%\focus-wallon Windows - Your optional settings password (hashed, never stored in plain text)
2.2 iPhone, and Screen Time
On iPhone, Focus Wall blocks apps and websites through Apple's Screen Time framework (FamilyControls, ManagedSettings and DeviceActivity). You authorise it once, for your own device. Everything that framework touches stays on the phone:
- Which apps and categories you chose to shield. Apple hands the app opaque tokens for your choices; we cannot read them, and they are never uploaded
- Your app usage. The doomscroll radar's time limits are enforced by iOS on the device; we never see what you open, how long you use it, or what you browse
- Your local session log, used for the Stats tab on that phone
- Google Calendar OAuth tokens, kept in the iOS Keychain
2.3 Android
On Android, Focus Wall uses three permissions you grant once, for your own phone:
- VPN, to block websites in every browser. The VPN runs only on the phone and only while a block is running. It receives your phone's website lookups (DNS), answers the ones on your block list with "not found" and passes every other lookup to your normal provider unchanged. It sees only the names being looked up, checks them on the spot and does not log, store or share them. There is no Focus Wall server at the other end and no page content passes through it
- Usage access, to tell which app has just been opened so a shielded app can be covered. This is read on the phone and never uploaded
- Display over other apps, to show the shield screen on top of a blocked app
Which apps you shield, your local session log for the Stats tab and your Google Calendar OAuth tokens are kept in the app's private storage on the phone.
Focus Wall is a self-blocking tool. It is not a parental control product and cannot manage anyone else's device.
3. Google Calendar integration (Google user data)
Focus Wall offers an optional feature that automatically starts blocking during calendar events you have labelled with focus keywords (for example "Deep Work" or "Focus"). To do this it requests the https://www.googleapis.com/auth/calendar.readonly scope via Google OAuth 2.0. The following describes how Focus Wall accesses, uses, shares, stores, protects, retains and deletes your Google user data, in compliance with the Google API Services User Data Policy, including the Limited Use requirements.
3.1 Data accessed
- The title (summary) of events on your primary calendar
- The start and end times of those events
Access is limited to your primary calendar within a rolling 7-day forward window. Focus Wall does not access event descriptions, attendees, locations, meeting links, attachments, recurrence rules, other calendars, contacts or any other Google product data. It never creates, modifies or deletes events.
3.2 Data usage
Event titles and times are used for one purpose: matching titles against the keyword list you configure, then starting blocking five minutes before a matched event and stopping it when the event ends. Matched events are shown in the app as upcoming blocks so you can preview or skip them. Google user data is not used for advertising, for training machine-learning models, or for any other purpose, and is not reviewed by our staff except with your explicit consent, to investigate abuse, or to comply with applicable law.
3.3 Data sharing
Calendar reads happen directly between your device and Google over HTTPS. Event data is never sent to our servers, never shared with any third party, and never included in analytics, diagnostics or support emails. The only calendar-related data that leaves your device is the list of keywords you typed, which syncs between your own devices as part of your settings (section 1).
3.4 Storage and protection
OAuth tokens are stored on your device only: in an encrypted store on Mac and Windows, in the Keychain on iPhone, and in the app's private storage on Android. Event titles and times are held in memory for the current 7-day preview and the scheduled blocks derived from them, and are discarded when the app quits or the window rolls forward.
3.5 Retention and deletion
Google user data is retained for at most 7 days, the preview window. Disconnecting your Google account in the app (Calendar settings, Disconnect) revokes the tokens and clears cached events and calendar-derived blocks immediately. You can also revoke Focus Wall at myaccount.google.com/permissions; the app detects this on its next poll. Because no calendar data is held on our servers, there is no server-side copy to delete.
3.6 Limited Use
Focus Wall's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
4. Payments
4.1 Stripe (web and Pain Tax)
Pro subscriptions bought on focuswall.co, and the card you save for Pain Tax, are processed by Stripe. Card details are entered on Stripe's own pages (on a phone, inside a secure in-app browser tab) and never reach our apps or servers. We store your Stripe customer reference, a saved payment method reference, and the card brand and last four digits so the app can show which card a stake would be charged to.
4.2 Apple In-App Purchase (iPhone)
On iPhone, Focus Wall Pro is sold as an auto-renewable subscription through Apple. Apple handles the payment under its own privacy policy; we never see your payment details. Our server receives a signed transaction from Apple containing the product, a subscription identifier and its expiry date, which we store against your account so Pro is unlocked on every device you sign into. Manage or cancel the subscription in your Apple ID settings.
4.3 Google Play Billing (Android)
On Android, Focus Wall Pro is sold as an auto-renewable subscription through Google Play. Google handles the payment under its own privacy policy; we never see your payment details. Our server checks the purchase with Google and stores the purchase token, the product and its expiry against your account so Pro is unlocked on every device you sign into. Manage or cancel the subscription in the Google Play Store app.
4.4 Pain Tax charges
Pain Tax is opt-in. A stake is only ever charged after you confirm a lift on a screen that shows the exact amount and card. Charges go to Sandy Intelligence Inc.'s Stripe account; Stripe emails the receipt. Your charge history is stored against your account and shown in the app. You can switch Pain Tax off and remove your saved card at any time from the Pain Tax tab.
5. Licence validation
If you are on Pro, the app validates your licence key against our API, which checks your subscription status with Stripe or, for App Store and Google Play subscriptions, against the expiry Apple or Google reported to us. The request carries the licence key only.
6. Analytics and diagnostics
The iPhone app sends anonymous product usage events to PostHog (for example that the app was opened or a session was started) under a random per-install identifier. These events carry no email, name or account identifier and are used only to understand which features are used. There is no advertising SDK and no tracking across other apps or websites. The iPhone app includes a crash-reporting library that is currently switched off; if we enable it, this policy and the App Store privacy label will say so. The Android, Mac and Windows apps send no analytics.
7. Security
All traffic uses HTTPS. Server data is protected by row-level security, so a signed-in account can only read and write its own rows. Card numbers never touch our systems.
8. Retention and deletion
Account data is kept while your account exists. Delete your account at any time from the app (Settings, Account, Delete account). That removes the account, its devices, settings, blocking state and Pain Tax records from our servers immediately and asks Stripe to delete your customer record. You can also email info@sandyintelligence.com from the address you signed in with and we do the same within 30 days. App Store and Google Play subscription records are held by Apple and Google under their own policies.
To remove local data:
- Mac and Windows: disconnect Google Calendar, disable Pain Tax, quit the app, delete the application-support directory named in section 2.1, then uninstall
- iPhone: delete the app. iOS removes its Screen Time settings and local data with it. You can also revoke Screen Time access at any time in Settings, Screen Time
- Android: uninstall the app. Android removes its local data, its VPN profile and the permissions you granted with it
9. Children
Focus Wall is not directed at children under 13 and we do not knowingly collect data from children.
10. Changes to this policy
When we update this policy the date at the top changes. Material changes are announced in the app.
11. Contact
Questions? Email info@sandyintelligence.com. Focus Wall is operated by Sandy Intelligence Inc.