IzzyOnDroid Twitter

Support this site:
Flattr this!
<B>Das Inoffizielle Android-Handbuch</B><BR>Android kennenlernen, Tipps & TricksDas Inoffizielle Android-Handbuch
Android kennenlernen, Tipps & Tricks
Buy at Amazon for EUR 30,00
<B>Das Inoffizielle Android Systemhandbuch</B><BR>Tiefer ins System einsteigenDas Inoffizielle Android Systemhandbuch
Tiefer ins System einsteigen
Buy at Amazon for EUR 25,00
<B>Die besten Android-Apps</B><BR>Den Androiden austattenDie besten Android-Apps
Den Androiden austatten
Buy at Amazon for EUR 10,00

Permissions

Usually you see only a short description of the permission (e.g. when you install an app). The permissions technical name is rarely visible to the user. Unless he casts a glance at the Manifest, where they are stated in plain-text.

An mostly up-to-date (but far from being complete) overview can be found in the Developers Manual. There's also a Community Wiki on this topic at Stack Exchange – where you can participate, and which also holds some more details. Another good overview with additional hints can be found at AndroidForums.com. If you don't mind German, you might also wish to take a look at MaTT's article at Go2Android.

Permission Groups

First, permissions are organized in "permission groups". When installing an app, you see those as captions to the permissions. An up-to-date listing again can be found in the API Reference. Below is an extract with some explanations added. But the relevant stuff to pay the real attention to is found with the permissions themselves.

Name Designation Description
ACCESSIBILITY_FEATURES Accessibility Used for permissions that allow requesting certain accessibility features.
ACCOUNTS Accounts Permissions for direct access to the accounts managed by the Account Manager.
AFFECTS_BATTERY Effects on Battery Life Permissions that provide direct access to the hardware on the device that has an effect on battery life. This includes vibrator, flashlight, etc.
APP_INFO App Information Permissions that are related to the other applications installed on the system. Examples include such as listing running apps, or killing background processes.
AUDIO_SETTINGS Audio Settings Permissions that provide direct access to speaker settings the device.
BLUETOOTH_NETWORK Bluetooth Permissions that provide access to other devices through Bluetooth.
BOOKMARKS Bookmarks Permissions that provide access to the user bookmarks and browser history.
CALENDAR Calendar Permissions that provide access to the device calendar to create / view events.
CAMERA Camera Permissions that are associated with accessing camera or capturing images/video from the device. Includes Barcode Readers and more.
COST_MONEY Cause costs Permissions that can be used to make the user spend money without their direct involvement – e.g. by sending SMS or initiating calls.
DEVELOPMENT_TOOLS Development Tools Group of permissions that are related to development features. These are not permissions that should appear in third-party applications; they protect APIs that are intended only to be used for development purposes. An example shows they might enable access to features not explicitly requested by the app.
DEVICE_ALARMS Device Alarms Set alarms and timers to wake up the system, e.g. to schedule tasks
DISPLAY Display Permissions that allow manipulation of how another application displays UI to the user.
HARDWARE_CONTROLS Hardware Controls Permissions that provide direct access to the hardware on the device. This includes audio, the camera, vibrator, etc.
LOCATION Location Permissions that allow access to the user's current location.
MESSAGES Messages Permissions that allow an application to send messages on behalf of the user or intercept messages being received by the user. This is primarily intended for SMS/MMS messaging, such as receiving or reading an MMS.
MICROPHONE Microphone Permissions that are associated with accessing microphone audio from the device. Note that phone calls also capture audio but are in a separate (more visible) permission group.
NETWORK Network Permissions that provide access to networking services. The main permission here is internet access, but this is also an appropriate group for accessing or modifying any network configuration or other related network operations.
PERSONAL_INFO Personal Information Permissions that provide access to information about the device user such as profile information. This includes both reading and writing of this data (which should generally be expressed as two distinct permissions).
PHONE_CALLS Phone Calls Permissions that are associated with accessing and modifying telephony state: placing calls, intercepting outgoing calls, reading and modifying the phone state.
SCREENLOCK Screenlock Permissions that are related to the screenlock.
SOCIAL_INFO Social Information Permissions that provide access to the user's social connections, such as contacts, call logs, social stream, etc. This includes both reading and writing of this data (which should generally be expressed as two distinct permissions).
STATUS_BAR Status bar Permissions that change the status bar.
STORAGE Storage Permissions that are related to SD card access.
SYNC_SETTINGS Sync settings Permissions that access the sync settings or sync related information.
SYSTEM_CLOCK System clock Permissions that are related to system clock.
SYSTEM_TOOLS System Tools Permissions that are related to system APIs. Many of these are not permissions the user will be expected to understand, and such permissions should generally be marked as "normal" protection level so they don't get displayed. This can also, however, be used for miscellaneous features that provide access to the operating system, such as writing the global system settings.
USER_DICTIONARY User Dictionary (Reading?) Access to user dictionaries. Keyboard apps use this e.g. for auto-correction.
VOICEMAIL Voice Mailbox Permissions that provide access to the user voicemail box.
WALLPAPER Wallpaper Assign/configure wallpapers and background images.
WRITE_USER_DICTIONARY Write User Dictionaries Write access to user dictionaries. Keyboard apps need this to add new terms.

Protection Level

Another classification is done with protection levels (see Developers Reference: Permission Element). Five levels regulate how permissions are dealt with (the "tokens" are for reference in the real permission table below):

Level Abbrev. Description
normal no Low risk or "Standard". These permissions are not presented to the user on app-install, but tacitly accepted.
dangerous da Higher risk: access to personal data, or device-control with potential negativ impact to the user. These permissions have to be explicitly approved by the user on app-install.
signature si The app must be signed with the same certificate as the ROM itself. Usually this means: app and ROM come from the same development team/company. In most cases, these apps already come pre-installed.
signatureOrSystem sy Like "signature"; but it also can be a "normal system-app". As such can only be installed with root powers, it's rather of low interest to "normal users".
development dv The ROM must be signed with a development key. These permissions are only intended for developers, and seem to be meant as "developmentOrSignatureOrSystem".

Permissions

Again a short extract of the relevant candidates. In below table, "Lv" stands for the protection level, "Risk" (if filled) for the possible risks involved with the given permission:

But the risk has to be seen in connection with the protection level: installing an app with a "critical" permission of a protection level "signature" or "system", that permission has close to no effect on the "normal" user with a "stock device" (no root) (as that permission will not be granted to a "user app"). Still, some care needs to be taken, as the mapping from permission to protection level might change between Android versions (like READ_LOGS went from "dangerous" to "system" with Android 4.1). Source for the "risk classes" was the already mentioned artikle at AndroidForums.Com, most protection levels can be found in this Blog article.

Name Designation Group Lv Risk Description
ACCESS_CHECKIN_PROPERTIES Access check-in properties Location sy Allows read/write access to the "properties" table in the (Unix security) checkin database, to change values that get uploaded.
ACCESS_COARSE_LOCATION Approximate location (network-based) Location da Allows an app to access approximate location derived from network location sources such as cell towers and Wi-Fi.
This permission is usually used by applications that display location based ads by publishers like Admob (Google).
ACCESS_DRM Access DRM content Allows application to access DRM-protected content.
ACCESS_FINE_LOCATION Precise location (GPS and network-based) Location da Allows an app to access precise location from location sources such as GPS, cell towers, and Wi-Fi.
This permission can be used by applications that display location based ads by publishers like Admob (Google). It is also used by applications that want your exact location. Examples would be Navigation applications, "Check-In" apps like 4square.
ACCESS_LOCATION_EXTRA_COMMANDS Access extra location provider commands Location no 2-3 A good example for poor documentation, as even books on Android application development state: The Android documentation doesn’t tell us which location commands are “extra,” so we’ll ask for all of them.
ACCESS_MOCK_LOCATION Mock location sources for testing Location da 2 Allows an application to create mock location providers for testing, and is intended for development use in e.g. the Android Emulator (to save the dev from having to run around to check if positions are displayed correctly). Cases where this is needed in an app ready for endusers should be rare.
Requires "Allow mock locations" to be enabled in developer options.
ACCESS_NETWORK_STATE View network connections Network no Allows applications to access information about networks, including if a network is available (or just connecting), what type of network the device is connected to, if any (WiFi, 3G, LTE), if it's in Roaming, and also reasons for a failed connection attempt (if any).
Good use: The application may check the state of your connection before trying to access the internet, and e.g. restrict itself to WiFi for some actions.
Bad use: Only in combination with other permissions (e.g. data collection for profiling).
ACCESS_SUPERUSER Use root privileges System Tools da An app with this permission obviously wants to use "root powers". This permission requested or not, no app automatically gets granted those "root powers"; but some "SuperUser apps" can be configured to ignore requests by all apps not having it. For all (other) apps, the user has to acknowledge their legitimity at least on the first request.
ACCESS_SURFACE_FLINGER Access SurfaceFlinger System Tools sy Allows an application to use SurfaceFlinger's low level features.
SurfaceFlinger is part of Android's media framework. It provides a compositor which takes care for rendering in frame buffers (so this has to do with graphics).
ACCESS_WIFI_STATE View Wi-Fi connections Network no This could be requested by any application that uses internet access. The application may check the state of your connection before trying to access the internet. It's comparable to ACCESS_NETWORK_STATE, just for WiFi.
ACCESS_WIMAX_STATE View WIMAX connections Network da Allows the app to determine whether WiMAX is enabled and information about any WiMAX networks that are connected.
ACCOUNT_MANAGER Act as the AccountManagerService Accounts sy Allows applications to call into AccountAuthenticators. Only the system can get this permission.
An account-manager is the service working behind the scenes and taking care everything works as expected.
This permission is reserved for system apps.
ACTIVITY_RECOGNITION Activity recognition Personal Information no Allows an app to receive periodic updates of your activity level from Google, for example, if you are walking, driving, cycling, or stationary. This is part of Google Play Services ActivityRecognitionClient.
According to the API reference, the app doesn't receive any coordinates this way, but rather the type of the detected activity – e.g. WALKING, RUNNING, or STILL.
ADD_VOICEMAIL Add Voicemail Voice Mailbox da 2-3 Allows the app to add messages to your voicemail inbox.
AUTHENTICATE_ACCOUNTS Create accounts and set passwords Accounts da 4 Allows an application to act as an AccountAuthenticator for the AccountManager. This is for applications that would authenticate you to their service.
An app using this permission usually provides an interface to deal with a certain account type (which is not known by the pre-installed Android system), such as Dropbox. As shipped, Android does not know how to login to Dropbox and how to deal with a Dropbox account – so the Dropbox app provides the mechanism. Additionally, an "account authenticator" might restrict the actions an app can perform with the account (so it would e.g. be possible to administrate this via some web interface offered by the service).
BACKUP Control system backup and restore sy Permits an app to manage backups of another app. This e.g. includes to tell the BackupManager that: data of that app have changed (dataChanged()), all backups of that app should be deleted (clearBackupData()), or backups for that app should be (de)activated.
BACKUP_DATA sy
badge.permission.READ Read notification badges no 1 The com.sec.android.provider.badge.* refer to the so called "Badge Provider", which is responsible for drawing numbers on your homescreen/lockscreen icons for e.g. missed calls or pending messages. Not clear to me is why an app must read these numbers; couldn't it simply tell the service to add/remove a given number to/from icon X?
For some details, please take a look at this Stack Exchange article.
Might be a permission specific to Samsung Touchwiz (with "sec" referring to the "seclauncher"); not sure whether other devices are affected by it.
badge.permission.WRITE Write notification badges no 0 Enables an app to paint numbers on icons, using the "Badge Service" described with badge.permission.READ.
BATTERY_STATS Read battery statistics System Tools sy 0 Allows an application to collect battery statistics. Battery widgets and other battery information tools use this permission.
BIND_ACCESSIBILITY_SERVICE Bind to an Accessibility Service Accessibility si Allows the holder to bind to the top-level interface of an accessibility service. Must be required by an AccessibilityService, to ensure that only the system can bind to it.
BIND_APPWIDGET Choose Widgets Personal Information sy Allows an application to tell the AppWidget service which application can access AppWidget's data. The normal user flow is that a user picks an AppWidget to go into a particular host, thereby giving that host application access to the private data from the AppWidget app. An application that has this permission should honor that contract. Very few applications should need to use this permission.
BIND_DEVICE_ADMIN Interact with device admin System Tools si Allows the holder to send intents to a device administrator. Must be required by device administration receiver, to ensure that only the system can interact with it.
BIND_INPUT_METHOD Bind to an Input Method System Tools si Allows the holder to bind to the top-level interface of an input method. Must be required by an InputMethodService, to ensure that only the system can bind to it.
BIND_NFC_SERVICE Bind NFC Service System Tools si Must be required by a HostApduService or OffHostApduService to ensure that only the system can bind to it.
BIND_NOTIFICATION_LISTENER_SERVICE Bind Notification Listener Service System Tools si Must be required by an NotificationListenerService, to ensure that only the system can bind to it.
BIND_PRINT_SERVICE Bind Print Service System Tools si Must be required by a PrintService, to ensure that only the system can bind to it.
BIND_REMOTEVIEWS Bind to a widget service System Tools sy Allows the holder to bind to the top-level interface of a widget service. Must be required by a RemoteViewsService, to ensure that only the system can bind to it.
BIND_TEXT_SERVICE Bind to a Text Service System Tools si Allows the holder to bind to the top-level interface of a text service (e.g. SpellCheckerService). Must be required by a TextService to ensure that only the system can bind to it.
BIND_VPN_SERVICE Bind to a VPN service System Tools si Allows the holder to bind to the top-level interface of a Vpn service. Must be required by a VpnService, to ensure that only the system can bind to it.
BIND_WALLPAPER Bind to wallpaper System Tools sy Allows the holder to bind to the top-level interface of wallpaper. Must be required by a WallpaperService, to ensure that only the system can bind to it.
BLUETOOTH Pair with Bluetooth devices Bluetooth da Allows applications to connect to paired bluetooth devices.
Typical applications that would need bluetooth access include: sharing applications, file transfer apps, apps that connect to headset or wireless speakers.
BLUETOOTH_ADMIN Access Bluetooth settings Bluetooth da 2 Allows applications to discover and pair bluetooth devices.
BLUETOOTH_PRIVILEGED Bluetooth Privileged Bluetooth sy Allows applications to pair bluetooth devices without user interaction. This is not available to third party applications.
BRICK Permanently disable phone System Tools si 5 Required to be able to disable the device (very dangerous!). Not available to 3rd party apps.
BROADCAST_DATA_MESSAGE Broadcast data messages to apps Network sy Can broadcast data messages received from the Internet to apps registered to listen for them. Reserved to system apps.
BROADCAST_PACKAGE_ADDED Send Package Added Broadcast System Tools si Allows an application to broadcast a notification that an application package has been added.
BROADCAST_PACKAGE_REMOVED Send package removed broadcast System Tools si Allows an application to broadcast a notification that an application package has been removed.
BROADCAST_SMS Send SMS-received broadcast Messages si Allows an application to broadcast an SMS receipt notification.
BROADCAST_STICKY Send Sticky Broadcasts System Tools no Allows an application to broadcast sticky intents. These are broadcasts whose data is held by the system after being finished, so that clients can quickly retrieve that data without having to wait for the next broadcast.
The permission has to do with how applications "talk" to each other using a communication method called Intents. While this permission is highly technical it is a relatively low importance. There are no know obvious malicious uses for this permission.
BROADCAST_WAP_PUSH Send WAP-PUSH-received broadcast Messages si Allows an application to broadcast a WAP PUSH receipt notification.
Not for use by third-party applications.
c2dm.permission.RECEIVE Receive data from Internet Network Allows apps to accept cloud to device messages sent by the app's service (GoogleCloudMessaging). Using this service will incur data usage. Malicious apps could cause excess data usage.
c2dm.permission.SEND Send data to Internet Network Allows apps to send cloud to device messages (GoogleCloudMessaging). Using this service will incur data usage.
CALL_PHONE Directly call phone numbers Phone Calls da 3 Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed.
This permission is of high importance. This could let an application call a 1-900 number and charge you money. However, this is not as common a way to cheat people in today's world as it used to be. Legitimate applications that use this include: Google Voice and Google Maps.
Another important point to note here is that any app can launch the phone screen and pre-fill a number for you. However, in order to make the call, you would need to press "Send" or "Call" yourself. The difference with this permission is that an app could make the entire process automatic and hidden.
CALL_PRIVILEGED Directly call any phone numbers Phone Calls sy Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed. For technical details, see CALL_PHONE.
CAMERA Take pictures and videos Camera da 1-3 Required to be able to access the camera device.
This permission is of moderate importance. As it states, it lets an app control the camera function on your phone. In theory this could be used maliciously to snap unsuspecting photos, but it would be unlikely and difficult to get a worthwhile picture or video. However, it is not impossible to make malicious use of cameras.
Legit uses include a.o. camera apps and barcode readers.
CAPTURE_AUDIO_OUTPUT Capture audio output sy Allows an application to capture audio output. Not for use by third-party applications.
Requested e.g. by Google Play Services.
CAPTURE_SECURE_VIDEO_OUTPUT Capture Secure Video Output sy Allows an application to capture secure video output. Not for use by third-party applications.
Requested e.g. by Google Play Services.
CAPTURE_VIDEO_OUTPUT Capture Video Output sy Allows an application to capture video output. Not for use by third-party applications.
Requested e.g. by Google Play Services.
CHANGE_BACKGROUND_DATA_SETTING Change background data usage setting Network si Allows the app to change the background data usage setting.
CHANGE_COMPONENT_ENABLED_STATE Enable or disable app components System Tools sy Allows an application to change whether an application component (other than its own) is enabled or not.
CHANGE_CONFIGURATION Change system display settings Development Tools dv 2-3 Allows an application to modify the current configuration, such as locale.
This is a permission that generally should not be granted to regular apps. Other than changing the locale (i.e. language), it is unclear what configuration changes this permission allows. As such, it should be treated with considerable caution.
CHANGE_NETWORK_STATE Change network connectivity Network da Allows applications to change network connectivity state.
CHANGE_WIFI_MULTICAST_STATE Allow Wi-Fi Multicast reception Effects on Battery Life da Allows applications to enter Wi-Fi Multicast mode. This allows to send data packages to multiple recipients simultaneously, without using additional bandwidth. Useful e.g. for streaming servers supporting multiple clients. It also enables to receive network packages not intended for the own device (sniffing).
Uses more power than non-multicast-mode.
CHANGE_WIFI_STATE Connect and disconnect from Wi-Fi Network da Allows applications to change Wi-Fi connectivity state. Think of it as CHANGE_NETWORK_STATE for WiFi.
CHANGE_WIMAX_STATE Change WiMAX state Network da Allows the app to connect the device to and disconnect the device from WiMAX networks.
CHANGE_NETWORK_STATE for WIMAX. Also can apply changes to configured WIMAX networks.
CLEAR_APP_CACHE Delete all app cache data System Tools da 0 Allows an application to clear the caches of all installed applications on the device.
This permission is of low importance. It allows an app to clear the cache of apps on the phone or tablet. The cache is a place that an app stores recently used data for faster access. Clearing the cache can sometimes (very rarely) fix bugs related to those files. Clearing these files generally presents no risk other than to slow the performance of the phone or tablet (as apps will need to re-create the caches when used).
CLEAR_APP_USER_DATA Delete other apps' data System Tools si Allows an application to clear user data. Similar to what the "Clear Data" button in Settings → Apps does for each app.
Restricted to apps signed by the manufacturer.
CONTROL_LOCATION_UPDATES Control Location Updates Location sy Allows enabling/disabling location update notifications from the radio. Not for use by normal applications.
DELETE_CACHE_FILES Delete other apps' caches System Tools sy Allows an application to delete cache files. Not for use by third-party applications.
DELETE_PACKAGES Delete apps System Tools sy Allows an application to delete packages. Not for use by third-party applications.
DEVICE_POWER Device Power Management System Tools si Allows low-level access to power management. Not for use by third-party applications.
DIAGNOSTIC Read/write to resources owned by diag System Tools si Allows the app to read and write to any resource owned by the diag group; for example, files in /dev.
This could potentially affect system stability and security. This should be ONLY be used for hardware-specific diagnostics by the manufacturer or operator. It's not intended for use by third-party applications.
DISABLE_KEYGUARD Disable your screen lock Screenlock da 2-3 Allows applications to disable the keyguard.
This permission is of medium-high importance. It allows an app to disable the "lock screen" that most phones go into after going to sleep and been turned on again. This lockscreen can sometimes be a password screen, or a PIN screen, or just a "slide to unlock" screen.
DOWNLOAD_WITHOUT_NOTIFICATION Download files without notification Network no Allows to queue downloads without a notification shown while the download runs.
DUMP Retrieve system internal state Development Tools dv Allows an application to retrieve state dump information from system services. Not for use by third-party applications.
The information accessible with this permission is most likely comparable of that retrieved by the dumpsys command-line tool. Evil apps could theoretically use this to access private and protected data.
email.ACCESS_PROVIDER Access email provider data Messages si Allows this application to access your email database, including received messages, sent messages, usernames and passwords. Not available to third-party apps.
EXPAND_STATUS_BAR Expand/collapse status bar Status bar no 2-3 Allows an application to expand or collapse the status bar.
This appears to be a system permission – not for use by regular applications.
By collapsing the status bar, an app might have a full-screen mode; an evil app might as well use it to hide the appearance of certain status icons from the user.
FACTORY_TEST Factory Test System Tools si Run as a manufacturer test application, running as the root user. Only available when the device is running in manufacturer test mode.
FLASHLIGHT Control flashlight Effects on Battery Life no 0 Allows access to the flashlight.
This allows apps to turn on or off the LED "flash" light used by the camera. This is a handy tool but usually of no risk itself – except, maybe, for battery consumption.
FORCE_BACK Force app to close System Tools si Allows the app to force any activity that is in the foreground to close and go back.
FORCE_STOP_PACKAGES Force stop other apps System Tools si Allows the app to forcibly stop other apps. Should be reserved for system apps. Malicious apps could use this to disable security apps.
GALLERY_PROVIDER da
GET_ACCOUNTS Find accounts on the device Accounts no Allows access to the list of accounts in the Accounts Service.
Applications that require some type of authentication from accounts that are "connected" to the device. A list of the accounts are ususally displayed so you can choose the account to use with the application. To really use those credentials, the USE_CREDENTIALS permission is required.
An evil app could use this permission to spy on you (what are you using?).
GET_APP_OPS_STATS Retrieve app ops statistics System Tools Allows the app to retrieve collected application operation statistics. Not for use by normal apps.
APP_OPS is a module of the Android permission system allowing for retroactive adjustment of app permissions. It is not made officially available yet (up to Android 4.4 Kitkat).
GET_PACKAGE_SIZE Measure app storage space System Tools no 0-1 Allows an application to find out the space used by any package.
This permission does not seem to have any risk associated with it.
GET_TASKS Retrieve running apps App Information da 2-3 Allows an application to get information about the currently or recently running tasks: a thumbnail representation of the tasks, what activities are running in it, etc.
This permission is of moderate importance. It will allow an application to find out what other applications are running on your phone. While not a danger in and of itself, it would be a useful tool for someone trying to steal your data. Typical legitimate applications that require this permission include: task killers and battery history widgets. Other than that however, most apps should not need this permission.
GET_TOP_ACTIVITY_INFO Get Top Activity Info App Information si Allows an application to retrieve private information about the current top activity, such as any assist context it can provide. Not for use by third-party applications.
GLOBAL_SEARCH Global Search System Tools sy This permission can be used on content providers to allow the global search system to access their data. Typically it used when the provider has some permissions protecting it (which global search would not be expected to hold), and added as a read-only permission to the path in the provider where global search queries are performed. This permission can not be held by regular applications; it is used by applications to protect themselves from everyone else besides global search.
GLOBAL_SEARCH_CONTROL Global search control System Tools si Allows the application to control the global search. Not available to third party apps.
GOOGLE_AUTH View configured accounts Accounts no Allows apps to see the usernames (email addresses) of the Google account(s) you have configured.
GOOGLE_AUTH.mail Google mail Accounts da Allows apps to sign in to Google mail services using the account(s) stored on this Android device.
GOOGLE_AUTH.wise Google Spreadsheets Accounts da Allows apps to sign in to Google Spreadsheets using the account(s) stored on this Android device.
GOOGLE_AUTH.writely Google Docs Accounts da Allows apps to sign in to Google Docs using the account(s) stored on this Android device.
GTALK_SERVICE Messages no
HARDWARE_TEST Test Hardware Hardware Controls si Allows access to hardware peripherals. Intended only for hardware testing.
INJECT_EVENTS Press keys and control buttons System Tools sy Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window. Without this permission, you can only deliver events to windows in your own process. Very few applications should need to use this permission. Malicious apps may use this to take over the device.
INSTALL_DRM Install DRM System Tools 1-3 DRM stands for Digital Rights Management, sometimes also called "Digital Restriction Management". It is used to control (and restrict) access to media – e.g. by Google Books, Google Movies, or Amazon‘s Kindle.
INSTALL_LOCATION_PROVIDER Install Location Provider Location sy Create mock location sources for testing or install a new location provider into the Location Manager. This allows the app to override the location and/or status returned by other location sources such as GPS or location providers. Reserved to system apps.
INSTALL_PACKAGES Directly install apps System Tools sy Allows the app to install new or updated Android packages. Malicious apps may use this to add new apps with arbitrarily powerful permissions. Not for use by third-party applications.
INSTALL_SHORTCUT Install Shortcuts da 1-3 Allows an application to install a shortcut in Launcher (Homescreen).
This is a custom permission for the default Android Laucher (the home screen). It would allow an app to put an icon or shortcut there. While not dangerous, this can sometimes be a sign of a potentially malicious or adware app, which could e.g. create a shortcut that looks like Google Play, but of course launches something completely different.
INTERACT_ACROSS_USERS Interact Across Users System Tools sy Allows an application to call APIs that allow it to do interactions across the users on the device, using singleton services and user-targeted broadcasts. This permission is not available to third party applications.
INTERACT_ACROSS_USERS_FULL Full license to interact across users System Tools si Fuller form of INTERACT_ACROSS_USERS that removes restrictions on where broadcasts can be sent and allows other types of interactions.
INTERNAL_SYSTEM_WINDOW Internal System Window System Tools si Allows an application to open windows that are for use by parts of the system user interface. Not for use by third party apps.
INTERNET Full network access Network da Allows applications to open network sockets. Any application that accesses the internet for any reason will have to request this permission.
This is of course required to loads ads (which is why most apps request this), but can also be used to spy on personal data. Special caution is advised when this permission is requested at the same time as others which access personal data.
k9.permission.DELETE_MESSAGES Delete messages from K-9 Mail Messages 3 Enables an app to delete mails stored in K-9 Mail.
k9.permission.READ_ATTACHMENT Read K-9 Mail attachments Messages 2-3 This is a custom permission for the K-9 Mail app. See also READ_ATTACHMENT.
k9.permission.READ_MESSAGES Read mails stored in K-9 Mail Messages 2-3 Enables an app to read mails stored with the K-9 Mail app. Be aware mails can contain sensible personal information!
KILL_BACKGROUND_PROCESSES Close other apps System Tools no 3 Allows an application to call killBackgroundProcesses(String).
This permission is a bit of a tricky one. Often this is used by what are called "task killers". Conversely this permission has some potential to maliciously close anti-virus or other security related apps. This should be treat caution. Few users should ever need an app with this permission. Rather, it could be an indicator of malicious intent (especially if not requested by a task killer or system performance tuning app).
LOCATION_HARDWARE Access Location hardware sy Allows an application to use location features in hardware, such as the geofencing api. Not for use by third-party applications.
MANAGE_ACCOUNTS Add or remove accounts Accounts da Allows an application to manage the list of accounts in the AccountManager.
This permission allows an application to add/remove accounts in the account manager. Like when you log in to facebook, it adds your account to the Account Manager accounts. For further details, see e.g. this Stack Exchange post, and also the AccountManager Documentation on the Android Developers site.
MANAGE_APP_TOKENS Manage App Tokens Accounts si Allows an application to manage (create, destroy, Z-order) application tokens in the window manager. This is only for use by the system.
MANAGE_DOCUMENTS Manage Documents Storage sy Allows an application to manage access to documents, usually as part of a document picker.
MANAGE_MTP Manage MTP Hardware Controls sy Allows an application to access the MTP USB kernel driver. For use only by the device side MTP implementation.
MANAGE_USB Manage preferences and permissions for USB devices Hardware Controls sy Allows an application to manage preferences and permissions for USB devices. Restricted to system apps.
MASTER_CLEAR Master Clear sy Allows an app to perform a "master clear" (i.e. factory reset) of the device. Restricted to system apps. Restricted to system apps.
MEDIA_CONTENT_CONTROL Media Content Control sy Allows an application to know what content is playing and control its playback. Not for use by third-party applications due to privacy of media consumption.
MODIFY_AUDIO_SETTINGS Change your audio settings Hardware Controls da 0 Allows an application to modify global audio settings.
MODIFY_PHONE_STATE Modify Phone State Phone Calls sy Modify the status of phone functionality: power, MMI codes (call forwarding, Caller ID) – not to initiate calls. But the network could be switched (to a different carrier, roaming) or the radio (de)activated, without informing the user. The permission can also be used to intercept incoming calls.
MOUNT_FORMAT_FILESYSTEMS Erase USB storage System Tools sy 2 Allows formatting file systems for removable storage.
The primary danger with this permission is that it could be used to erase data from an SD card or other similar storage in your phone. This is also not a permission any normal app should need.
MOUNT_UNMOUNT_FILESYSTEMS Access USB storage filesystem System Tools sy 1 Allows mounting and unmounting file systems for removable storage.
This permission just allows for connecting to SD cards for reading and writing. While not a risk itself, this is also not a permission any normal app should need.
MOVE_PACKAGE Move application resources System Tools sy Allows an application to move application resources from internal to external media and vice versa. In other words: App2SD.
NFC Control Near Field Communication Network da 2 Allows applications to perform I/O operations over NFC.
The distance which NFC is able to work is only a few centimeters so that devices (or a device and a tag) must effectively be touching each other to communicate. Due to the distance, this technology is not particularly dangerous. However it does present a small risk and it is something that should used with caution.
PACKAGE_USAGE_STATS Update component usage statistics System Tools si Allows the modification of collected component usage statistics. Not for use by normal applications.
Most likely refers to app statistics, e.g. how often an app was started.
PERFORM_CDMA_PROVISIONING Start CDMA phone settings sy Allow applications to launch CDMA services (a telephony functionality). Reserved to system apps.
PERSISTENT_ACTIVITY Make app always run App Information no Allow an application to make its activities persistent.
Deprecated at API level 9.
PREVENT_POWER_KEY Change behaviour of the power key Hardware Controls Allows an application to override the default behaviour for the power key.
PROCESS_OUTGOING_CALLS Reroute outgoing calls Phone Calls da 4 Allows an application to monitor, modify, or abort outgoing calls.
This permission is of high importance. This would allow an app to see what numbers are called and other personal info. Generally this permission should only be seen on apps for VOIP (Voice Over Internet Protocol) like Google Voice or dialer replacement type apps.
For incoming calls, see MODIFY_PHONE_STATE.
RAISED_THREAD_PRIORITY Raised thread priority System Tools Allows the application procedures to obtain the priority of the an elevated the thread. This might be required for e.g. real-time audio/video playback. Malicious apps could however use this to slow down the system.
READ_ATTACHMENT Read email attachments Personal Information da 3 This is a custom permission for the default Android email app (i.e. not Gmail). This permission should be treated with great caution. Many email attachments contain highly sensitive and personal or financial information.
READ_CALENDAR Read calendar events plus confidential information Personal Information da 2 Allows an application to read the user's calendar data.
This permission is of moderate to high importance. While most people would consider their calendar information slightly less important than their list of contacts and friends, this permission should still be treated with care when allowing applications access. Additionally, it's good to keep in mind that calendar events can, and often do contain contact information.
READ_CALL_LOG Read Call Logs Personal Information da 2 Allows an application to read the user's call log.
Implicitly granted with READ_CONTACTS when both minimum and targeted SDK level are 15 (ICS) or lower.
READ_CONTACTS Read your contacts Personal Information da 2-3 Allows an application to read the user's contacts data.
This permission is of high importance. Unless an app explicitly states a specific feature that it would use your contact list for, there isn't much of a reason to give an application this permission. Legitimate exceptions include typing or note taking applications, quick-dial type applications and possibly social networking apps. Some might require your contact information to help make suggestions to you as you type. Typical applications that require this permission include: social networking apps, typing/note taking apps, SMS replacement apps, contact management apps.
To see what‘s all accessible with this permission, take a look at the app permission.READ_CONTACTS.
READ_CONTENT_PROVIDER Access mail information Messages da
READ_EXTERNAL_STORAGE Test access to protected storage Storage no 0 Allows an application to read from external storage. This permission was granted to all apps by default up to Android 4.3. This changed with Android 4.4 (API level 19), which now requires that applications explicitly request read access using this permission. If an application already requests write access, it will automatically get read access as well.
READ_FRAME_BUFFER Read Frame Buffer System Tools sy Allows an application to take screen shots and more generally get access to the frame buffer data.
READ_GMAIL Read Gmail Messages da
READ_GSERVICES Read Google service configuration Accounts Allows an app to read the Google services map. Not for use by normal apps.
READ_HISTORY_BOOKMARKS Read your Web bookmarks and history Personal Information da 2-3 Allows an application to read (but not write) the user's browsing history and bookmarks.
Browsing habits are often tracked through regular computers, but with this permission you‘d be giving access to more than just browsing habits. There are also legitimate uses for this permission such as apps that sync or backup your data, and possibly certain social apps. If you want to see what details are accessible with this permission, take a look at the READ_HISTORY_BOOKMARKS App.
READ_INPUT_STATE Record what you type and actions that you take System Tools sy Allows an application to retrieve the current state of keys and switches, including to watch the keys that you press even when interacting with another app (such as typing a password). This is only for use by the system.
READ_LOGS Read sensitive log data Development Tools dv 4 Allows an application to read the low-level system log files.
This allows the application to read what any other applications have logged, which might contain sensitive (and even personal) data.
READ_MEDIA_STORAGE Storage
READ_OWNER_DATA Read owner data Personal Information da Read access to owner data saved on the device.
READ_PHONE_STATE Read phone status and identity Phone Calls da Allows read only access to phone state.
This permission gives access to your device's identifiers (IMEI/IMSI, SIM ID, voice mailbox number, your phone number and, if a call is in progress, the remote number. It‘s not necessarily required for things like call state (whether a call is in progress/pending), network operator, or the network provider used – according to the app permission.READ_PHONE_STATE, which shows what this permission is needed for (and what not).
This permission is automatically granted to apps targeted at Android 1.6 or before.
READ_PROFILE Read your own contact card Personal Information da 2-3 Allows an application to read the user's personal profile data.
This is a new permission that relates to a special new "Me" contact you can create in your phone or tablet as your own profile. Messenger apps might want to pick the profile picture from here.
READ_SECURE_SETTINGS Read Secure Settings Hardware Controls Allows an application to read the secure system settings.
READ_SETTINGS Read Home settings and shortcuts System Tools no Allows the app to read the settings and shortcuts in Home. See also WRITE_SETTINGS.
READ_SMS Read your text messages (SMS or MMS) Messages da 1-3 Allows an application to read SMS messages.
This permission is mostly a privacy concern. Any app that can read your SMS messages could gather a lot of information about you. However there are quite a few legitimate reasons an app may request this. Some apps are simply "SMS replacment" apps (such as Handcent) and would naturally need this permission to function. Other apps sometimes use this as a way of sending a special code to you device. This can be used by a paid app by sending a code to unlock the full version of an app. Or, this can be used by security apps to listen for a special shutdown codes in case your phone is stolen.
Check the app permission.READ_SMS to see what information can be obtained with this permission.
READ_SOCIAL_STREAM Read your social stream Social Information da 3 Allows an application to read from the user's social stream.
This is a new permission introduced with Android 4.0 (Ice Cream Sandwhich). It would allow an app to read updates from social networking apps like Google+, Twitter, and Facebook. By granting this permission you are giving an app the ability to read not only your information, but any updates posted by people in your social circles.
READ_SYNC_SETTINGS Read sync settings Sync settings no 0-1 Allows applications to read the sync settings.
This permission mostly allows the application to know if you have background data sync (such as for Facebook or Gmail) turned on or off. Might be a indicator that the app wants to adjust its behavior accordingly and respect your wishes concerning when to sync and when not.
READ_SYNC_STATS Read sync statistics Sync settings no 1 Allows applications to read the sync stats for an account, including the history of sync events and how much data is synced.
This permission is related to READ_SYNC_SETTINGS but not particularly dangerous itself. There is a minor risk that some personal information could be gleaned from the sync stats, but the information is unlikely to be valuble. Sync in this case relates to syncing of contacts and other types of media on the phone.
READ_USER_DICTIONARY Read terms you added to the dictionary User Dictionary da 0 Allows an application to read the user dictionary. This should really only be required by an IME, or a dictionary editor like the Settings app.
This would allow an app to read words added to your custom dictionary. Oftentimes this is abbreviations like "brb" that you might add for typing text messages. Unless you save personal information in your dictionary, this permission is of almost no risk.
REBOOT Reboot System Tools sy Required to be able to reboot the device. Not for use by third-party applications.
RECEIVE_BOOT_COMPLETED Run at startup App Information no 1-3 Allows an application to receive the [ACTION_BOOT_COMPLETED](http://developer.android.com/reference/android/content/Intent.html#ACTION_BOOT_COMPLETED) that is broadcast after the system finishes booting.
This permission will allow an application to tell Android to run the application every time you start your phone. While not a danger in and of itself, it can point to an applications intent.
Though holding this permission does not have any security implications, it can have a negative impact on the user experience by increasing the amount of time it takes the system to start and allowing applications to have themselves running without the user being aware of them. As such, the use of this facility should be explicitly declared to make that visible to the user.
RECEIVE_EMERGENCY_BROADCAST Receive Emergency Broadcast Messages sy Allows an application to receive emergency cell broadcast messages, to record or display them to the user. Reserved for system apps.
RECEIVE_MMS Receive text messages (MMS) Messages da 3 Allows an application to monitor incoming MMS messages, to record or perform processing on them.
This permission is mostly a privacy concern. Any app that can read your MMS messages could gather a lot of information about you. However there are quite a few legitimate reasons an app may request this. Some apps are simply "SMS/MMS replacment" apps (such as Handcent) and would naturally need this permission to function.
See also RECEIVE_SMS.
RECEIVE_SMS Receive text messages (SMS) Messages da 3 Allows an application to monitor incoming SMS messages, to record or perform processing on them.
This permission is mostly a privacy concern. Any app that can read your SMS messages could gather a lot of information about you. However there are quite a few legitimate reasons an app may request this. Some apps are simply "SMS replacment" apps (such as Handcent) and would naturally need this permission to function. Other apps sometimes use this as a way of sending a special code to you device. This can be used by a paid app by sending a code to unlock the full version of an app. Or, this can be used by security apps to listen for a special shutdown codes in case your phone is stolen.
More details on this permission can be found a.o. in this post on StackExchange.
RECEIVE_WAP_PUSH Receive text messages (WAP) Messages da Allows an application to monitor incoming WAP push messages.
Sending and receiving MMS is based on WAP. The information that there‘s a MMS message available for download, is sent as WAP Push to the device.
RECORD_AUDIO Record audio Microphone da 1-3 Allows an application to record audio.
While this permission is not typically dangerous, it is a potential tool for eavesdropping. However recording audio has legitimate uses such as note taking apps or voice search apps. As a side note recording audio is typically a significant drain on the battery.
REORDER_TASKS Reorder running apps System Tools no Allows an application to change the Z-order of tasks. Malware could use this to push some ads o.a. into foreground to be displayed to the user.
RESTART_PACKAGES Restart other applications System Tools no 3 Restart other apps. This permission is deprecated, and should no longer be used. It will allow an application to tell Android to 'kill' the process of another application. However, any app that is killed will likely get restarted by the Android OS itself.
SEND_RESPOND_VIA_MESSAGE Send respond-via-message events Messages sy Allows an application (Phone) to send a request to other applications to handle the respond-via-message action during incoming calls. Not for use by third-party applications.
This most likely refers to the possibility to reject incoming calls with an SMS.
SEND_SMS Send SMS messages Messages da 3 Allows an application to send SMS messages.
This could let an application send an SMS on your behalf, and much like the phone call permission, it could cost you money by sending SMS to for-pay numbers. Certain SMS numbers work much like 1-900 numbers and automatically charge your phone company money when you send them an SMS.
SEND_SMS_NO_CONFIRMATION Send SMS with no confirmation Messages sy Allows an application to send SMS messages via the Messaging app with no user input or confirmation (which can get quite expensive in case of a malicious app).
Related to SEND_SMS, but restricted to system apps.
SET_ACTIVITY_WATCHER Monitor and control all app launching System Tools sy Allows an application to watch and control how activities are started globally in the system. Malicious apps may completely compromise the system.
Normally used for debugging purposes only. Should not be requested by third-party apps.
SET_ALARM Set an alarm Device Alarms no 0 Allows an application to broadcast an Intent to set an alarm for the user.
This permission seems to be of low risk because it doesnt allow the setting of the alarm directly. Rather it allows the opening of the alarm app on the phone.
SET_ALWAYS_FINISH Force background apps to close Development Tools da Allows an application to control whether activities are immediately finished when put in the background.
SET_ANIMATION_SCALE Modify global animation speed System Tools dv Modify the global animation scaling factor (faster or slower animations). Not for use by third-party applications.
SET_DEBUG_APP Enable app debugging Development Tools dv Configure an application for debugging. Not for use by third-party applications.
Gives an app the opportunity to enable debugging for other apps. Malicious code could thus delete other apps.
SET_ORIENTATION Change screen orientation System Tools sy Allows low-level access to setting the orientation (actually rotation) of the screen. Not for use by normal applications.
SET_POINTER_SPEED Change pointer speed System Tools sy Allows the app to change the mouse or touch pad pointer speed at any time. Not for use by normal applications.
SET_PREFERRED_APPLICATIONS Set preferred Apps System Tools da Assign default apps. No longer useful. Deprecated with API level 7, it no longer has any effect.
SET_PROCESS_LIMIT Limit number of running processes Development Tools dv Allows an application to set the maximum number of (not needed) application processes that can be running. Not for use by third-party applications.
SET_TIME Set Time System clock sy 0 Allows applications to set the system time. Not for use by third-party apps.
SET_TIME_ZONE Set time zone System clock da 0 Allows applications to set the system time zone. Should pose no risk (except you maybe late to work).
SET_WALLPAPER Set Wallpaper Wallpaper no 0 Allows applications to set the wallpaper. Low risk, if any (except for shocking background images, maybe).
SET_WALLPAPER_COMPONENT System Tools sy
SET_WALLPAPER_HINTS Adjust your wallpaper size Wallpaper no Allows applications to set the wallpaper hints.
SHUTDOWN Partial shutdown System Tools sy Allows an app to put the activity manager into the closed state; does not perform a complete shutdown. Reserved to system apps.
SIGNAL_PERSISTENT_PROCESSES Send Linux signals to apps Development Tools dv Allow an application to request that a signal be sent to all persistent processes. Not for use by third-party applications.
STATUS_BAR Enable/Disable status bar System Tools sy Allows an application to open, close, or disable the status bar and its icons. Not for use by third-party applications.
STOP_APP_SWITCHES Prevent app switches System Tools sy Prevent users from switching to another application. Reserved to system apps.
SUBSCRIBED_FEEDS_READ Read subscribed feeds System Tools no 2 Allows an application to allow access the subscribed feeds ContentProvider.
This would give an app access to RSS feed that you have subscribed to. If you dont subscribe to any RSS feeds this permission is of little risk. If you do, this permission is akin to letting an app have access to your browser history. It could glean interests and preferences and other semi-personal information.
SUBSCRIBED_FEEDS_WRITE Write subscribed feeds System Tools da 0-2 This would give an app write access to RSS feed that you have subscribed to. See also SUBSCRIBED_FEEDS_READ.
SYSTEM_ALERT_WINDOW Draw over other apps Display da 3 Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications.
This permission allows an app to show a "popup" window above all other apps, even if the app is not in the foreground. A malicious developer/advertiser could use it to show very obnoxious advertising. Almost no apps should require this permission unless they are part of the Android operating system. An example of a system alert would be the alert you are shown when your phone or tablet is out of battery and is about to shut down.
tasker.PERMISSION_RUN_TASKS Run Tasker tasks Permits an app to call pre-defined and user-created Tasker tasks, and (where applyable) pass it parameters. For details, please see the corresponding page on the project site.
TRANSMIT_IR Use IR Transmitter Effects on Battery Life no Allows using the device's IR transmitter, if available. Useful for infrared remote controls.
UNINSTALL_SHORTCUT Uninstall shortcuts Allows an application to uninstall a shortcut in Launcher (Homescreen). See INSTALL_SHORTCUT.
UPDATE_APP_OPS_STATS Update app ops statistics System Tools sy Enables an app to change collected application operation statistics. Not for use by normal apps.
Also see: GET_APP_OPS_STATS.
UPDATE_DEVICE_STATS Update device statistics System Tools sy Allows an application to update device statistics. Not for use by third party apps.
USE_CREDENTIALS Use accounts on the device Accounts da Allows an application to request authtokens from the AccountManager.
This app may use the "credentials" to log into an account. In most cases, "credentials" just means the corresponding authenticator creates a fitting token and hands that over (though, how to deal with that is left to the authenticator). When using an account for the first time, the Account Manager should make sure the user is asked whether he permits this. For details, see e.g. this Stack Exchange post.
USE_SIP Make/receive Internet calls Phone Calls da 2-3 Use SIP for internet telephony.
USES_POLICY_FORCE_LOCK Immediately lock the screen Screenlock Make the device lock immediately, as if the lock screen timeout has expired – but also limit the maximum lock timeout for the device. The "POLICY" part suggests a device manager.
vending.BILLING In-app billing Cause costs da This permission is of very high importance. This allows an application to directly bill you for services through Google Play. Users will be required to confirm any purchase made however this is potentially costly. Users should beware of games and other free apps with in-app billing.
vending.CHECK_LICENSE Google Play License check Network no 0 Needed to verify the validity of the app's license against Google services. Should only be found with payed apps, but poses no risk with others either.
VIBRATE Control vibration Effects on Battery Life no 0 Allows access to the vibrator.
As it states, this permission lets an app control the vibrate function on your phone. This includes for incoming calls and other events.
WAKE_LOCK Prevent device from sleeping Effects on Battery Life no Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming.
Useful e.g. for navigation apps, to keep device and screen on without the user needing to tap it every minute.
Of course this has strong effects on battery endurance, especially when used frequently.
WRITE_APN_SETTINGS Change/intercept network settings and traffic System Tools sy Allows an application to change network settings and to intercept and inspect all network traffic, for example to change the proxy and port of any APN. Malicious applications could monitor, redirect or modify network packets without your knowledge.
Used by apps like APNDroid to change the name of the APN in order to (temporarily) prevent the device using it. A malicious app theoretically could use it to connect you to a different carrier.
Not for use by third-party applications.
WRITE_CALENDAR Add or modify calendar events and send email to guests without owners' knowledge Personal Information da 2 Allows an application to write (but not read) the user's calendar data.
Apps using this permission can add calendar events, but not read them. So as long as the READ_CALENDAR permission is not requested along, risk should be moderate. However, a malicious app can cause a lot of confusion if you suddenly find a lot of calendar alerts in your notification bar.
WRITE_CALL_LOG Write call log Personal Information da 2-3 Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.
This permission is not much of a danger by itself, but rather could be used to hide other malicious behavoir. However it has a legitimate purpose for dialer replacements or voice over IP apps (like Google Voice).
WRITE_CONTACTS Modify your contacts Personal Information da 1-3 Allows an application to write (but not read) the user's contacts data.
Unless an app explicitly states a specific feature that it would use your contact list for, there isn't much of a reason to give an application this permission. Legitimate exceptions include typing or note taking applications, quick-dial type applications and possibly social networking apps. Some might require your contact information to help make suggestions to you as you type. Typical applications that require this permission include: social networking apps, typing/note taking apps, SMS replacement apps, contact management apps.
See also WRITE_CALENDAR.
WRITE_EXTERNAL_STORAGE Modify or delete the contents of your USB storage Storage da 2 Allows an application to write to external storage.
This will allow applications to read, write, and delete anything stored on your phone's SD card. This includes pictures, videos, mp3s, documents and even data written to your SD card by other applications. However, there are many legitimate uses for this permission. Many people want their applications to store data on the SD card, and any application that stores information on the SD card will need this permission unless they restrict themselves to their app specific directory provided by the system. Applications that typically need this permission include (but are not limited to) camera applications, audio/video applications, document applications.
Warning: Any app targeting Android 1.5 or below (possibly 1.6 as well) will be granted this permission BY DEFAULT and you may not even be warned about it. It is important to pay attention to what version of Android an app is targeting to know if this permission is being granted. You can see this on the Market website in the right hand column.
WRITE_GMAIL Modify Gmail Messages no
WRITE_GSERVICES Write GServices Accounts sy Allows an application to modify the Google service map. Not for use by third-party applications.
WRITE_HISTORY_BOOKMARKS Write web bookmarks and history Personal Information da 2-3 Allows an application to write (but not read) the user's browsing history and bookmarks.
Browsing habits are often tracked through regular computers, but with this permission you'd be giving access to more than just browsing habits. There are also legitimate uses for this permission such as apps that sync or backup your data, and possibly certain social apps.
WRITE_MEDIA_STORAGE Modify/delete internal media storage contents Storage sy Allows an application to modify the contents of the internal media storage.
WRITE_OWNER_DATA Write Owner data Personal Information da Write/change owner data. The API reference not only gives no closer information, but not even mentions the permission at all. A guess is it refers to the owner data one can place on the lock screen.
WRITE_PROFILE Modify your own contact card Personal Information da 1-3 This a new permission that relates to a special new "Me" contact you can create in your phone or tablet as your own profile. It's the counter-part to READ_PROFILE.
WRITE_SECURE_SETTINGS Modify secure system settings Development Tools dv 4 Allows an application to read or write the secure system settings.
This permission should only be seen on Android system apps (and possibly wireless carriers or hardware manufacturer pre-installed apps).
WRITE_SETTINGS Modify system settings System Tools sy 2 Allows an application to read or write the system settings.
Global settings are pretty much anything you would find under Android's main 'settings' window. However, a lot of these settings may be perfectly reasonable for an application to change. Typical applications that use this include: volume control widgets, notification widgets, settings widgets, Wi-Fi utilities, or GPS utilities. Most apps needing this permission will fall under the "widget" or "utility" categories/types.
WRITE_SMS Edit your text messages (SMS or MMS) Messages da 3 Allows an application to write SMS messages.
This permission appears to be an offshoot from the "send SMS" permission. This should allow an app to write, but not send an SMS message. Users should still be cautious of this permission however. Many kinds of malware lure users into sending SMS to special for-pay numbers costing them money.
WRITE_SOCIAL_STREAM Write to your social stream Social Information da Allows an application to write (but not read) the user's social stream data. Malware could use this to spread messages on behalf of the user.
WRITE_SYNC_SETTINGS Toggle sync on and off Sync settings da 2 Allows applications to write the sync settings.
This permission relates to backup and sync of certain types of information like contacts. It allows an app to write settings for how that account and the data are sync and backed up. This is a common permission for social services or contact managers or any other type of app with an account associated with it. Alone, this permission doesn't allow an app access to contacts or other sensitive data. Rather, it just relates to how that data is backed up. Nevertheless, care should be taken as always.
WRITE_USER_DICTIONARY Add words to user-defined dictionary User Dictionary 0 Allows an application to write to the user dictionary.
This alows an app to add custom words to your user dictionary, so auto-correction will consider it the next time you type it. See also READ_USER_DICTIONARY.

Sources: Android Developers, AndroidForums.COM, Github, Stack Exchange, Android Source, RuperTrawnsley's Blog, Android Cross Reference, AndroidPermissions.COM, PhoneDevelopers

Further Readings on this topic:

2014-11-23