Toddler Touch Screen Lock
Hand your phone to a toddler playing cartoons or a family video call without accidental hang-ups, stray settings toggles, or emergency texts. Engineered with zero network permissions, an impenetrable hardware-key unlock combo, and mathematical privacy guarantees enforced by the Android OS.
System Guarantees
- 0 BNetwork Telemetry Sent
android.permission.INTERNETis omitted entirely from manifest. - 100%Touch Capture Rate
Consumes all multi-touch & edge gestures at WindowManager layer.
- 2-WayHardware Unlock Path
Volume key cadence combo or instant USB-C power failsafe.
Hardware Unlock Simulator
Test both unlock mechanisms directly in your browser. Tap the phone screen to verify touch rejection, click the side volume buttons in sequence, or plug in the simulated USB-C charging cable.
Unlock Mechanism Tester
Test how parents disengage the touch blocker when toddlers return the phone.
Press Volume Down × 3, followed by Volume Up × 3. Physical buttons intercept hardware keystrokes even when the touch panel is completely deadened.
Forgot the volume sequence? Simply plug in any standard USB-C charger. The OS fires an instantaneous
ACTION_POWER_CONNECTED hardware broadcast that safely drops the overlay without needing buttons.
Try tapping the phone screen above! A shield badge will indicate that touches are discarded while the cartoon bus continues rolling.
Zero-Trust Privacy vs. Invasive Screen Lockers
Most Android screen-lock apps on Google Play require intrusive permissions: full accessibility DOM inspection, network access to load ad SDKs, and device administrator rights. TouchGuard was engineered from day one with mathematical privacy constraints.
| Security Attribute | Typical "Free" Lock Apps | TouchGuard (Burgess Meditation LLC) |
|---|---|---|
| Internet Permission | android.permission.INTERNET (Tracks telemetry & ad impressions) | NONE. Completely omitted from AndroidManifest.xml. |
| Screen Content Reading | canRetrieveWindowContent="true" (Inspects texts & DOM) | canRetrieveWindowContent="false" (Physically blocked by OS) |
| Simulated Gestures | canPerformGestures="true" (Can simulate touches/clicks) | canPerformGestures="false" (Cannot click or tap) |
| Window Ingestion | Standard foreground floaters (often bypassable) | TYPE_ACCESSIBILITY_OVERLAY (Native OS input sink) |
| Account or Sign-in | Requires email / OAuth tracking | Zero account. 100% offline standalone operation. |
WindowManager Layer Input Sink
By utilizing Android's specialized TYPE_ACCESSIBILITY_OVERLAY window parameter,
the lock screen is rendered above normal application windows, navigation bars, and notification
shades. It consumes all touch, multitouch, and edge swipe events before they ever reach underlying
apps like YouTube or Netflix.
val params = WindowManager.LayoutParams(
MATCH_PARENT, MATCH_PARENT,
TYPE_ACCESSIBILITY_OVERLAY,
FLAG_NOT_FOCUSABLE or FLAG_LAYOUT_IN_SCREEN,
PixelFormat.TRANSLUCENT
) Declarative OS-Enforced Blindness
Android's accessibility framework requires declaring service capabilities in XML.
By explicitly binding canRetrieveWindowContent="false", the Android OS kernel
refuses to give the service access to screen text, banking inputs, or video calls.
<accessibility-service
xmlns:android="..."
android:accessibilityEventTypes="typeAllMask"
android:canRetrieveWindowContent="false"
android:canPerformGestures="false"
android:accessibilityFlags="flagDefault" /> Hardware Broadcast Failsafe
To prevent accidental device lockouts if volume keys are jammed or a parent forgets the sequence,
a registered BroadcastReceiver listens directly for ACTION_POWER_CONNECTED.
Connecting a charging cable immediately drops the overlay and restores normal operation.
override fun onReceive(context: Context, intent: Intent) {
if (intent.action == Intent.ACTION_POWER_CONNECTED) {
unlockAccessibilityOverlay()
}
}