Privacify
2.7 · GitHub
More about this app
Privacy control center: permission scanner, sensor-usage timeline and privacy score, with Root/Shizuku advanced hardware controls.
Privacify
Privacy Control Center — monitor app permissions, track sensor usage, and secure your device.
All data stays on your device. No ads, no tracking, no analytics.
✨ Features
🛡️ Standard Mode (all devices)
| Feature | Description |
|---|---|
| Privacy Dashboard | Real-time privacy score with sensor usage timeline and app risk overview |
| Permission Scanner | Identifies apps with risky permission combinations and provides risk ratings |
| App Monitoring | Tracks microphone, camera, and location access across all installed apps |
| Permission Analytics | Usage breakdown by permission type, risk level, and historical trends |
| Quick Settings Tile | One-tap lockdown toggle from the notification shade |
| Home Screen Widget | Lockdown toggle widget with live status |
⚡ Advanced Mode (Root/Shizuku)
| Feature | Description |
|---|---|
| Hardware Kill Switches | Disable microphone and camera at the system level |
| Lockdown Mode | Instant system-wide sensor deactivation with panic button |
| AppOps Management | Fine-grained permission control per app through AppOps |
| Auto-Guard ⭐ | Automatically pauses kill switches when camera/mic are actively in use, restores after idle period |
📸 Preview
🔐 Permissions
| Permission | Reason |
|---|---|
PACKAGE_USAGE_STATS |
Detect which apps are currently active to apply privacy rules |
QUERY_ALL_PACKAGES |
List all installed apps for permission scanning |
POST_NOTIFICATIONS |
Alert you when apps access camera or microphone |
FOREGROUND_SERVICE |
Run background monitoring and automation |
FOREGROUND_SERVICE_SPECIAL_USE |
Required for ongoing sensor monitoring service |
RECEIVE_BOOT_COMPLETED |
Restart automation service after device reboot |
INTERNET |
Required by Shizuku for inter-process communication |
ACCESS_NETWORK_STATE |
Required by Shizuku for network state queries |
INTERACT_ACROSS_USERS_FULL |
Required by Shizuku for multi-user support |
WAKE_LOCK |
Keep device awake during critical operations |
REQUEST_IGNORE_BATTERY_OPTIMIZATIONS |
Allow user to exempt app from battery optimization |
📦 Download
| Source | Link |
|---|---|
| F-Droid | |
| IzzyOnDroid | |
| GitHub Releases |
🔒 Privacy
- No ads — zero advertising SDKs
- No tracking — no analytics, crash reporting, or telemetry
- No network — no HTTP client libraries;
INTERNETis only used by Shizuku for IPC - All data stays local — stored in DataStore on your device
🧱 Tech Stack
| Tech | Choice |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose + Material 3 Expressive |
| Architecture | MVVM with StateFlow |
| DI | Manual dependency injection via providers |
| Storage | DataStore Preferences |
| Root access | Shizuku API |
| Min SDK | 24 |
| Target SDK | 34 |
⭐ Star History
☕ Support
If you find Privacify useful, consider supporting development on Patreon:
Your support helps maintain the project, develop new features, and keep it free and open source.
📄 License
Copyright 2026 Robin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
See LICENSE for the full text.
How Shizuku is used
Can disable microphone, camera and location via `service call`, `settings put` and `cmd location` shell commands.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
Privacify uses Shizuku to run privileged shell commands that toggle system level sensor and location controls. All commands use fixed arguments derived from on or off toggles, not free form user input:
- Block microphone access: turning off the microphone in the dashboard, lockdown screen or widget runs
service call sensor_privacywith a microphone identifier through Shizuku, with asettings put global mic_lockfallback. - Block camera access: turning off the camera from the same controls runs
service call sensor_privacywith a camera identifier through Shizuku, with asettings put global cam_lockfallback. - Turn off location: turning off location runs a set of fixed location commands through Shizuku, including
settings put secure location_mode,content updateon the settings provider,cmd location set-location-enabled,cmd device_config putand toggles for WiFi and Bluetooth scanning. - Read sensor status: opening the hardware controls reads the current microphone, camera and location state through Shizuku with
cmd sensor_privacy get-state,settings get secure location_modeandcmd location get-location-enabledto show whether each is disabled.
Android APIs or commands used
service call sensor_privacycmd sensor_privacy get-statesettings putsettings getcontent updatecmd location set-location-enabledcmd location get-location-enabledcmd device_config putsqlite3
Changelog
What's new for version 2.7
Full Changelog: https://github.com/robinsrk/privacify/compare/v2.6...v2.7
Permissions
11 permissions requested