1. Display over other apps (SYSTEM_ALERT_WINDOW)
What it does
Allows Kaizen Timer to draw the lock-screen overlay on top of every other app. This is the technical foundation of “no bypass” — even if your child opens YouTube during the lock, the overlay sits on top of it.
Why we need it
Without this permission, “time's up” becomes an easily-dismissed notification. With it, the lock is a full-screen modal your child can't swipe away.
Is it intrusive?
No — we only draw the overlay when the timer expires and until the PIN is entered. We don't have a persistent overlay; we don't read anything on the screen; we don't interfere with any other app during normal use.
2. Post notifications (POST_NOTIFICATIONS)
What it does
Lets Kaizen Timer show a persistent notification while the timer is running — so you can see the remaining time without opening the app.
Why we need it
Android 13+ requires explicit permission to post notifications. Without it, the timer still runs (the foreground service keeps it alive) but the notification is invisible.
Other permissions (declared but not sensitive)
- WAKE_LOCK — keeps the device awake while the timer ticks. Standard for any countdown app. No prompt needed.
- FOREGROUND_SERVICE — runs the timer as a foreground service so it survives app-kill. No prompt needed.
- USE_BIOMETRIC — only if you enable biometric unlock. Prompts when you tap the biometric setting.
- RECEIVE_BOOT_COMPLETED — lets the app restore a running timer across device reboots. No prompt.
- POST_NOTIFICATIONS — already covered above.
What we DON'T ask for
We explicitly do not request:
- Internet access beyond license verification (no analytics, no crash reporting, no ads)
- Location
- Contacts, calendar, SMS, call logs
- Camera, microphone
- Device admin rights
- Accessibility service
Changing permissions later
Android Settings → Apps → Kaizen Timer → Permissions. Revoke anything you want; the app will prompt again next time a feature needs it.