Frequently Asked Questions
Primary users can clear all data of all users by uninstalling XPrivacyLua while it is running. Secondary users can clear their own data by uninstalling XPrivacyLua while it is running.
All data is stored in the system folder /data/system/xlua and can therefore not be backed up by regular backup apps. You can use the pro companion app to backup and restore all restrictions and settings.
Since XPrivacyLua is in many aspects better than XPrivacy, running XPrivacy and XPrivacyLua side by side isn't supported.
This message means either that:
- The Xposed framework is not running: check if Xposed is enabled and running in the Xposed installer app.
- The XPrivacyLua module is not running: check if XPrivacyLua is enabled in the Xposed installer app and make sure you restarted your device (hard reboot) after installing/updating XPrivacyLua.
- There is a problem with the XPrivacyLua service: check the Xposed log in the Xposed installer app for XPrivacyLua problems.
Rebooting too soon after updating an Xposed module (before the Xposed installer shows the update notification) is known to cause problems. Disable and enable the module in the Xposed installer and hard reboot again to fix this problem.
- Network and storage restrictions: access to the internet and to the device storage can only be prevented by revoking Linux permission from an app, which will often result in the app crashing. Therefore this will not be added.
- User interface features like templates: I want to limit the time I put into this project and I want to keep things simple, so don't expect anything more than basic restriction management.
- On demand restricting: It is not really possible to add on demand restricting so that it works stable and can be supported on the long term, so this will not be added. See also here. However, you can use Notify on restriction (a pro feature) in combination with restricting by default.
- App specific: anything specific for an app will not be added.
- Security specific: features related to security only will not be added.
- User choice: if you can already control the data, like selecting an account, no restriction is needed.
- Crowd sourced restrictions: there are not enough users for this to be useful.
- An app settings button: see here why this won't be added.
- Select contacts groups to allow/block: the Android contacts provider doesn't support contact groups at all hierarchy levels and working around this has appeared to be not possible reliably.
If you want to confine apps to their own folder, you can download the hook definition BlockGuardOs.open from the hook definition repository using the pro companion app.
Apps having access to the IP address generally have access to the internet and therefore can get your IP address in a simple way, see for example here. Therefore an IP address restriction doesn't make sense.
Revoking internet permission will result in apps crashing and faking offline state doesn't prevent apps from accessing the internet. Therefore internet restriction cannot properly be implemented. You are adviced to use a firewall app to control internet access, for example NetGuard.
If you still want to fake offline state, you can download the hook definition NetworkInfo.createFromParcel from the hook definition repository using the pro companion app.
To protect your MAC address, there are hooks available in the hook definition repository. On Android 8 and higher, you should only protect NetworkInterface.getHardwareAddress, since WifiInfo.getMacAddress and BluetoothAdapter.getAddress are disabled. However, some manufacturers may override this behavior, so hooks for all 3 methods are available.
Since XPrivacyLua version 1.22 it is possible to enable status bar notifications on applying restrictions using the pro companion app. This can be used as a replacement for on demand restricting by removing a restriction when needed.
You can ask for new restrictions, but you'll need to explain how it would improve your privacy as well.
See also question 7.
This error could mean that the downloaded file is corrupt, which could for example be caused by a connection problem or by a virus scanner.
It could also mean that you are trying to install XPrivacyLua on an unsupported Android version. See here for which Android versions are supported.
An app level check box is shown grey when one of the restriction level check boxes is not ticked.
A restriction level check box is shown grey if one of the hooks that compose the restriction is not enabled (hooks are not shown in the app to keep things simple). This can happen when a new version adds new hooks. These new hooks are not enabled by default to make sure your apps keeps working. You can enable the new hooks by toggling the check box once (turning it off and on once).
- XPrivacy supports Android 4.0.3 KitKat to Android 5.1.1 Lollipop and XPrivacyLua supports Android version 6.0 Marshmallow and later, see here about compatibility
- The user interface of XPrivacyLua is simpler than of XPrivacy, see also question 4
- The restrictions of XPrivacyLua are designed to prevent apps from crashing, while a number of XPrivacy restrictions can apps cause to crash, see also question 4
- XPrivacyLua has no on demand restricting for stability and maintenance reasons, see also question 4
- XPrivacyLua can unlike XPrivacy restrict analytics services like Google Analytics and Fabric/Crashlytics
- XPrivacyLua is user extensible while XPrivacy is not
- XPrivacyLua is easier to maintain than XPrivacy, so XPrivacyLua is easier to update for new Android versions
In general XPrivacyLua and XPrivacy are comparable in protecting your privacy. For a detailed comparison with XPrivacy see here.
Yes, see here for the documentation on defining hooks.
If you see an app accessing the list of accounts while the accounts restriction is being applied, it is likely the Android account selector dialog you are seeing. The app will see only the account you actually select.
XPrivacyLua is designed to let apps not crash. However, sometimes an app will crash because of a restriction because there is a bug in the app. For example XPrivacyLua can return no data to an app while the app is not expecting this but should be prepared to handle this because the Android API documentation says this might happen.
If you suspect that a restriction is causing a crash because there is a bug in the restriction, please provide a logcat and I will check the restriction.
You can filter on restricted apps, on not restricted apps, on system apps and on user apps by typing special characters into the search field:
- Filter on restricted apps: exclamation mark (!)
- Filter on not restricted apps: question mark (?)
- Filter on system apps: hash character (#)
- Filter on user apps: at character (@)
The special search characters should be the first characters in the search field (it is possible to combine special characters) and can be followed by additional characters to refine the search result.
XPrivacyLua was written from the ground up to support recent Android versions, which was really a lot of work. Since I believe everybody should be able to protect his/her privacy, XPrivacyLua is free to use. However, the XPrivacyLua pro features, mostly convencience and advanced features, not really needed to protect your privacy, need to be purchased and it is not possible to 'pay' with an XPrivacy pro license and there will be no discounts either.
Depending on the number of applied restrictions, you might notice a slight delay when starting apps, but you will generally not notice delays when using apps.
Yes, if XPrivacyLua was running before the update, it will keep running after the update, even though the user interface and new features will not be available until after a reboot.
If a purchased pro feature doesn't work properly and this isn't caused by a problem in the free features and I cannot fix the problem in a timely manner, you can get a refund. In all other cases there is no refund possible. In no circumstances there is a refund possible for any problem related to the free features, which include all restrictions, since there wasn't paid anything for them and because they can be evaluated without any limitation. I take my responsibility as seller to deliver what has been promised and I expect that you take responsibility for informing yourself of what you are buying.
Apps with root permissions can do whatever they like, so they can circumvent any restriction. So, be careful which apps you grant root permissions. There is no support on restricting apps with root access.
XPrivacy and XPrivacyLua work differently, so this is not possible.
This is a pro feature, which needs to be purchased.
The pro companion app contacts settings are:
- Block all: hide all contacts (the default)
- Allow starred: make starred contacts visible
- Allow not starred: make not starred contacts visible
These settings can be applied to one app or globally to all apps.
You'll need to apply the contacts restriction as well to apply these settings.
You can star contacts (make contacts favorite) in the Android contacts app. Mostly the 'star' is in the upper right corner in the contact data.
Due to limitations of the Android contacts provider it is not possible to block/allow contacts by contacts group in a reliable way.
Assuming you purchased the pro features this will happen if the Storage Access Framework is missing from your Android version. This is an important Android component to select files and folders. If you removed it yourself, you'll need to restore it, else you'll have to ask your ROM developer to add it.
Likely because the app is using this API. The app will only see the content of verification SMSes intended for the app, so there is no restriction for this needed.
Also, apps with permission to receive SMSes (in contrary to read SMSes) cannot be restricted. Normally, there is just one app that can receive SMSes, that should not be restricted, else no SMSes can be received anymore. If you really don't want an app to receive SMSes, you can revoke the SMS receive permission.
If you have another question, you can use this forum.