[Guide] How to Control Android App Permissions (Root/CM7)

If you’ve been using Android for any length of time, no doubt you will have seen a list of ‘permissions’ requested when you install applications on your device. These are generally required for the app to operate normally. They can include access to your contact list (for a replacement SMS handler), access to your current location (for GPS applications) as examples. Here’s a full list of permissions that can be requested. (Note: iOS has a similar system for ‘User Notifications’ and ‘Locational Services’ which require user interaction, it will assume that you accept all other types of permission requests.)

It’s a good idea to pay attention to the permissions required by applications, as it can be insightful. If you download a game and it’s asking for access to send SMS’s, or make calls from your phone, there might well be a legitimate reason for it (like Burn the Rope’s SMS-based billing system [which has since been removed]), but the warning bells should be going off since it’s an unusual permission for that type of application. When used properly, the permission notification system is an extremely powerful tool.

OK, so what if you want to install an application, but you don’t want it access some permissions? Example: you’re wary of privacy issues and don’t want applications tracking your rough location for targeted marketing purposes? Or if want to restrict internet access for an app to reduce your mobile data use? Until now, it was an all-or-nothing approach, you couldn’t install the application. Enter CyanogenMod 7.1RC (and some earlier nightlies), which allows for individual permission editing for apps. It’s easy:

  • Settings => CyanogenMod Settings => Application => Permission Management => On
  • Go to Settings => Applications => Manage Applications
  • Select the application in question
  • Where you previously have seen the list of permissions the app uses, you can now press on the permission itself and a strike-through appears, revoking the permission.

A superb addition to an already great third-party ROM, I only wish desktop OS’s had such fine degrees of control (or even a permission notification system), an all-or-nothing approach to admin rights can often lead to dire consequences, especially on machines which hold sensitive private information. Also note that if your device is not listed on CyanogenMod site, there often are ports of it to other devices by third-party developers.

Caveats: Note that some applications actually DO required certain permissions to operate correctly, so use with care. It’s important to note that this is NOT related to permission spoofing, which is the faking of device details, such as IMEI and IDs (which can have serious consequences). The above is purely permission denial/control.

EDIT: Updated version to show 7.1RC (and earlier nightlies). 

Advertisements

4 thoughts on “[Guide] How to Control Android App Permissions (Root/CM7)

  1. Funny, I have CM 7.03 on my Evo but I don’t have an option for “Permission Management => On”. Could this feature be model specific?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s