What a Focus App Can See on Your iPhone
Privacy · 2025-03-27 · 7 min read
To pause distracting apps, a focus app needs Screen Time access. Apple's design lets it do the job without learning which apps you chose. Here's how that works, and what to ask before granting access.
When you choose apps to pause, iOS gives a focus app opaque tokens instead of app names. The app can hand those tokens back to iOS to shield the apps, but Apple designed the tokens so the app does not read which apps they stand for.
Before Apple Had an API
Screen time controls used to be a privacy problem. On April 27, 2019, The New York Times reported, from its own analysis with the app-data firm Sensor Tower, that Apple had removed or restricted at least 11 of the 17 most downloaded screen-time and parental-control apps. Apple's explanation was that it had acted because the apps put users' privacy and security at risk, and that many of them used Mobile Device Management (MDM), an enterprise technology.
In its statement the next day, Apple wrote that MDM 'gives a third party control and access over a device and its most sensitive information including user location, app use, email accounts, camera permissions, and browsing history'. On June 3, 2019, Apple added a guideline limiting MDM apps to commercial enterprises, schools and government bodies and, in limited cases, companies using MDM for parental controls. In 2021 it gave developers a narrower route: the Screen Time API.
Tokens Instead of Names
At WWDC in June 2021, Apple introduced the Screen Time API, built from three frameworks: Family Controls, Managed Settings and Device Activity. The central privacy idea is the token. In Apple's words, 'Family Controls provides opaque tokens that represent apps and websites.' When a person picks apps, websites or categories in the system's picker, the app receives those tokens instead of the names behind them.
The app can store the tokens and pass them back to iOS to shield the matching apps. To show you what you picked, it can give a token to a system view that draws the app's icon and name. Apple engineers on the developer forums say that readable names, bundle identifiers and usage data for the selected apps come through a Device Activity report extension, which displays them in a system-rendered report. The first version was built for parents managing a child's device and needed guardian approval through Family Sharing. iOS 16 added individual authorization, so people could grant this access on their own iPhone, for themselves.
Apple's WWDC21 session describes the privacy goal this way: 'your customers' usage data will be invisible outside of their device.'
- Can: ask iOS to shield the apps you picked, at the times it sets.
- Is designed not to: hand the app the names or website addresses behind its tokens as readable data.
- Shows, rather than shares: icons, names and usage appear in system-rendered views.
- Can: still send anything else it collects to its own servers, if it has any.
That last point is the catch. The token design protects which apps you picked. It doesn't stop an app from having analytics, an account system or ad SDKs that record everything else about how you use it. The Screen Time API sets a floor, not a ceiling.
Questions to Ask Before You Grant Access
- Does the app ask for individual authorization, or a parent-and-child setup?
- Does it need an account?
- Does its privacy policy say it makes network requests, and to whom?
- What does its App Store privacy label list, and what shows up for it in the App Privacy Report?
- If iOS turns Screen Time access off, does the app tell you plainly?
How HushZone Uses Screen Time
HushZone's shield uses Apple's Screen Time (Family Controls) with individual authorization: it's you allowing HushZone on your own iPhone, not a parent-and-child setup. When you choose apps to pause, iOS gives HushZone opaque tokens. They are stored on your iPhone so the shield can apply them; HushZone can't read which apps they stand for and never sends them anywhere. It doesn't read your app usage, history or browsing.
HushZone makes no network requests of its own, and has no servers, accounts, analytics or third-party SDKs. Notifications are local, and the widgets, Live Activity, Focus filters and Siri and Shortcuts all run on your iPhone. If iOS turns Screen Time access off, HushZone shows a 'Shield needs attention' card on the Focus tab until you turn it back on.
iOS doesn't let an app start a session by itself. A HushZone routine turns the shield on at the time you set and sends a notification; a tap starts the session. Focus filters only set HushZone up for the Focus you're in.
Sources
- Jack Nicas, The New York Times, 'Apple Cracks Down on Apps That Fight iPhone Addiction', April 27, 2019 (text read as reposted at https://www.resetera.com/threads/nyt-apple-cracks-down-on-apps-that-fight-iphone-addiction.113950/).
- Apple Newsroom, 'The facts about parental control apps', April 28, 2019. https://www.apple.com/newsroom/2019/04/the-facts-about-parental-control-apps/
- Apple Developer News, 'Updates to the App Store Review Guidelines' (Guideline 5.5, MDM), June 3, 2019. https://developer.apple.com/news/?id=06032019j
- Apple, WWDC21 session 10123, 'Meet the Screen Time API', June 2021. https://developer.apple.com/videos/play/wwdc2021/10123/
- Apple, WWDC22 session 110336, 'What's new in Screen Time API', June 2022 (individual authorization). https://developer.apple.com/videos/play/wwdc2022/110336/
- Apple Developer Forums, thread 'Family Activity Picker | Screen Time API features iOS 16', answers from Apple DTS and Frameworks engineers, January 2023. https://developer.apple.com/forums/thread/722618