Bullseye

How Apple's Screen Time API (FamilyControls) Works: The Ultimate Privacy-First Guide

Published on September 07, 2026 · By Yaysoft Focus Team · 8 min read · Technology

Key Takeaways (Quick Summary)

  • Prior to iOS 15, app blockers had to use hacky VPN tunnels or MDM profiles that compromised user privacy and network speeds.
  • Apple's modern Screen Time architecture is built on three pillars: FamilyControls, ManagedSettings, and DeviceActivity.
  • The API uses opaque cryptographic tokens (`ApplicationToken`), meaning developers cannot see the names of apps you block.
  • Shield enforcement occurs directly inside Apple's operating system daemon, ensuring zero battery drain and complete offline operation.
  • Bullseye is built strictly on these native frameworks with zero third-party tracking or cloud data transmission.

For years, building an app blocker on iOS was a developer's nightmare. Because iOS strictly sandboxes third-party applications from interacting with each other, early blockers had to rely on cumbersome local VPN configurations, Enterprise MDM (Mobile Device Management) profiles, or fake DNS servers. All of these approaches raised serious privacy, battery, and stability concerns.

That changed dramatically with the introduction and maturation of Apple's official Screen Time API suite: FamilyControls, ManagedSettings, and DeviceActivity. Here is a technical and architectural breakdown of how modern iOS app blocking works and why it offers mathematical privacy guarantees.

The 3 Pillars of Apple's Screen Time Architecture

Modern iOS app blocking is split cleanly into three specialized system frameworks:

Framework System Role What the App Can See
FamilyControls Authorization & System App Picker Zero app names (Only opaque tokens)
ManagedSettings Applying shields & web restrictions Zero personal data (Tokens passed to OS)
DeviceActivity Schedules & background interval timers Timestamps only (No usage telemetry)

Pillar 1: FamilyControls and Opaque Tokens

When you open Bullseye and tap Choose Apps, you are not viewing a custom list rendered by Yaysoft. You are interacting with an out-of-process system sheet rendered directly by iOS (FamilyActivityPicker).

When you select Instagram, TikTok, or YouTube, iOS does not hand the bundle identifier (e.g. com.burbn.instagram) to the developer. Instead, Apple provides an opaque, cryptographically sealed data structure called an ApplicationToken.

To Bullseye's Swift codebase, this token is merely a string of random bytes. The developer cannot decrypt it, cannot reverse-engineer what app it represents, and cannot upload your app list to an analytics server. Only Apple's operating system kernel holds the private decryption key.

Pillar 2: ManagedSettings and Kernel-Level Shields

When you start a session in Bullseye, the app passes your opaque tokens to a ManagedSettingsStore:

let store = ManagedSettingsStore()
store.shield.applications = selectedAppTokens
store.shield.webDomains = selectedWebDomainTokens

The moment this property is set, iOS's internal ManagedSettings daemon takes over. When you attempt to open an app associated with that token, the operating system intervenes before the app process launches, presenting a secure shield view controller.

Because the shield is handled by the operating system, it works completely offline, survives device restarts, and requires zero background battery power.

Pillar 3: DeviceActivity (Automated Schedules)

To run schedules that turn on automatically at 9:00 AM or 10:00 PM without requiring the app to run in the background, Bullseye registers a DeviceActivitySchedule with iOS. When the clock hits your scheduled start time, iOS wakes up Bullseye's lightweight DeviceActivityMonitor extension for a fraction of a second to apply the shield store, and puts the extension right back to sleep.

The Privacy Guarantee

Because Bullseye adheres strictly to this architecture:

Frequently Asked Questions

Can an app blocker read my text messages or photos via Screen Time permissions?
Absolutely not. The Screen Time FamilyControls entitlement is strictly compartmentalized to app and website restriction tokens. It has zero access to your photo library, iMessages, contacts, or location.
What happens if I revoke Screen Time access in iOS Settings?
You are always in complete control. If you revoke permission in Settings → Screen Time, iOS immediately invalidates all tokens, and the app loses all ability to apply shields.

Reclaim Your Attention with Bullseye

Stop relying on willpower. Set automated focus schedules, block distracting apps behind Apple's native shield, and track your deep work directly on your Lock Screen.

Download on the App StoreRequires iPhone with iOS 18.4 or later. 100% private, on-device Screen Time.

Related Guides & Articles