Android Permission Reference
Search 82 Android manifest permission strings with risk level, protection type, and category filters. Review and copy exact permission names for safer, cleaner AndroidManifest.xml declarations.
Search Android manifest permission strings with category, protection level, and practical risk ratings. Use this to audit AndroidManifest.xml declarations before release.
Total Indexed
82
Showing
82
High Risk
33
Dangerous
43
| Permission | Risk | Protection | Category | Description | Copy |
|---|---|---|---|---|---|
android.permission.CAMERA Camera | High | dangerous | Hardware | Allows access to camera hardware for photos and video capture. | |
android.permission.RECORD_AUDIO Microphone | High | dangerous | Hardware | Allows recording audio from microphone input. | |
android.permission.BODY_SENSORS Body Sensors | High | dangerous | Health | Allows access to body sensor data such as heart rate. | |
android.permission.BODY_SENSORS_BACKGROUND Body Sensors Background | High | dangerous | Health | Allows body sensor access while app runs in background (Android 13+). | |
android.permission.ACTIVITY_RECOGNITION Activity Recognition | Medium | dangerous | Health | Allows recognition of walking, running, cycling, and other user activities. | |
android.permission.READ_CALENDAR Read Calendar | High | dangerous | Personal Data | Allows reading calendar events and reminders. | |
android.permission.WRITE_CALENDAR Write Calendar | High | dangerous | Personal Data | Allows creating and editing calendar events. | |
android.permission.READ_CONTACTS Read Contacts | High | dangerous | Personal Data | Allows reading contacts, account names, and profile data. | |
android.permission.WRITE_CONTACTS Write Contacts | High | dangerous | Personal Data | Allows adding and modifying contact records. | |
android.permission.GET_ACCOUNTS Get Accounts | Medium | dangerous | Personal Data | Allows access to list of accounts on device (legacy behavior varies by API level). | |
android.permission.ACCESS_FINE_LOCATION Precise Location | High | dangerous | Location | Allows precise location from GPS and network providers. | |
android.permission.ACCESS_COARSE_LOCATION Approximate Location | Medium | dangerous | Location | Allows approximate location from network-based providers. | |
android.permission.ACCESS_BACKGROUND_LOCATION Background Location | High | dangerous | Location | Allows location access while app runs in background. | |
android.permission.NEARBY_WIFI_DEVICES Nearby Wi-Fi Devices | Medium | dangerous | Nearby Devices | Allows discovering and connecting to nearby Wi-Fi devices (Android 13+). | |
android.permission.BLUETOOTH_SCAN Bluetooth Scan | Medium | dangerous | Nearby Devices | Allows scanning for nearby Bluetooth devices. | |
android.permission.BLUETOOTH_CONNECT Bluetooth Connect | Medium | dangerous | Nearby Devices | Allows connecting and interacting with paired Bluetooth devices. | |
android.permission.BLUETOOTH_ADVERTISE Bluetooth Advertise | Medium | dangerous | Nearby Devices | Allows advertising app presence to nearby Bluetooth devices. | |
android.permission.UWB_RANGING UWB Ranging | Medium | dangerous | Nearby Devices | Allows Ultra Wideband ranging with nearby supported devices. | |
android.permission.READ_PHONE_STATE Read Phone State | High | dangerous | Phone | Allows reading phone status, network info, and identifiers depending on API level. | |
android.permission.READ_PHONE_NUMBERS Read Phone Numbers | High | dangerous | Phone | Allows reading phone numbers associated with SIM cards. | |
android.permission.CALL_PHONE Call Phone | High | dangerous | Phone | Allows direct phone calls without opening dialer first. | |
android.permission.ANSWER_PHONE_CALLS Answer Phone Calls | High | dangerous | Phone | Allows app to answer incoming phone calls. | |
android.permission.READ_CALL_LOG Read Call Log | High | dangerous | Phone | Allows reading call history and call metadata. | |
android.permission.WRITE_CALL_LOG Write Call Log | High | dangerous | Phone | Allows writing and modifying call history. | |
android.permission.ADD_VOICEMAIL Add Voicemail | Medium | dangerous | Phone | Allows adding voicemails into the system voicemail provider. | |
android.permission.USE_SIP Use SIP | Medium | dangerous | Phone | Allows using SIP service for internet calls. | |
android.permission.PROCESS_OUTGOING_CALLS Process Outgoing Calls | High | dangerous | Phone | Legacy permission to observe outgoing calls (deprecated in newer Android). | |
android.permission.SEND_SMS Send SMS | High | dangerous | Messages | Allows sending SMS messages and can incur carrier charges. | |
android.permission.RECEIVE_SMS Receive SMS | High | dangerous | Messages | Allows receiving SMS and reading incoming message content. | |
android.permission.READ_SMS Read SMS | High | dangerous | Messages | Allows reading SMS and MMS content stored on device. | |
android.permission.RECEIVE_WAP_PUSH Receive WAP Push | Medium | dangerous | Messages | Allows receiving WAP push messages. | |
android.permission.RECEIVE_MMS Receive MMS | Medium | dangerous | Messages | Allows receiving MMS messages. | |
android.permission.READ_EXTERNAL_STORAGE Read External Storage | High | dangerous | Storage | Allows reading shared external storage files (legacy behavior). | |
android.permission.WRITE_EXTERNAL_STORAGE Write External Storage | High | dangerous | Storage | Allows writing shared external storage files (legacy behavior). | |
android.permission.READ_MEDIA_IMAGES Read Media Images | High | dangerous | Storage | Allows reading image files from shared media collections. | |
android.permission.READ_MEDIA_VIDEO Read Media Video | High | dangerous | Storage | Allows reading video files from shared media collections. | |
android.permission.READ_MEDIA_AUDIO Read Media Audio | Medium | dangerous | Storage | Allows reading audio files from shared media collections. | |
android.permission.READ_MEDIA_VISUAL_USER_SELECTED Read User Selected Photos | Medium | dangerous | Storage | Allows reading only photos and videos selected by the user (Android 14+). | |
android.permission.MANAGE_EXTERNAL_STORAGE Manage All Files | High | special | Storage | Grants broad access to all files on shared storage (special policy-restricted access). | |
android.permission.POST_NOTIFICATIONS Post Notifications | Medium | dangerous | Notifications | Allows posting notifications to the user (Android 13+). | |
android.permission.SCHEDULE_EXACT_ALARM Schedule Exact Alarm | Medium | special | Alarms | Allows scheduling exact alarms that wake device at precise times. | |
android.permission.USE_EXACT_ALARM Use Exact Alarm | Low | normal | Alarms | Declares exact alarm use for eligible app categories on recent Android. | |
android.permission.INTERNET Internet | Low | normal | Network | Allows opening network sockets and internet access. | |
android.permission.ACCESS_NETWORK_STATE Access Network State | Low | normal | Network | Allows reading network connectivity state. | |
android.permission.ACCESS_WIFI_STATE Access Wi-Fi State | Low | normal | Network | Allows reading Wi-Fi network state and details. | |
android.permission.CHANGE_WIFI_STATE Change Wi-Fi State | Medium | normal | Network | Allows enabling, disabling, or configuring Wi-Fi related behavior. | |
android.permission.CHANGE_NETWORK_STATE Change Network State | Medium | normal | Network | Allows changing network connectivity state. | |
android.permission.NFC NFC | Low | normal | Hardware | Allows use of Near Field Communication hardware features. | |
android.permission.VIBRATE Vibrate | Low | normal | Hardware | Allows controlling vibration hardware. | |
android.permission.WAKE_LOCK Wake Lock | Low | normal | Power | Allows app to keep CPU or screen awake temporarily. | |
android.permission.RECEIVE_BOOT_COMPLETED Receive Boot Completed | Low | normal | Lifecycle | Allows app to receive BOOT_COMPLETED broadcast after device restart. | |
android.permission.FOREGROUND_SERVICE Foreground Service | Low | normal | Services | Allows starting foreground services with persistent notifications. | |
android.permission.FOREGROUND_SERVICE_CAMERA Foreground Service Camera | Medium | normal | Services | Declares foreground service type usage for camera operations. | |
android.permission.FOREGROUND_SERVICE_MICROPHONE Foreground Service Microphone | Medium | normal | Services | Declares foreground service type usage for microphone operations. | |
android.permission.FOREGROUND_SERVICE_LOCATION Foreground Service Location | Medium | normal | Services | Declares foreground service type usage for location operations. | |
android.permission.ACCESS_NOTIFICATION_POLICY Access Notification Policy | Medium | normal | Notifications | Allows requesting Do Not Disturb policy access from user settings. | |
android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Ignore Battery Optimizations | Medium | special | Power | Allows requesting exemption from battery optimization policies. | |
android.permission.REQUEST_INSTALL_PACKAGES Request Install Packages | High | special | Packages | Allows requesting install of APK packages from unknown sources. | |
android.permission.QUERY_ALL_PACKAGES Query All Packages | High | special | Packages | Allows broad visibility into installed apps (policy restricted on Play). | |
android.permission.PACKAGE_USAGE_STATS Package Usage Stats | High | special | Privacy | Allows access to app usage history after explicit user grant in settings. | |
android.permission.SYSTEM_ALERT_WINDOW System Alert Window | High | special | Privacy | Allows drawing overlays above other apps after user approval. | |
android.permission.WRITE_SETTINGS Write System Settings | High | special | System | Allows modifying system settings after special user approval. | |
android.permission.READ_LOGS Read Logs | System | signature | System | System-level access to read low-level logs; not available to regular apps. | |
android.permission.WRITE_SECURE_SETTINGS Write Secure Settings | System | signature | System | Signature-only permission to modify secure system settings. | |
android.permission.MODIFY_PHONE_STATE Modify Phone State | System | signature | Phone | Signature-only permission to control telephony state. | |
android.permission.BIND_ACCESSIBILITY_SERVICE Bind Accessibility Service | System | signature | System | Used by services implementing accessibility APIs with user enablement. | |
android.permission.BIND_NOTIFICATION_LISTENER_SERVICE Bind Notification Listener | System | signature | Notifications | Used by notification listener services with explicit user approval. | |
android.permission.BIND_VPN_SERVICE Bind VPN Service | System | signature | Network | Used by VPN service implementations with dedicated system flow. | |
android.permission.SET_ALARM Set Alarm | Low | normal | Alarms | Allows app to set alarms for user-visible reminders. | |
android.permission.SET_WALLPAPER Set Wallpaper | Low | normal | Personalization | Allows setting system wallpaper. | |
android.permission.SET_WALLPAPER_HINTS Set Wallpaper Hints | Low | normal | Personalization | Allows setting wallpaper size and related hints. | |
android.permission.USE_FULL_SCREEN_INTENT Use Full Screen Intent | Medium | normal | Notifications | Allows full-screen intents for urgent notifications (alarm/call style UX). | |
android.permission.REORDER_TASKS Reorder Tasks | Medium | normal | System UI | Allows moving tasks to foreground/background order. | |
android.permission.KILL_BACKGROUND_PROCESSES Kill Background Processes | Medium | normal | System | Allows requesting termination of background app processes. | |
android.permission.READ_SYNC_SETTINGS Read Sync Settings | Low | normal | Accounts | Allows reading sync settings for accounts. | |
android.permission.WRITE_SYNC_SETTINGS Write Sync Settings | Medium | normal | Accounts | Allows changing sync settings for accounts. | |
android.permission.AUTHENTICATE_ACCOUNTS Authenticate Accounts | System | signature | Accounts | Legacy/system account authenticator permission. | |
android.permission.MANAGE_ACCOUNTS Manage Accounts | System | signature | Accounts | Legacy/system-level account management permission. | |
android.permission.READ_PROFILE Read Profile | High | dangerous | Personal Data | Allows reading personal profile data. | |
android.permission.WRITE_PROFILE Write Profile | High | dangerous | Personal Data | Allows modifying personal profile data. | |
android.permission.READ_CELL_BROADCASTS Read Cell Broadcasts | Medium | dangerous | Messages | Allows reading cell broadcast messages. | |
android.permission.ACCEPT_HANDOVER Accept Handover | High | dangerous | Phone | Allows app to continue calls from another app during handover. |
Review note
Risk level is a practical audit helper based on data sensitivity and abuse impact, while protection level reflects Android platform behavior. Always verify app policy requirements for target API level.
Features
Fast Permission Search
Find permissions by manifest string, label, category, or description in real time.
Risk and Protection Filters
Filter by practical risk level and Android protection level for faster security review.
One-Click Copy
Copy exact permission strings directly into AndroidManifest.xml without typos.
Release Audit Friendly
Quickly review high-impact permissions before publishing app updates.
Use Cases
Pre-Release Security Checklist
Validate requested permissions before release and flag unnecessary high-risk access.
Manifest Cleanup
Audit legacy permissions after SDK upgrades and remove deprecated or unused entries.
Policy and Store Review Prep
Prepare permission rationale docs for Play Console declarations and internal reviews.
Team Onboarding
Help new Android developers understand permission impact and protection models quickly.
Third-Party SDK Auditing
Identify permissions introduced by third-party SDKs and libraries that may not be obvious from your own manifest declarations.
Enterprise and MDM Compliance
Verify that requested permissions align with enterprise device management policies before distributing apps through managed channels.
About Android Permission Reference
Why permission auditing matters
Over-requested permissions reduce user trust, trigger store review friction, and increase security risk. A focused permission audit helps you request only what your feature truly needs.
Risk vs protection level
Protection level is defined by Android (dangerous, normal, signature, special). Risk level in this tool is an implementation-focused rating to prioritize internal review and testing effort.
Protection Levels Explained
Normal permissions are granted automatically at install time, while dangerous permissions require explicit user approval at runtime. Signature and special permissions are reserved for system apps and privileged integrations, making them unsuitable for most third-party use cases.
Privacy, Security & Availability
Privacy-sensitive permissions like location, camera, and contacts are subject to stricter Play Store scrutiny and OS-level revocation. Designing around minimal permission sets improves app availability across restricted device profiles, enterprise MDM policies, and privacy-focused Android distributions.
Related Tools
JSON to YAML
Convert JSON to YAML format instantly - Free online JSON to YAML converter
XML to YAML
Convert XML to YAML format for configuration migration - Free online XML to YAML converter
CSV to YAML
Convert CSV spreadsheet data to YAML format - Free online CSV to YAML converter
TSV to YAML
Convert TSV tab-separated data to YAML format - Free online TSV to YAML converter
Frequently Asked Questions
What is an Android permission string?
An Android permission string is a manifest constant like android.permission.CAMERA that declares access to protected platform capabilities or user data.
What is the difference between dangerous and normal permissions?
Normal permissions are granted automatically, while dangerous permissions require runtime user consent because they access private or sensitive data.
What does special permission mean?
Special permissions require additional system settings approval and often stricter policy justification, such as MANAGE_EXTERNAL_STORAGE or SYSTEM_ALERT_WINDOW.
How should I use risk levels in this tool?
Use risk levels to prioritize security review and privacy checks. High risk permissions usually require stronger user messaging, tighter feature gating, and extra QA coverage.
Can I copy permission names directly into AndroidManifest.xml?
Yes. Use the copy button beside each row and paste it directly into a uses-permission manifest entry.
Does this tool require an internet connection or account?
No. The entire permission reference is bundled client-side. It works offline after the page loads and requires no account or signup.
Is this Android permission reference free to use?
Yes. It is 100% free with no account or signup required.