Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
X

XPrivacy

> 编程语言
Open source

XPrivacy - The ultimate, yet easy to use, privacy manager

2.1K stars0 likes1 views
WebsiteGitHub

About

XPrivacy - The ultimate, yet easy to use, privacy manager

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

  • Location
    • return a random or set location (also for Google Play services)
    • return empty cell location
    • return an empty list of (neighboring) cell info
    • prevents geofences from being set (also for Google Play services)
    • prevents proximity alerts from being set
    • prevents sending NMEA data to an application
    • prevent phone state from being sent to an application
      • Cell info changed
      • Cell location changed
    • prevent sending extra commands (aGPS data)
    • return an empty list of Wi-Fi scan results
    • prevent activity recognition

  • Media
    • prevent recording audio
    • prevent taking pictures
    • prevent recording video
    • you will be notified if an application tries to perform any of these actions

  • Messages
    • return an empty SMS/MMS message list
    • return an empty list of SMS messages stored on the SIM (ICC SMS)
    • return an empty list of voicemail messages

  • Network
    • return fake IP's
    • return fake MAC's (network, Wi-Fi, bluetooth)
    • return fake BSSID/SSID
    • return an empty list of Wi-Fi scan results
    • return an empty list of configured Wi-Fi networks
    • return an empty list of bluetooth adapters/devices

  • NFC
    • prevent receiving NFC adapter state changes
    • prevent receiving NDEF discovered
    • prevent receiving TAG discovered
    • prevent receiving TECH discovered

  • Notifications
    • prevent applications from receiving statusbar notifications (Android 4.3+)
    • prevent C2DM messages

  • Overlay
    • prevent draw over / on top

  • Phone
    • return a fake own/in/outgoing/voicemail number
    • return a fake subscriber ID (IMSI for a GSM phone)
    • return a fake phone device ID (IMEI): 000000000000000
    • return a fake phone type: GSM (matching IMEI)
    • return a fake network type: unknown
    • return an empty ISIM/ISIM domain
    • return an empty IMPI/IMPU
    • return a fake MSISDN
    • return fake mobile network info
      • Country: XX
      • Operator: 00101 (test network)
      • Operator name: fake
    • return fake SIM info
      • Country: XX
      • Operator: 00101
      • Operator name: fake
      • Serial number (ICCID): fake
    • return empty APN list
    • return no currently used APN
    • prevent phone state from being sent to an application
      • Call forwarding indication
      • Call state changed (ringing, off-hook)
      • Mobile data connection state change / being used
      • Message waiting indication
      • Service state changed (service/no service)
      • Signal level changed
    • return an empty group identifier level 1

  • Sensors
    • return an empty default sensor
    • return an empty list of sensors
    • restrict individual sensors:
      • acceleration
      • gravity
      • heartrate
      • humidity
      • light
      • magnetic
      • motion
      • orientation
      • pressure
      • proximity
      • rotation
      • step
      • temperature

  • Shell
    • return I/O exception for Linux shell
    • return I/O exception for Superuser shell
    • return unsatisfied link error for load/loadLibrary

  • Storage
    • revoke permission to the media storage
    • revoke permission to the external storage (SD-card)
    • revoke permission to MTP
    • return fake unmounted state
    • prevent access to provided assets (media, etc.)

  • System
    • return an empty list of installed applications
    • return an empty list of recent tasks
    • return an empty list of running processes
    • return an empty list of running services
    • return an empty list of running tasks
    • return an empty list of widgets
    • return an empty list of applications (provider)
    • prevent package add, replace, restart, and remove notifications

  • View
    • prevent links from opening in the browser
    • return fake browser user agent string
      • Mozilla/5.0 (Linux; U; Android; en-us) AppleWebKit/999+ (KHTML, like Gecko) Safari/999.9

Limitations

General

  • /proc, CID, system (build) properties, serial number, IMEI, and MAC addresses cannot be restricted for Android itself, because restricting these will result in bootloops
  • /proc/self/cmdline will not be restricted by /proc, because it will result in instability
  • The p

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Java

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言