Required for app blocking and schedules.
Spare Android phone only
Prove each control. Leave no test data behind.
Run this checklist after checksum-pinned QR enrollment. Test only the optional features you intend to evaluate, keep every control visible on the phone, and use harmless synthetic content.
Status and counts only.
Apps restore and disposable data is deleted.
Optional technical preflight
Check the physical phone without changing it.
After QR enrollment, connect the factory-reset spare phone to a computer with Android Platform Tools and USB debugging. This read-only physical-phone preflight verifies the exact ChildPhone release, Device Owner, launcher, APK checksum, signing certificate, and optional permission states.
Download the 0.18.6 physical-phone preflightsh childphone-managed-0.18.6-physical-preflight.sh ANDROID_SERIALIt does not grant permissions, change settings, or read app data, coordinates, notifications, messages, phrases, pairing secrets, tokens, accounts, or personal files. A PASS does not replace the manual feature, recovery, and factory-reset checks below.
Before enabling ChildPhone Home, prefix the command with CHILDPHONE_EXPECT_HOME_STATE=android. After syncing a suggested or locked Home policy, use CHILDPHONE_EXPECT_HOME_STATE=childphone. Both checks are read-only.
No-phone network check
Verify the QR download before retrying.
Run this read-only check from a computer to confirm that the public enrollment JSON, HTTPS APK download, URL-safe checksum, package identity, and Managed version all agree. It does not require USB debugging and does not change the phone.
Download the enrollment-endpoint preflightsh childphone-managed-0.18.6-enrollment-preflight-v2.shA PASS confirms the endpoint. If the phone still shows a generic setup error afterward, factory-reset it again and record the model and Android/ColorOS version.
Physical enrollment is still the external checkpoint.
Automated checks validate the APK, enrollment payload, privacy boundaries, and website. A current Android 16 stable-release smoke passed the exact signed 0.18.6 APK, Device Owner, child-visible launcher, process restart, reboot persistence, and a bounded no-crash/ANR check. The deeper optional-feature emulator rehearsal used an earlier development build and is not stable-release proof. That older rehearsal covered app suspension and restoration, live encrypted pairing, synthetic alert decryption, visible GPS collection, encrypted GPS delivery and parent-side decryption, local GPS history deletion, controlled notification inspection with an ongoing notice, one metadata-only local safety event, encrypted parent delivery and decryption, local safety-history deletion, Notification Access revocation, and disconnect cleanup. A real factory-reset phone is still required to record manufacturer-specific QR setup behavior and repeat every chosen feature and recovery step above on physical hardware. Use the browser-local recorder to export one content-free JSON result; it is device evidence only and cannot change the platform's NO-GO pilot decision.