App Permissions

EasyBrick only requests permissions that are essential for protection. Here's exactly what we need and why.

Required for core protection
Optional - enhances experience

iOS (iPhone & iPad)

!

VPN Configuration

Installs a local DNS-only VPN profile. This routes DNS queries through EasyBrick's filter.

Why: This is how we block sites at the system level. No traffic is routed through our servers - only DNS lookups.

!

Screen Time API

Reads aggregated app usage data from iOS Screen Time.

Why: Tracks total screen time per app. We only see app names and durations, not content.

?

Notifications

Send push notifications for alerts, reminders, and task updates.

Why: Block alerts when you try to access a protected site, daily summaries, streak reminders.

?

Camera (for task proof)

Only used when submitting photo proof for assigned tasks.

Why: Managed users can take photos as proof of completing real-world tasks (e.g., homework, chores).

?

Background App Refresh

Keeps protection active and sends heartbeat data.

Why: Ensures DNS protection stays active even when the app is in the background.

Android

!

VPN Service

Creates a local VPN to filter DNS requests on the device.

Why: Same as iOS - intercepts DNS queries to block protected domains. Traffic stays on-device.

!

Usage Access (PACKAGE_USAGE_STATS)

Reads which apps are used and for how long.

Why: Required for screen time tracking. Only records app name + duration, not content.

!

Device Admin (optional for advanced protection)

Prevents easy uninstallation of EasyBrick.

Why: If permanent lock is enabled, this prevents bypassing by simply deleting the app.

?

Notifications

Push notifications for protection alerts and task updates.

Why: Real-time alerts when limits are reached or tasks are assigned.

?

Camera

Only for task proof photo submission.

Why: Same as iOS - photo proof for completed tasks.

macOS

!

System Extension

Installs a DNS content filter as a system extension.

Why: Provides system-wide DNS filtering that covers all browsers and apps.

!

Network Filter (NEFilterManager)

Allows EasyBrick to inspect and filter DNS queries.

Why: Core protection mechanism on macOS. Only processes DNS, not HTTP content.

?

Screen Time API (macOS 13+)

Reads app usage statistics.

Why: Tracks which apps you use and for how long.

?

Notifications

Menubar and notification center alerts.

Why: Quick status updates and protection alerts.

Windows

!

DNS Configuration

Modifies system DNS settings to route through EasyBrick's local filter.

Why: System-level DNS filtering that works across all browsers and apps.

!

Windows Service (runs in background)

Runs as a Windows service to maintain protection.

Why: Ensures protection stays active even after restart, and is harder to disable without the password.

?

App Usage Tracking

Monitors which applications are in the foreground.

Why: Screen time tracking for desktop apps.

Chrome Extension

!

webRequest / declarativeNetRequest

Intercepts navigation requests to blocked domains.

Why: This is how the extension blocks sites. It checks the domain against your block list and redirects if matched.

!

storage

Stores your authentication token and block rules locally.

Why: Keeps you signed in and caches block rules for fast lookups.

?

notifications

Browser notifications for block events.

Why: Shows a notification when a site is blocked.

Web Dashboard

!

Local Storage

Stores authentication tokens to keep you signed in.

Why: Standard web authentication. Tokens expire automatically and are refreshed securely.

?

Clipboard (controller)

Copies sharing code to clipboard when you click it.

Why: Convenience feature for sharing your code with family members.

Our privacy promise

Every permission serves a purpose. Nothing more, nothing less.

No browsing history

We never log which sites you visit

No messages or photos

We never access personal content

No location tracking

We never request GPS data

No data selling

Your data is never sold to anyone