What Family Controls actually is
Since iOS 15, Apple has exposed the machinery behind Screen Time to third-party developers as three frameworks that work together. Most articles treat "Screen Time API" as one thing. It is worth separating them, because the difference explains what a given app can and cannot do to you.
- FamilyControls is the entitlement and the authorisation step. It shows Apple's permission sheet, then Apple's own app picker. Crucially it hands the developer opaque tokens rather than app names, so the app knows you selected something without knowing what.
- ManagedSettings is the part that applies the restriction. When a shielded app is launched, the system intercepts it and shows a shield screen instead. The developer controls that screen's text and buttons.
- DeviceActivity is the monitoring layer. It runs as a separate system extension that the OS wakes on usage thresholds, which is how an app can notice you crossed a limit while it is closed.
Apple grants the distribution entitlement by application, per app, and it is not automatic. That is a real barrier, and it is the reason this category is smaller than the App Store's "app blocker" search results suggest. Plenty of apps marketed as blockers never got the entitlement and do something weaker instead.
Why Apple's own limit gives you a popup
The frustration that sends people looking for this is almost always the same: you set an App Limit on Instagram, you hit it, and iOS shows a Time Limit screen with "Ignore Limit For Today" and "Remind Me in 15 Minutes". Both are one tap. On your own device, with no Screen Time passcode set, the limit is a suggestion with extra steps.
That is a deliberate Apple choice, not a bug. App Limits were designed for self-awareness and for parents managing a child's device, where the passcode is the enforcement. For an adult self-managing on one phone, the enforcement layer is missing by default.
Here is the part most people never learn: a third-party app built on Family Controls writes its own shield screen, which means it decides whether an escape button exists at all. So a third-party shield can be strictly harder to dismiss than Apple's native limit. That is the opposite of the usual assumption that first-party is always stronger.
Apps that use it
Every app below states that it builds on Apple's Screen Time frameworks. They differ mainly in what triggers the lock and what it takes to get back in, which is the choice that actually matters.
| App | What triggers the lock | How you get back in | Cost |
|---|---|---|---|
| ScreenFine | Crossing your daily limit | Verified exercise, steps, workout, or mindful minutes | $1/week |
| Family Foqos | Tapping an NFC tag or scanning a QR code | Tap the tag again, or a parent passcode | Free, open source |
| Locked | NFC tag, or a timer you set | Tap the tag, or wait out the timer | App Store listing |
| Habit Doom | Automatically at midnight | Complete a daily habit, photo verified | Free tier, $2.99/mo, $34.99 lifetime |
| Opal | A schedule or a focus session you start | End the session, harder in Deep Focus | $80-100/yr |
| ScreenZen | App opens, time used, or a schedule | Breathing pause, then continue or close | Free + paid Pro |
ScreenFine
Holds the Family Controls entitlement and runs a DeviceActivityMonitor system extension, which is what lets it notice an overage while the app is closed and apply ManagedSettings shields to your selection. The trigger is a daily limit you set. Cross it and your chosen apps shield. Getting back in costs a verified action: 25 camera-counted pushups, 25 squats, 1,000 steps, a logged workout, or 10 mindful minutes, and you have a week to clear each slip. $1 a week after a 7-day trial, iOS only. The strictest trigger model here because the lock is a consequence you earned rather than a session you chose to start.
Family Foqos
Free and open source, with no subscriptions, ads, or hidden fees, on iPhone and iPad running iOS 17 or later. You build profiles with different blocking rules and start one by tapping a physical NFC tag or scanning a QR code, which makes the block a deliberate ritual rather than a setting you forget. Built for families: a parent sets a lock code synced through iCloud, and a child can start a locked profile but cannot change the rules without that passcode. The best free option, and unusually inspectable given the source is public.
Locked
A focused utility that uses the Family Controls entitlement to restrict individual apps and whole categories, triggered by tapping any NFC tag. Version 3.0 added Timer Lock, which locks your selection for a duration you pick between 5 minutes and 12 hours with no early unlock, so you no longer need the tag for a focus block. Developed by Brandon Scott. The right pick if you want the hardware ritual without the family-management layer, and the fixed-duration timer is genuinely unbypassable once started.
Habit Doom
Built on the Screen Time API and Family Controls with no data collection. Your chosen apps lock automatically at midnight and you earn the day back by completing daily habits such as a workout, reading, or meditating, backed by anti-cheat photo verification. A Hard Mode makes the blocking unbypassable. Free for up to three active habits, then $2.99 per month, $19.99 per year, or $34.99 lifetime. The clearest pricing in this list and the most generous free tier.
Opal
The most polished app in the category, with scheduled focus sessions, per-app limits, and detailed analytics across iOS, Android, and macOS. Deep Focus mode is the strict setting and prevents ending a session early. The trade-off is price, roughly $80 to $100 a year, and that outside Deep Focus the override is close at hand. See the full ScreenFine vs Opal comparison.
ScreenZen
Free with a paid Pro tier, and the gentlest model here by design. Rather than a hard wall it inserts a breathing pause and a prompt before an app opens, with limits by number of opens as well as by time. Good if the problem is reflexive opening rather than long sessions. See the full ScreenFine vs ScreenZen comparison.
How to check an app really uses it
App Store descriptions are not reliable here. Plenty of apps advertise "block apps" and deliver reminders. Three checks settle it in about a minute, before you pay anything.
- The permission sheet. On setup it must show Apple's own system prompt asking to allow Screen Time access, followed by Apple's native app picker. That picker cannot be restyled, so if the app shows you a custom-looking list of apps with their real names and icons, it is not using Family Controls.
- The shield, not a notification. Open a blocked app. You should get a full-screen shield instead of the app launching. A banner, a push notification, or the app opening with a warning on top means the block is cosmetic.
- Survive a force-quit and a reboot. Swipe the blocking app away, restart the phone, then try the blocked app again. A real ManagedSettings shield is applied by the system and does not care that the app is closed.
One red flag worth naming: if an app asks you to install a VPN profile or a configuration profile to block apps, it is routing your traffic or changing device management rather than using Family Controls. That can work for websites, it is weak for apps, and it deserves a much higher trust bar than a Screen Time shield does.
The honest limits
Family Controls is the strongest app-blocking mechanism available on a normal iPhone, and it is still not absolute. Three gaps are worth knowing before you rely on it.
Deleting the app lifts the shields. Force-quitting does nothing and rebooting does nothing, but uninstalling clears that app's managed settings. If deletion is your habitual escape route, pair the app with Apple's Content and Privacy Restrictions to block app removal, or with a Screen Time passcode held by someone else.
The web is a side door. Shielding the Instagram app does not shield instagram.com in Safari. Most of these apps can restrict web domains too, but you have to actually turn it on, and it is the single most common reason people think a blocker "stopped working".
Privacy cuts both ways. Because the developer only receives opaque tokens, an app built on Family Controls genuinely cannot tell which apps you picked, which is good. The same design means it often cannot show you a readable list of what you blocked, or move your selection to a new phone cleanly. That is a framework constraint, not laziness on the developer's part.