Kill-switch. Full factory reset.
A small Android app. Safe PIN for settings. Duress PIN that looks the same — then wipes the whole phone when Device Owner is armed. No chat. No Tor. No cloud. Built by S3CT0R Z3R0.
Arm it
Dust.z3r0 is a package you keep, not an account. Verify once, enrol Device Owner on hardware you accept losing, then live with one unlock field for both PINs.
- Install the APK
Sideload Dust.z3r0 on a throwaway or dedicated Android. Not on Play Store. Keep the APK, SHA256SUMS, and signature together.
- Enrol Device Owner
Remove accounts that block ownership, enable USB debugging, install the APK, then set Device Owner over adb. Full steps under Enrolment. The app shows Armed only when ownership is real.
- Set dual PINs
Safe PIN opens settings. Duress PIN looks the same until wipe starts. Optional QS tile, USB-while-locked, and SMS triggers stay off until you arm them.
Separate product from Dark.z3r0 — no messenger stack, no shared vault. S3CT0R appears here and in About only. Device Owner enrolment is detailed under Enrolment.
In the product
Android client. Quiet chrome. Gold on void. Illustrative UI — not a live Device Owner session. Click a screen to enlarge.
Download
Android sideload APK plus matching source. Free package — no licence key, no in-app checkout.
Verify
Before you install, check the hash and the PGP signature against the published sz-01 key. Also compare the APK signing certificate to the fingerprint below. Keys are listed on Contact and PGP.
C3:75:28:BB:27:43:2F:2F:05:40:F7:87:9B:49:67:93:EA:C4:E1:DE:1E:E2:A5:7A:69:F1:B1:82:DA:30:84:97- Import
/keys/sz-01.ascand confirm the fingerprint above. - Download the APK, source zip,
SHA256SUMS, andSHA256SUMS.ascfrom the same release folder. - Check the signature:
gpg --verify SHA256SUMS.asc SHA256SUMS - Check the hash (PowerShell):
Get-FileHash .\Dust.z3r0-0.1.1.apk -Algorithm SHA256— match the line inSHA256SUMS. - Confirm the APK signer SHA-256 matches the certificate fingerprint (apksigner / keytool).
Enrolment
Full factory reset only works when Dust.z3r0 is Device Owner. Until then the UI shows Not enrolled and the duress PIN will not wipe. Prefer a factory-fresh or throwaway device for first tests — wipe is irreversible.
Before you start
- Android 8 or newer (app minimum SDK 26).
- On the phone: Settings → About phone → tap Build number seven times to unlock Developer options (wording varies by OEM).
- Developer options → enable USB debugging. Connect the phone to a computer with
adbavailable (Android SDK platform-tools). - Confirm the device is visible:
adb devices— you should see your serial asdevice(accept the RSA prompt on the phone if asked).
1. Remove accounts that block Device Owner
Android refuses set-device-owner when certain accounts or owners are already present. Clear them first.
- Settings → Accounts (or Users & accounts) → remove Google accounts and other signed-in accounts on this user.
- Remove any work profile / managed profile if one exists.
- There must be no existing device owner or device admin that already owns the device. A clean factory reset is the reliable path if enrolment keeps failing.
2. Install Dust.z3r0
Verify the APK hash against Verify first. Then install (use the release filename you downloaded):
adb install -r Dust.z3r0-0.1.1.apk- Confirm the package is present:
adb shell pm path io.s3ct0r.dustz3r0
3. Set Device Owner over adb
The component name must match the installed app exactly:
adb shell dpm set-device-owner io.s3ct0r.dustz3r0/.admin.DustDeviceAdminReceiver- Success typically prints
Success: Device owner set to package io.s3ct0r.dustz3r0(wording may vary slightly by Android version).
4. Confirm Armed in the app
- Open Dust.z3r0 on the phone.
- Complete first-run if needed: set safe PIN and duress PIN (must differ, minimum 6 characters).
- Unlock with the safe PIN.
- Settings status should read Armed — Device Owner is active and duress will factory-reset.
- If it still says Not enrolled, tap Recheck enrolment. If it stays Not enrolled, the
dpmcommand did not take — fix accounts and retry from step 1.
If enrolment fails
Not allowed to set the device owner— accounts, work profile, or an existing owner are still present. Remove them or factory-reset the phone and start again.- App shows Not enrolled after a claimed success — wrong component name, install failed, or you opened a different build than the one you enrolled.
- Wipe failed / not armed — Dust is not Device Owner; re-run
dpm set-device-ownerafter clearing blockers.
Removing Device Owner (dev only)
On many builds, Device Owner is sticky and a factory reset is the real exit. For development only:
adb shell dpm remove-active-admin io.s3ct0r.dustz3r0/.admin.DustDeviceAdminReceiver
Honest limits
- Full factory reset needs Device Owner. Without enrolment the UI stays honest: Not enrolled — duress will not wipe.
- Stock Android: Dust cannot bind to the system lock PIN. Open the app or a trigger (QS tile, USB, SMS) to wipe.
- GrapheneOS: use the OS lock-screen duress PIN for that surface. Dust remains for Device Owner wipe and triggers on stock.
- SMS wipe needs cell signal and a secret you treat like a password. Spoofing of a leaked secret is possible.
- Wipe is irreversible. No recovery. Test only on disposable hardware or an emulator you can recreate.
- iOS cannot do full-device wipe from a normal sideloaded app. Dust.z3r0 is Android-only.
Built by S3CT0R Z3R0 · s3ct0rz3r0.io