This App Cannot See Your Screen Time. That's Not a Policy.

How Apple's Screen Time architecture works, and why the wall is the feature

Adrien MarsdenAugust 8, 20264 min read

Every privacy policy says roughly the same thing: we collect some of your data, we're careful with it, trust us. This article is about a different arrangement, where trust isn't part of the deal because access isn't either.

HabitApp is built on Apple's Family Controls and Screen Time frameworks — the only sanctioned way for a third-party iPhone app to shield other apps. And Apple designed those frameworks with a property that deserves to be better known: the host app is architecturally incapable of reading your usage data. Not forbidden by policy. Incapable.

How the sandbox actually works

Three walls, all load-bearing.

The app can't see which apps you picked. When you choose which apps go behind the shield, the picker is Apple's, and what it hands back to HabitApp is a set of opaque tokens. The tokens shield the right apps when passed back to the system, but the app cannot look inside them. We know you shielded something. We cannot know it was TikTok.

The app can't read your usage numbers. Screen-time figures are computed by the system and released only into special sandboxed extensions that render Apple-controlled views. Those extensions can draw your number on screen, inside the app, and they cannot pass it back out. There is no API for the app to ask "how many minutes did this person scroll?" The data flows one way, from the system to your eyes, and the app that hosts the view is not on the route.

The shield itself is a sealed surface. The screen that appears over a blocked app is a fixed configuration handed to the operating system in advance — title, subtitle, buttons, colors. It runs in its own extension, synchronously, with no network. It can't phone home about what you opened, because it can't phone anywhere.

So the honest inventory of what this app knows about your phone use is: your goals, your check-in answers, your minute balance — the things you typed and tapped into it yourself. The system enforces the rest and keeps the receipts on your device.

Why Apple built it this way

Because of what happened before. In the years prior to the Screen Time API, third-party screen-time apps got their data through workarounds — enterprise device-management profiles and VPN configurations, tools built for corporate fleets, repurposed to watch consumers. Some of those setups could observe device activity at a level no wellness app needed. In 2019 Apple removed or restricted a wave of them, took the criticism for it, and then shipped the sanctioned frameworks: here is real shielding power, and here is a wall between that power and your data.

Every app in this category now lives behind that wall. The difference is whether they tell you about it. A category that markets itself on your anxiety has been oddly quiet about the strongest reassurance it has, possibly because "we can't see your data" also means "we can't mine it."

Why the wall matters for this app specifically

An app that pays you for honest self-report has to be a safe place to be honest. The check-in asks whether you kept your commitment, and a no has to be answerable without wondering where the answer travels. The architecture is what makes that credible: the record lives in your device's storage and your iCloud, under your account, and the interesting parts — what you scrolled, when, how much — were never extractable in the first place.

In the onboarding this is summarized in one line, and it's the line to remember when comparing anything in this category: it's not a promise we're making. It's a wall we can't cross.


Sources: Apple Family Controls, ManagedSettings, and DeviceActivity framework documentation — opaque FamilyActivitySelection tokens, sandboxed DeviceActivityReport extensions, fixed ShieldConfiguration. Apple's 2019 enforcement against MDM/VPN-based screen-time apps: contemporaneous reporting and Apple's public statement on the removals.

Your phone is a slot machine. This is the coin jar.

HabitApp puts a price on the apps you lose hours to, and the price is minutes you mint by keeping the commitments you wrote down.

How it works