Package
com.android.permissioncontroller
Permission controller
Package intelligence
Observed signing, permission, version and size signals from contributing devices - descriptive of that sample, not a verdict. These come from the v2 Package Search sync, which not every device has contributed to yet, so for some packages this detail is partial or not present at all.
- Signed by the device maker's own signing key (TCL), so it is an OEM preinstall, but 2 different certificates appear across the fleet, so OEMs ship their own builds of it.
- Its largest observed manifest declares 53 permissions: 1 runtime (user-granted), 46 signature or system-level, 4 install-time and 2 vendor or uncatalogued. The signature/system share marks it as a privileged component, not an ordinary app.
- APK size ranges from 8.5 MB to 18.6 MB across the reporting device profiles, so the build differs substantially between them.
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (53)
Largest permission set observed for this package. Text is Android's own published description where one exists; platform permissions Android does not document show their granted protection level (in grey) instead; vendor or unknown constants show the name only.
| Permission | Description |
|---|---|
ACCESS_INSTANT_APPS |
Signature-level system permission, for platform-signed apps. |
ACCESS_SHARED_LIBRARIES |
Signature-level system permission, for platform-signed apps. |
ADJUST_RUNTIME_PERMISSIONS_POLICY |
Signature-level system permission, for platform-signed apps. |
APPROVE_INCIDENT_REPORTS |
Signature-level system permission, for platform-signed apps. |
CHANGE_COMPONENT_ENABLED_STATE |
Signature or privileged system permission. |
GET_APP_METADATA |
Signature-level system permission, for platform-signed apps. |
GET_APP_OPS_STATS |
Signature or privileged system permission. |
GRANT_RUNTIME_PERMISSIONS |
Signature-level system permission, for platform-signed apps. |
HIDE_NON_SYSTEM_OVERLAY_WINDOWS |
Signature-level system permission, for platform-signed apps. |
INTERACT_ACROSS_USERS_FULL |
Signature-level system permission, for platform-signed apps. |
KILL_UID |
Signature-level system permission, for platform-signed apps. |
LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK |
Signature-level system permission, for platform-signed apps. |
MANAGE_APP_HIBERNATION |
Signature-level system permission, for platform-signed apps. |
MANAGE_APP_OPS_MODES |
Signature-level system permission, for platform-signed apps. |
MANAGE_APP_OPS_RESTRICTIONS |
Signature-level system permission, for platform-signed apps. |
MANAGE_CLIPBOARD_ACCESS_NOTIFICATION |
Signature-level system permission, for platform-signed apps. |
MANAGE_ENHANCED_CONFIRMATION_STATES |
Signature-level system permission, for platform-signed apps. |
MANAGE_NOTIFICATION_LISTENERS |
Signature-level system permission, for platform-signed apps. |
MANAGE_ONE_TIME_PERMISSION_SESSIONS |
Signature-level system permission, for platform-signed apps. |
MANAGE_ROLE_HOLDERS |
Signature-level system permission, for platform-signed apps. |
MANAGE_SAFETY_CENTER |
Internal platform permission, granted only by the system. |
MANAGE_SENSOR_PRIVACY |
Internal platform permission, granted only by the system. |
MANAGE_USERS |
Signature or privileged system permission. |
MODIFY_AUDIO_ROUTING |
Signature or privileged system permission. |
NFC_PREFERRED_PAYMENT_INFO |
Allows the app to get preferred nfc payment service information like registered aids and route destination. |
OBSERVE_GRANT_REVOKE_PERMISSIONS |
Signature or privileged system permission. |
OBSERVE_ROLE_HOLDERS |
Signature-level system permission, for platform-signed apps. |
OBSERVE_SENSOR_PRIVACY |
Internal platform permission, granted only by the system. |
OPEN_ACCESSIBILITY_DETAILS_SETTINGS |
Signature-level system permission, for platform-signed apps. |
PACKAGE_USAGE_STATS |
Signature or privileged system permission. |
POST_NOTIFICATIONS |
Allows the app to show notifications |
QUERY_ALL_PACKAGES |
Allows an app to see all installed packages. |
READ_APP_SPECIFIC_LOCALES |
Signature-level system permission, for platform-signed apps. |
READ_DEVICE_CONFIG |
Signature-level system permission, for platform-signed apps. |
READ_PRIVILEGED_PHONE_STATE |
Signature or privileged system permission. docs ↗ |
READ_SAFETY_CENTER_STATUS |
Signature or privileged system permission. |
READ_SYSTEM_GRAMMATICAL_GENDER |
Signature or privileged system permission. |
RECEIVE_BOOT_COMPLETED |
Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running. |
REQUEST_DELETE_PACKAGES |
Allows an application to request deletion of packages. |
REQUEST_INCIDENT_REPORT_APPROVAL |
Signature or privileged system permission. |
REVOKE_RUNTIME_PERMISSIONS |
Signature-level system permission, for platform-signed apps. |
SEND_SAFETY_CENTER_UPDATE |
Internal platform permission, granted only by the system. |
SET_PREFERRED_APPLICATIONS |
Signature-level system permission, for platform-signed apps. |
SET_UNRESTRICTED_KEEP_CLEAR_AREAS |
Signature or privileged system permission. |
START_TASKS_FROM_RECENTS |
Signature or privileged system permission. |
START_VIEW_PERMISSION_USAGE |
Allows the holder to start the permission usage for an app. Should never be needed for normal apps. |
SUBSTITUTE_NOTIFICATION_APP_NAME |
Signature or privileged system permission. |
SYSTEM_APPLICATION_OVERLAY |
Signature-level system permission, for platform-signed apps. |
UPDATE_APP_OPS_STATS |
Signature or privileged system permission. |
WHITELIST_RESTRICTED_PERMISSIONS |
Signature-level system permission, for platform-signed apps. |
WRITE_SECURE_SETTINGS |
Signature or privileged system permission. |
com.android.permissioncontroller.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
- |
com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER |
- |
Manage on devices
ADB commands for this package (the inverse of each is included so you can undo). Run from an authorised shell or wire the equivalent into your DPC. Verify on a test device first - this database doesn’t yet classify which packages are safe to change. --user 0 targets the current user; drop it (and use a privileged shell) to act device-wide.
Seen on
Each record is a device profile (make + model + Android version). Each unique handset that syncs against a matching profile will increase the observations of a package, thereby increasing confidence that a package is expected to be on a device.
| OEM | Model | Android | Provenance | Observations | Last seen |
|---|---|---|---|---|---|
| OnePlus | OnePlus8Pro | Android 11 | OEM OnePlus | 24 | 28 Apr 2026 |
| TCL | 9566X | Android 15 | OEM TCL | 1 | 13 Mar 2026 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| Permission controller | en-us | 6 |
| Permission controller | en-be | 4 |
| Permission controller | en-gb | 2 |
| Permission controller | en-jm | 2 |
| Permission controller | en-ng | 2 |
| Permission controller | 2 | |
| Permission controller | en | 2 |
| Permission controller | en-sg | 2 |
| Permission controller | en-ph | 1 |
| Permission controller | en-za | 1 |
| Permission controller | en-tt | 1 |
| Permission controller | en-au | 1 |
| Permission controller | en-nz | 1 |