An excerpt from the repository, fetched Nov 13, 2026.
Read the project’s introduction
XPrivacy
The ultimate, yet easy to use, privacy manager for Android
XPrivacy is not maintained and supported anymore.
You can use the successor XPrivacyLua on Android 6.0 Marshmallow and later.
Publication
Index
Description
Features
Screenshots
Restrictions
Limitations
Compatibility
Installation
Upgrading
Usage
Permissions
Frequently Asked Questions (FAQ)
Support
Changelog
Similar Solutions
In The Media
Contributing
License
Description
XPrivacy can prevent applications from leaking privacy-sensitive data
by restricting the categories of data an application can access.
XPrivacy feeds applications fake data or no data at all.
It can restrict several data categories, such as contacts or location.
For example, if you restrict an application's access to contacts,
that application will receive an empty contacts list (don't try this with the contacts application itself without a backup).
Similarly, restricting an application's access to your location will send a fake location to that application.
XPrivacy doesn't revoke or block permissions from an application,
so most applications will continue to work as before and won't force close (crash).
There are two exceptions: access to the internet and to external storage (typically an SD-card)
are restricted by denying access (revoking permissions).
There is no other way to restrict such access
because Android delegates handling these permissions to the underlying Linux network/file system.
XPrivacy can fake an offline (internet) and unmounted (storage) state,
but some applications still try to access the internet and storage,
potentially resulting in crashes or error messages.
If restricting a category of data for an application causes functional limitations,
XPrivacy can once again allow access to the data category to solve the issue.
There is a convenient on/off toggle switch for all restrictions for each application.
By default, all newly installed applications cannot access any data category,
which prevents a new application from leaking sensitive data right after installing it.
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
that allows you to quickly enable or disable applications' access to any data category.
You can edit all of an application's data categories.
To help you identify potential data leaks,
XPrivacy monitors all applications' attempts to access sensitive data.
XPrivacy displays an orange warning triangle icon when an application has attempted to access data.
If an application has requested Android permissions to access data, XPrivacy displays a green key icon.
XPrivacy also displays an internet icon if an application has internet access,
which clarifies that the application poses a risk of sharing data with an external server.
XPrivacy is built using the Xposed framework,
which it uses to tap into a vast number of carefully selected Android functions.
Depending on the function, XPrivacy 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 an empty message list).
XPrivacy has been tested with Android version 4.0.3 - 6.0.1 (Ice Cream Sandwich, Jelly Bean, KitKat, Lollipop, Marshmallow),
and is reported to work with most Android variants, including stock ROMs.
Root access is needed to install the Xposed framework.
XPrivacy was a lot of work, so please support this project.
If you want to donate, see here for all options.
Use XPrivacy entirely at your own risk.
Features
Simple to use
No need to patch anything (no source, no smali or anything else)
For any stock variant of Android version 4.0.3 - 6.0.1 (ICS, Jelly Bean, KitKat, Lollipop, Marshmallow)
Newly installed applications are restricted by default
Displays data actually used by an application
Option to restrict on demand
Free and open source
Free from advertisements
Screenshots
Restrictions
For easy usage, data is restricted by category:
Accounts
return an empty account list
return an empty account type list
return fake account info
return empty authorization tokens
return an empty list of synchronizations
Browser
return an empty bookmark list
return an empty download list
return empty search history
Calendar
return an empty calendar
Calling
prevent calls from being placed
prevent SIP calls from being placed
prevent SMS messages from being sent
prevent MMS messages from being sent
prevent data messages from being sent
return an empty call log
Clipboard
prevent paste from clipboard (both manual and from an application)
Contacts
return an empty contact list
content://com.android.contacts
content://com.android.contacts/contacts
content://com.android.contacts/data
content://com.android.contacts/phone_lookup
content://com.android.contacts/profile
SIM card
Dictionary
return an empty user dictionary
E-mail
return an empty list of accounts, e-mails, etc (standard)
return an empty list of accounts, e-mails, etc (Gmail)
Identification
return a fake Android ID
return a fake device serial number
return a fake host name
return a fake Google services framework ID
return file not found for folder /proc
return a fake Google advertising ID
return a fake system property CID (Card Identification Register = SD-card serial number)
return file not found for /sys/block/.../cid
return file not found for /sys/class/.../cid
return a fake input device descriptor
return a fake USB ID/name/number
return a fake Cast device ID / IP address
Internet
revoke permission to internet access
revoke permission to internet administration
revoke permission to internet bandwidth statistics/administration
revoke permission to VPN services
revoke permission to Mesh networking services
return fake extra info
return fake disconnected state
return fake supplicant disconnected state
IPC
Binder
Reflection
Lo
Read the full README on GitHub