Requirements: Android v4.0+, Xposed Framework
Overview: XPrivacy can prevent applications (including associated background services and content providers) from leaking privacy sensitive data.
XPrivacy can restrict the categories of data an application can access. This is done by feeding an application with no or fake data. There are several data categories which can be restricted, for example contacts or location. For example, if you restrict access to contacts for an application, this will result in sending an empty contact list to the application, when it requests access to your contacts. Similarly, restricting an application's access to your location will result in a random or set location being sent to the application.
XPrivacy doesn't revoke (i.e. block) permissions from an application, which means that most applications will continue to work as before and won't force close. There are two exceptions to this, access to the internet and to external storage (typically an SD card) is restricted by denying access (revoking permissions). There is no other way to realize this, since these permissions are handled by Android in a special way. Android delegates handling of these permission to the underlying Linux network/file system.
If restricting a category of data for an application results in problems for the application, it is possible to allow access to the data category again to solve the issue.
By default, all newly installed applications will have no access to any data category at all, to prevent a new application from leaking sensitive data right after installation. Shortly after installing a new application, XPrivacy will ask which data categories you want the new application to have access to. XPrivacy comes with an application browser, which allows you to quickly enable or disable applications' access to a particular data category (i.e. to view and control all access to the camera, for example). It is also possible to edit all data categories for one application.
To help you identify potential data leaks, XPrivacy will monitor attempts made by all applications to access sensitive data. XPrivacy will display a yellow triangle icon as soon as data of a data category has been used. XPrivacy will also display if an application has internet access, indicating that the application poses a risk of sharing the data it obtains with an external server. This is just a guideline, since an application could access the internet through other applications too. If an application has requested Android permissions to access data in a data category, this will be displayed with a green tick icon, but this will only be shown when looking at an individual application, since checking permissions for all applications is quite slow.
XPrivacy is built using the Xposed framework. XPrivacy taps into a number of selected functions of Android through the Xposed framework. Depending on the function, XPrivacy conditionally skips execution of the original function (for example when an application tries to set a proximity alert) or alters the result of the original function (for example to return empty calendar data).
XPrivacy has been tested with CyanogenMod 10 and 10.1 (Android 4.1 and 4.2), and will most likely work with any Android version 4.1 or 4.2 variant, including stock ROMs. Root access is needed to install the Xposed framework. Because of a bug in the Xposed framework, XPrivacy currently needs a fixed Xposed binary, which is provided as download for both Android version 4.1 and 4.2.
Fixed restrictions not always showing correct after on demand restricting (issue)
Fixed invalid restart required when toggling restrictions of a category
Fixed and improved batch operation layout (issue)
Fixed randomize on access combined with randomize on boot (issue)
Fixed displaying on demand restricting in application list
Better matching of sh and su (issue)
This app has NO advertisements
More Info: Pro Features Unlocked! No Need Key/Modded G-Play