Android bypass matrix
This page catalogs known Android parental-control bypass techniques — mostly reported against Google Family Link and similar cloud-supervised products — and records how Guardian responds to each vector on a managed device.
Use it when hardening a deployment, choosing a policy preset bypass-risk level, or triaging a suspected bypass incident.
How to read the status column
Status
Meaning
Protected
Blocked on a Device Owner deployment with medium or high bypass-risk preset (or by architecture regardless of preset).
Partial
Mitigated for some configurations, intentional trade-off, or residual OEM-specific risk.
Gap
Meaningful exposure even with recommended preset; treat as hardening backlog.
N/A
Technique targets a supervision model Guardian does not use (e.g. Google account supervision only).
Excluded
Out of scope per accountability policy (rooted device, child granted admin, etc.).
Baseline assumption: Android agent provisioned as Device Owner via MDM QR, child profile uses medium or high bypass-risk policy preset . Low presets deliberately leave more freedom.
Hardening stack (medium+ presets)
Guardian applies several layers together:
Layer
What it does
Android device policy (preset)
Developer options off, install/uninstall blocks, USB lockdown, factory-reset protection, account-change block
User restrictions (agent)
DISALLOW_ADD_USER, DISALLOW_REMOVE_USER, DISALLOW_USER_SWITCH when developer options are disabled
Anti-bypass app policy (preset)
Blocks Island, Shelter, Test DPC, Tasker, Samsung Internet
Agent blocklist (device)
Same bypass-tool packages also suspended when dev/install lockdown is active
Lockout suspension
All launcher apps plus OEM Settings packages (com.android.settings, com.samsung.android.settings)
DNS VPN
Domain blocklists apply inside Settings/Spotify WebViews
Usage monitor
Concurrent picture-in-picture / split-screen sessions bill all active packages each tick
Boot reconcile
Enforcement re-applied immediately when UsageMonitorService starts
Matrix
ADB, developer mode, and supervision removal
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
ADB am start_in_vsync supervision removal
With USB debugging on, launch a hidden supervision-removal activity via shell
Patched by Google (2025-09 security patch)
Protected
Medium+ preset: DEVELOPER_SETTINGS_DISABLED, USB data blocked, DISALLOW_SAFE_BOOT. Guardian is not Google supervision.
Third-party dev-options enablers (e.g. FLToolKit)
App or guide walks child through enabling developer options / USB debugging
Active on some OEM builds
Protected
Dev options disabled; install blocked on medium/high where preset blocks installs.
Power-button shortcut → disable supervision
Map power action to a Settings component that opens hidden removal UI
Pre-2025-09 patch on affected builds
N/A
No equivalent activity on Guardian. Settings WebView escapes covered by lockout suspension + DNS VPN.
Zygotroller / pre-2024 profile-owner removal chains
Exploit chain + dev mode to strip profile owner
Historical on old patch levels
Protected
Device Owner + dev/USB lockdown on medium+. Pre-patched OS versions excluded.
PC-side ADB multi-device tools
Desktop tool with OEM-specific tricks (extra profiles, disable monitoring apps)
Active wherever ADB is enabled
Protected
Requires USB debugging; blocked by medium+ device policy. Local enforcement persists if server sync is blocked.
Alternate profiles, containers, and user spaces
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
Unmanaged work profile (Island / Shelter)
Create a work profile while supervision is briefly off; run unsupervised apps inside
Active (especially where Secure Folder was patched)
Protected
DISALLOW_ADD_USER when dev options disabled; Island/Shelter/Test DPC blocked via preset app policy + agent BypassHardening list.
Xiaomi Second Space
OEM “second space” with separate account/storage, switched by PIN
Active on Xiaomi
Partial
DISALLOW_USER_SWITCH on medium+. OEM-specific — monitor for new users via installed_apps_report; use high-preset allowlist.
Supervised container via parent PC browser
Parent supervises a secondary container account from a browser to loosen install rules
Niche (Samsung Secure Folder)
Partial
Guardian does not use Google supervision accounts. Unmanaged OEM containers need same mitigations as profile escape.
Downgrade container APK via ADB
Install older version of OEM secure-folder app to evade blocks
Unverified / mostly failed
N/A
OEM + cloud-supervision specific.
Root — delete supervision marker files
Rooted device removes profile_owner.xml or equivalent
Active on rooted phones
Excluded
Rooted devices out of accountability scope.
Screen time, downtime, and usage accounting
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
Rapid UI “refresh” loop
Reboot and repeatedly open parental-controls UI to desync cloud limits
Reported on several OEMs
Protected
Local TimeLimitStore enforcement; no cloud refresh dependency.
Forced-restart race
Repeated hard reboots confuse monitoring services → temporary no limits
Patched on some Samsung builds (late 2024)
Partial
Local enforcement + immediate reconcileAllUsers() on monitor start reduces boot-window gap.
Revoke usage-stats permission on parental-controls package
Wireless debugging + permission manager strips PACKAGE_USAGE_STATS from supervisor app
Patched on recent One UI
Protected
Device Owner auto-grants Guardian usage access; no separate supervisor package to target.
Pop-up view / split-screen time laundering
Keep an unlimited-time app resumed; run target app in PiP so the wrong app is counted
Long-standing on several products
Protected
UsageMonitorService bills all concurrently active packages each tick when ≥2 sessions are open. Lockout suspends everything.
Automation app shortcuts during downtime (e.g. Tasker)
Shortcuts into Settings WebViews or other apps while downtime screen is shown
Niche Samsung reports
Protected
Tasker in anti-bypass blocklist; suspended at lockout.
Accessibility menu + recents stack
Open accessibility overlay → recents → back into blocked app during downtime
Intermittent
Protected
Blocked apps suspended with launcher apps when time exhausted.
Alarm / assistant menu → exempt media app
Trigger alarm with Spotify (or similar) ringtone to open exempt app at downtime
Niche
Partial
Intentional trade-off for sleep audio if app is screentime-exempt. Web escape blocked by DNS VPN.
Settings and in-app WebView escape hatches
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
Settings → legal / regulatory web links → YouTube / Google
Chain embedded links inside Settings to reach blocked sites (common on Samsung)
Active
Protected
Settings packages suspended at lockout; domain VPN blocks listed sites during allowed hours.
OEM AI settings → terms → embedded browser
Galaxy AI and similar flows open Google/YouTube from settings WebViews
Active on supported Samsung devices
Protected
Samsung Settings suspended at lockout; domain blocks cover Google/YouTube.
In-app browser inside exempt media app
Spotify (or similar) premium/support WebView → social site → open browser
Active when media app is always allowed
Partial
DNS VPN blocks social/search domains. Risk only if app is screentime-exempt and parent allows those domains.
Network, cloud, and account disconnection
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
DNS block on supervisor push channel
Sinkhole DNS so cloud parental app never receives lock/limit FCM pushes
Active
Protected
Limits enforced locally; blocking Guardian server delays policy updates only. Parent sees offline device.
Remove Google account via device-activity portal
Disconnect supervised account from device using myaccount.google.com
Risky for child; reported
Protected
Guardian does not depend on Google supervision. Medium+ preset sets modifyAccountsDisabled.
Parent / OTP code attacks
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
TOTP shared-secret extraction
Derive parent access code after learning shared secret
Active where products use TOTP parent codes
Partial
Guardian OTP is HMAC of per-device agent token in EncryptedSharedPreferences. Not extractable without root/device access. Revoke/re-pair if token leaks.
Offline TOTP generator
Standalone app generates codes once secret is known
Depends on prior secret leak
Partial
Security reduces to token confidentiality.
Sideloading and installs
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
Browser-based APK install without prompt
Download and install APK from OEM browser (e.g. Samsung Internet) without parent approval
Active on some Samsung builds
Protected
Medium+ preset: installAppsDisabled + Samsung Internet in anti-bypass blocklist.
Non-Android (for context)
Technique
What attackers try
Typical on cloud parental controls
Guardian status
Mitigations
Chromebook sign-out / recover-user flow
Wi‑Fi toggle + wrong-password recovery adds unsupervised user
Active when child account is device owner
N/A
No Chromebook agent.
Summary scorecard
Counts assume Device Owner + medium or high bypass-risk preset .
Status
Count (of 22 Android-relevant techniques)
Protected
17
Partial
5
Gap
0
N/A / Excluded
6
Remaining partial vectors
Xiaomi Second Space — OEM feature; DISALLOW_USER_SWITCH helps but is not a full block.
Forced-reboot race — boot reconcile reduces the window; no cloud desync vector on Guardian.
Spotify alarm / in-app browser — intentional sleep-audio trade-off; do not screentime-exempt Spotify if concerned.
TOTP secret extraction — requires root or physical access to a paired device; re-pair if compromised.
Implementation references
Component
Location
Bypass package lists + settings escape detection
android-agent/.../enforcement/BypassHardening.kt
Suspension, user restrictions, lockout
android-agent/.../enforcement/EnforcementController.kt
PiP / concurrent session billing
android-agent/.../monitor/UsageMonitorService.kt
Preset bypass app blocks
server/src/policy/android_bypass.py
Preset device-policy bundles
server/src/policy/policy_preset_matrix.json
Hardening checklist
For medium or high bypass risk, applying a policy preset enables the full stack automatically.
For low bypass risk or custom profiles, configure under Device detail → Android device policy :
developerSettings: DEVELOPER_SETTINGS_DISABLED
installAppsDisabled: on
factoryResetDisabled: on
modifyAccountsDisabled: on
usbDataAccess: DISALLOW_USB_DATA_TRANSFER
Also block Island, Shelter, Test DPC, Tasker, and Samsung Internet in app policies; enable VPN/proxy domain packs; wire alerts & webhooks .
Maintaining this page
When new bypass techniques are reported:
Add a row with a neutral technique name — not a step-by-step reproduction.
Validate against BypassHardening.kt, the preset matrix, and current enforcement code.
Update the summary scorecard.