0bbedCode / XPL-EX

Really simple to use privacy manager for Android 6.0 Marshmallow and later
https://lua.xprivacy.eu/
GNU General Public License v3.0
199 stars 22 forks source link

[PROPOSAL] Separate Pro version from the basic again #13

Open Anderhar opened 1 month ago

Anderhar commented 1 month ago

Such a thought crossed my mind while learning XPL-EX, trying to migrate from XPrivacyLua. Using the M66B's creation for its explicit purpose (i.e. for privacy), it was enough just to activate the automatic restriction for newly installed apps to get nice uniform defaults and hide in the crowd of other XPrivacyLua users. All the customization came down to unchecking some hooks when necessary. (I even managed to promote XPrivacyLua to my very mature mother, and she loved it!)

But with XPL-EX, the opposite is true: some hooks are redundant for everyday use, while others don't work properly unless manually configured. On top of that, the plethora of all these fine-tuning options provokes users to create many different fingerprints, which only hurts for privacy purposes (I advocate the Tor Browser's uniformity approach).

I realize that the work is far from complete and GUI is not your strong suit, but I'm intimidated by the direction things are moving in. Perhaps it would be better to somehow separate out all the advanced functionality, leaving it for those who need it, in order to keep a simple one-button solution for the rest of the users. It is not really necessary to split the application in two, but something should be done, I think.

0bbedCode commented 1 month ago

I'm going with a Gate approach where I provide that Gate anything you allow is up to you as user. I provide defaults but that proved to be an issue with many thinking it was broken since its setting values that they didn't assign it. So now it has that option but I can agree things have gotten bit more complex as time moves on hopefully I can make less complex. That being said goal is to separate the Pro app especially since no one has the Source code for the Pro Application. You as the user don't need to use the new features but nothing the less its provided in XPL these things were not even remotely possible nor good thing to not have as it had privacy errors in it self. You choose based off of configs or defaults or not setting anything what data gets passed through that gate I provide. If you have some more examples of what is making things more complex or hurting privacy since "many fingerprints" then please show me examples. For now it has one single default print you can modify however lastly making a "one click all button" isn't currently possible given how complex things are, I did make that to the best I can but either way people would complain something isn't being spoofed since "all in one" spoofer dosnt cover all as it is a challenge depended on the user. Please give more examples if you can I am open to hear !

Anderhar commented 1 month ago

I provide defaults but that proved to be an issue with many thinking it was broken since its setting values that they didn't assign it.

I suppose that such issues may arise for those who are used to apply Xposed for something other than privacy (for example, those who utilize Android Faker to fool paid games).

But when we are talking about system-wide privacy, this approach is much more appropriate: respond to all requests with void, zeros, or "private" text. That's how XPrivacyLua worked, and that's how foil hats loved it. Of course, а fresh set of fake IDs could be auto-generated for each installation/re-installation of each particular app with no user interaction, but that would be a brand new challenge for you as a developer.

So the only question I see is which parameters should be in the default scope (one-button solution) and which should be classified as optional functionality (Pro version). I think the first ones include anything that makes my device the one-and-only or allow to spy my personal activity. For example, I'm a bit discouraged by the whole "Spoof" section, which is now part of the default scope (for the sake of just a few bits of entropy?). And on the other side, my DRM ID still doesn't change, even when the "ID Unique" hook is checked.

But the overall situation with this new 1.4.3 version is much worse. As said, my usage scenario was to activate the "Restrict new apps" option in the XPrivacyLua side menu, and continue to use my smartphone just like everybody else, returning back only if I need to disable some on-demand hook. Well, now I'm installing DevCheck as a guinea pig, and all that gets changed by default is AppList and Sensors. Looks like a catastrophe...

0bbedCode commented 4 weeks ago

Doing so would cause "Bans" to still be in Place and "Crashes" to arise higher, for your situation it may have been fine but with the more Hooks that were added to crack down in privacy simply putting "Private" or "Zeros" would NOT be the solution, though you are not blocked from doing so, so you can still apply those values as your own will. Combining configs can also help you create a one time apply for "generic" values such as "Zeros" or "Private". You also have the option to select "Use Default Values" If I provide them to the Hook (most defaults wont be silly like "Private" though) This was added as an option disabled by default due to people with complaints of Generic values such as "Private" causing app crashes

Once again remember you can still 100% do this so this isn't a "lacking" feature, apply Global settings to the things you wish. If you have no idea randomize then see the format replicate. So if that's your request that's already an option, Click the Settings menu on the Side so its in "Global" context so any new app will have those settings if it doesn't have settings set for it.

Do note I have NO control over the Pro app AT ALL (zero).

I'm very confused very much understand this the Settings UI I PROVIDE can Randomize (ALL UNIQUE SETTINGS) and Many more settings. You can select the ones you know have randomizers (and yes a lot don't but again with that many settings you have to be patient no app compares or has this many options I refuse to change that as that will restrict people) then once you selected them (you can save you selected options for next time you open the UI) then click the floating action bar click randomize then click save, you now have your OWN unique identifiers. If you like them and want to apply for ALL make sure you do all of this in the "Global" context. If you really like your settings you also have the option to export them to a config ! If you don't like it then manually set the ones you want to set if you want something silly and simple like "Zeros" and "Private" then once again save it in the global context.

If you want to spoof only "one-and-only or allow to spy my personal activity" Just select the "ID Unique" Hooks. Hence why the Unique name, go into global settings "global" not app based, then select ONE setting in the Unique category, hold down on the check box on that ONE selected Unique setting (this will select all unique settings) then bottom right floating action bar, select it, select Randomize button, Select Save. Now for each app all you have to do is select "ID Unique". I refuse to bombard the main UI with more options as the current issue already is, its too complex, plus to avoid performance issues.

XPLEX Provides EVEYTHING that original XPL can do but even MORE! so I am not sure how things can be lacking if anything you had 5 randomizers now have over 100 Randomizers made by me

DRM was tested more than 25 Times , Please provide the app and logs if its not working. Ensure your using the CORRECT Hook.

Finally, "Restrict new apps" should work , just select global settings ... (ofc I cant do much before you enable it in LSPOSED)

once again if its the defaults issue, go into Settings (Globally) (this is a one time thing so please be open to it as I spent hundreds of hours on this project so least go into settings set them) once in settings change whatever you want save it!

Now you created your own defaults, I just dont see these issues you bring up other than the lack of exploration and or understanding the UI (that I am working on). Dont underestimate the UI explore, hold down on button, read announcements etc.

0bbedCode commented 4 weeks ago

If you have genuine issues with 1.4.3 other than mis understanding it, please let me know else this will be closed. Please follow above let me know how it works out for you.

0bbedCode commented 4 weeks ago

please tell me how this makes you feel :D i made today !

https://github.com/0bbedCode/XPL-EX/blob/new/APPHELP.md

Anderhar commented 3 weeks ago

Finally, "Restrict new apps" should work , just select global settings ...

I hope this is really just my misunderstanding, but.... Do you remember what I said about one-button solution? Well, I'm still not finding it. It seems that to restore "Restrict new apps" in the same functionality as it had in XPrivacyLua (especially if I want to have different fingerprints for each app to avoid cross-tracking, as long as we're moving away from the uniformity approach), I have to start with comprehensive customization of the global settings, by going to Config Editor in order to manually check each hook one by one and (as well manually) enter %random% in each field for all 15 hooks. And after that, go to Settings Values to repeat the similar steps for the remaining over 9000 hooks there... Seems like a few hundred or clicks! But please explain to me the correct modus operandi if I'm wrong.

please tell me how this makes you feel :D i made today !

Seems you have the same taste for long writing as I do, but it's supposed to be a manual, right? I can imagine how long it took to write such a piece of text, but reading it with thoughtfulness was also a time consuming task, twice as difficult for a non-native speaker. I seriously recommend making it more boring and schematized, as the manual should be. Suggest delegating this task to some AI chatbot to save some energy.

0bbedCode commented 3 weeks ago

[1] App Settings Windows [2] Select the Settings you want to Randomize each time you open that window (ofc not all have randomizers but for all actual tracking identifiers / unique ones they all have randomizers) To mass select settings without clicking them , check one , on that check box of that one you checked hold down on it [3] To save the ones you checked click the drop down on the island, click save checked [4] On bottom Right floating Action Buttons, click the Randomize button [5] Same Bottom Right floating Action Buttons, Click Save.

[1] Now each new app, Click on Settings Under that app context [2] Click Floating Action Buttons [3] Click Randomize (No need to check the ones you want to randomize now since you saved it l last time) [4] Click Save then to save randomize settings

As far as an actual one click for every app not yet I will keep that in mind, but this would be quickest solution as from here you only have to click (3) times to Randomize Unique Values (ones that actually track you).

On global Context I would just apply some config for the Base so you dont need to apply it manually. But for the Unique settings go into the non global context of app context do the (3) clicks.

I have updated the guide, it is more organized, has examples, even screenshots, just use google translate translate the whole page. Images wont be affected but it dosnt matter as in the images its linked with numbers to actual text.

I did forget to write about the %random% one in this version I will update it when I am home. And no in theory you dont need to keep writing %random% if you want to use that, use the global context, you need to read the global context and app context part.

Since the Definition was re written in the Guide here is the old one in case: By not setting Settings or things for the App it self it will grab from the Global context if available. I need water I am getting dehydrated, have no water inside, so I go outside to the Well to retrieve some water (Outside well being global). I need water I am getting dehydrated, I do have water inside either faucet or bottle so I retrieve the water from inside without going out (Inside being App Context). If I need water but I have some inside (App Context) I don't need to go outside (Global Context) to retrieve water. If you set the Settings for the App Context then Global Context will be ignored, else grab it from Global Context (OF COURSE if the settings for Global context are set).

https://github.com/0bbedCode/XPL-EX/blob/new/APPHELP.md

References in the UPDATED Guide: https://github.com/0bbedCode/XPL-EX/blob/new/APPHELP.md#context-global-vs-application https://github.com/0bbedCode/XPL-EX/blob/new/APPHELP.md#settings-ui

If you Global Controls what isnt there for App, so if I dont se the IMEI Value for that specific app but for Global it will grab it from global but if it is set to the app it will grab it from the app context settings, if it dosnt exist in either it will skip. So Have global settings for a backup have all unique values as %random%, set config for the phone to global but when you actually want to change and keep the unique settings follow what I said above to easy (3) click randomization button.

[1] Click Floating Action Bar in Settings UI under App Context [2] Click Randomize [3] Click Save Done

0bbedCode commented 3 weeks ago

Please Read all of

https://github.com/0bbedCode/XPL-EX/blob/new/APPHELP.md#context-global-vs-application https://github.com/0bbedCode/XPL-EX/blob/new/APPHELP.md#settings-ui

If you still do not understand I am not sure how I can further assist ? If its not included in those most likely I do not have what you are requesting in yet. Please tell me what you think as I am active recently now with Github issues to help

Anderhar commented 3 weeks ago

With your instructions, the process becomes clearer in details, but the overall picture remains the same: XPL-EX has lost the main advantage of XPrivacyLua – its accessible simplicity. Just imagine trying to explain all these things to an average housewife or setting it up on Android TV with a button remote. Because these are real life usage scenarios for XPrivacyLua in my case.

To mass select settings without clicking them , check one , on that check box of that one you checked hold down on it

OK, not very intuitive, but I've dealt with that. Now it's a few tens of clicks instead of a few hundreds, which is still more than single one: better, but still not enough.
(And why not just add separate checkboxes for entire groups, like on the main screen for apps?)

I did forget to write about the %random% one in this version I will update it when I am home.

With the updated manual, I could see that %random% just generates a new fingerprint on every application launch. Sad.
Abandoning uniformity (i.e. all zeros values), we now absolutely need unique fingerprints for each individual app in a fully automated manner. Our average housewife simply can't tinker with values at the per-app basis, while having an unified fingerprint at the global level is just vulnerability to cross-app tracking. In fact, it offers almost no benefit compared to factory defaults.

So here's an addendum to my earlier proposal: how about adding an additional toggle to the side menu, right after "Restrict new apps", called something like "Enable recommended defaults"? This toggle would apply the pre-configured global context profile with all hooks relevant against typical targeting and analytics. It's just one click more than it was in XPrivacyLua. Of course, automatic per-app fingerprint generation is still needed.

And please sorry if my words seem a bit harsh sometimes. My point is that privacy shouldn't be the privilege of the tech-savvy nerds like us – it's everyone's right, and it should be accessible to everyone. I promoted XPrivacyLua to a lot of people by simply helping with installation when needed. Then everyone could use it. But now I'm the only one who can use XPL-EX, and that's the most concerning part. It's almost like my first introduction to Linux 16 years ago. A kind of sacred knowledge that could not be shared with anyone else.

0bbedCode commented 3 weeks ago

I can agree but to say it completely lost it is false as the "originality" is there but yes I can agree it is less simple, but then again you are not FORCED to use the more advance things, they are optional as they cant really be simplified. (I am changing the slogan as it contradicts it self as it isn't really simple anymore). You also do have to keep in mind I do not own SRC for the Pro app :(

"single" click solution isn't 100% achievable, doing so would be treating this system like a knife when its a sword, on top of that XPL never had a "one click" hell they barley had randomization for more than 5 items. To be clear it is MAX (4) Clicks, Open UI, Click Floating Action Button, Click Randomize, Click Save (Max 4) . If you need more clicks then re-read the guide for more help reducing that. I will be working on less clicks and getting as close as I can to a "single" click solution (to remember XPL never had).

%random% is random there for it will be random, now yes a tradition house Wife I can agree but (for now at least) you can set it up for her to prep it, I mean you can already do those "fill with zeros" concepts, just create a global config, hell do already use defaults you can go into global and create that setting to default all values. Issue is on that is support, many apps will have issues with crashing simply put it, "Zero" or "Private" is not a Valid Identifier, or people will fill it all with "Zeros 0's" when again its not a valid scheme or format, and we have ALOT more Hooks than XPL there for we have to constantly work on "defaults" not yet finished. To Top it all off having such identifiers contrary to belief is not private, if anything is more black listed cause more detections, bans etc. I've had it before had "defaults" but default but that caused many issues, for now you with your tuition as a husband can pre auto fill settings (IN THE GLOBAL CONTEXT) to have defaults what you think is best, once again I don't do this because doing so would increase complaints, issues, and reports, when in reality this is a poor approach. So you as a user doing this your self kind of tells me that you are aware, know what your doing, and you are going to do it. Once you create those settings global you NEVER EVER need to open settings again.

So above we created a solution that now NEVER requires you as a user to open any UI again other than assigning hooks (if you do not believe this you need to read about Global vs App Context). Once again let me iterate NEVER AGAIN you need to go back into that UI, not even for a "one click randomize all" option as that would be pointless since one click randomize all implys it randomizes it to something that is not all "00000". If it were to randomize it to all zeros, how many possible combinations can there be ? 5 zeros, but this random has 6 zeros, this one has 9 zeros, what im saying is if you are contempt with having a generic ID as your ID such as "00000" or "Private" you dont want a one click Randomize button there for once you setup your global config never ever again you will have to go in and change a value.

In newer update Ill work more on one click solutions as well as adding more defaults to the hooks (though do understand my defaults are still unique values) Not "Private" or "00000".

For you and what you can do now:

Enable the "useDefault" setting in the Global or App Context. If you are in Global I blocked it out (I didn't think it through fully) but to add it you can add a new setting manually name it "useDefault", for the value put "true", description put whatever. Now this isn't Generic Defaults this is Unique still to ones I hard coded with.

To use your kind of Defaults you want, go into Global Settings and start filling in the values, formats NEED to be followed but I will not give you these warnings as once again you are agreeing you know what you are doing, you know how this works, you know the issues with doing this, you are full aware so fill in the settings. Once you fill in the settings you can share that config to others who want the same as you. Once you do this again I hope you understand "one click randomization" contradicts what you want there for once you set this up you will never need to "randomize" or change these values.

You can share this config with the first timers, or your wife, kids, grandma say "hey granny open configs UI import this config" then boom they will never need to check anything again or open anything again.!

Doing above would be the best method, using the "useDefault" only works for select few "M66Bs" hooks and few of mine (not all) as I added more but never got around to add more defaults and am working on it. Again Defaults will not be generic though but still unique, as its a good practice to randomize a unique one, other one causes too many people issues when it was default even original XPL with M66Bs so we are avoiding that path.

What to Expect in 1.4.4 XPLEX for your kind of issues

As far as adding check boxes over each group of settings, yes but the programmatic code cant express that as those dividers are nothing more than designs for a Recycler View and not much advancements can be made unless I introduce similar logic / views/ cards in other views but I was trying something out. So adding a check box for the Groups isn't 100% an option something I can do, hence why the hold down feature. Now if you have to keep holding down the same group each time you open up that UI you have fail to read the DOCS on the UI so I do hope holding it down is something you may only need to do once.

That being said you can above most of what you are looking for, I understand not easy for new people I 100% understand, but if you want to me to go in the future a direction where the USER is locked down to what I give them, they have no say or choice on modifying such things only there settings, I can do so though that idea would not be popular with the masses I can assure you that. What I'm trying to say it, trying to make something like this simplified isn't "easy" or something that can be done without locking you guys as the end user down. I can do only so much but do remember XPL never had these features nor XPL had a One click Solution nor XPL had options use defaults there for made debugging for some a issue, XPL doesn't have a good working DRM Hook and AD Hook, or many of these other Hooks.

Within this next update I can simplify it as much I can but understand that has limits for something as advance when you compare it to "Android Spoofer". This tool is suppose to let you play around, plus you don't need to use the new features you still can use original XPL features.

That's my current situation, trying to dumb down a monster that cant be, yes in theory I can make a PRO app but then its INEVITABLE for users to wonder why XPLEX doesn't work well without it, then they venture off into the pro app then same complaints.

Tell me how what you think. If you creating a Global config your self Helps

0bbedCode commented 3 weeks ago

To Simplify my junk above

[1] One click Randomization (Random) has no correlation to your need of "Generic Values", those two things hold no relevance towards each other, should be careful how those two are talked too. As there is no "Random" with "Generics" [2] There is a somewhat "useDefault" setting system it can and will be bettered [3] You can create a Config with the "Generics" you so please for, to contribute to the community for those who want, export it as a config so others can apply it globally. (This will make it so there are now 0 clicks to settings, yes 0) so you can give it to the wife, kids, granny, auntie you name it, just import it apply it then you never have to click on settings again!! [4] At most you have (5) clicks if you set it up as I mentioned (for the manual one click randomization not the generics) [6] Using Generics is very much against what I want, it causes more issues than what it is worth to deal with the house wife including -> Crashes -> False Positives Bans (Applications dont think like Humans they are built on logic, if your ID is banned its banned) -> Difficulty Debugging -> False Sense of Privacy. Reason for false sense of privacy: You stick out like a sore thumb, you don't blend in, anyone can make a logic based detection system to Detect when the user is using XPLEX, and or they can use A.I if they want to get fancy. If its not detecting the usage of XPLEX then possibly blocking you or putting you on some list, then it still makes you stick out like a sore thumb as your data doesn't make sense there for putting more eyes onto you

[7] You can still use your XPL features as you once were able to, I don't own the SRC for the Pro app and if I make a pro app it will inevitably drive people to winder why the non pro app doesn't work well for all privacy, then move them to pro still having them ask the same old questions. [8] I cant add a settings group check box for that specific UI element, its a decor or design [9] Simplifying a beast such as should then just prompt you to either use the non "beast" features or use "Android Spoofer" as they do not provide your full privacy but hey they are easier.

What to Expect in 1.4.4 XPLEX for your kind of issues

Reason you dont see things LIKE XPLEX is because people are not willing to implement and deal with headaches of "simplicity" there for they provide what I think of as a fake sense of privacy. If you wish to have minimal but not full privacy you can use a simpler solution or old XPL, if you want ACTUAL REAL privacy use XPLEX. XPL Doesn't have new AD ID Hook, XPL DRM ID Hook is broken, XPL misses alot of other hooks, XPL doesn't intercept Props or Shell, I can make a whole list of things its missing, but now are support but at the cost of less simplicity. I am not scared and am willing to keep creating a system that allows you guys as the user to customize most while being able to retain privacy in many ways, if you as the user are willing to try.

I don't view ones words harsh as it is criticism nothing more, you tell me what you think though as I am curious to hear .

Anderhar commented 3 weeks ago

I like some of your considerations, but we definitely have a misunderstanding on some others:

You also do have to keep in mind I do not own SRC for the Pro app :(

Let's just drop talking about the Pro app made by M66B. When I first said "Pro", I didn't mean the specific implementation in code, but a general conception where functionality for advanced users is somehow separated from the basic capabilities. For example, in Firefox browser "Pro" functions are available under about:config URL (bad example, I know). In short, it's just protecting ordinary users from unnecessary headaches, that would seem playground for a techie.

XPL never had a "one click" hell they barley had randomization for more than 5 items.

And here is the second misunderstanding born from the previous one. The thing is, I have never installed XPirivacyLua Pro with its randomizer (Pro exclusive feature) to anyone. I have always settled for the basic version with its default values (i.e. zeros). Take this into account, and you'll see that it's really just a matter of one click: enable "Restrict new apps", and it's already working! No doubt this is a flawed approach, and randomizer would be a significant step forward, but ...

just create a global config

... but here we run into another misunderstanding. Because as I said above, the Global Context in the current realization is also a poor approach. To explain this more clearly, I will give another example from a real life.

In the country where I live, the major share of the Internet market is divided between two mega-corporations. One of them, among other things, owns the most popular taxi service (like Uber), as well as a flights ticketing service. And this is what it leads to. For example, you're late for your flight, and you call a cab to get to the airport urgently. The mega-corp sees both of these circumstances, matches them up, and deduces: "Oh, looks like this guy is in too much of a hurry to look for other options – let's make money on him!". And you get a higher ride fare than usual (you're screwed).

But if you isolate the taxi app from the ticketing app using different fingerprints (and accounts, of course), the mega-corp will have harder time matching your activity and won't be able to ripping you off as easily. Unfortunately, if you use XPL-EX with Global Context settings in its current form, both apps will get the same fingerprint and so realize that they are running on the same device (you're screwed again). And %random% is just as useless in this case, because every time you open the app you will be kicked out of your account like you changed your device.

That's why the only way out is different, but still persistent fingerprints for each individual app. And if we're talking about one-click solution, these fingerprints should be generated automatically without user interaction. My suggestion: generate a new random value every time the hook is connected in App Context on the main screen. This would fit perfectly with "Restrict new apps" and could be the default behavior to eliminate manual configuration. Feasible?

I cant add a settings group check box for that specific UI element, its a decor or design

Then how about adding a "Select All" option to the floating menu under the alien's face? Sometimes it's quicker to uncheck unnecessary flags than vice versa. And it's still pretty intuitive.

"useDefault"

Can you please describe a way to test this feature? I would like to try it to better understand what you are talking about.

And for goodness sake, use old-fashioned phone-call cab services without any apps.

0bbedCode commented 3 weeks ago

Can you tell me straight forward what you are looking for ? It seems you don't want two apps to share IDs but the approach of all Zeros would still share the same ID would they not ? The global Context is just for WHEN you didn't init a value (a backup) so look at global as your "Zeros", "Private", "Unknown" Type values, as soon as you assign the settings for the app, XPLEX will grab the ones for the APP FIRST before it looks to global, if they don't exist for the app THEN it looks at global.

Sin your case what (I) would do with the Taxi Apps, is first go into Global settings (this is just to have a backup not needed but to prepare) then check all Unique values, click the above drop down click save check marks. While in your global settings if you wish to replicate the "Zeros" Generic Values do so then and there. if you want unique values for those two apps to separate them, go into the settings for the One App Click Randomize Click Save, do the same for the second and now your two apps will not share the same ID.

Despite you using Global Context, Global is seen more as a backup option , for what doesn't exist in App Context but is needed for the App Context Hook then will be looked for in the Global Context.

Lets say you need a new ID for both apps same thing, Go into the Settings under the App, click randomize, click save You now (despite declaring global) now have new unique values that are not shared across both apps.

"My suggestion: generate a new random value every time the hook is connected in App Context on the main screen." cant really be done :( I can declare more Hooks but we want to avoid that, this approach as well would be the same as if the app closes and open. I have no true telling when its your first time without digging with more deeply rooted hooks.

I can however have it every reboot IDs can change besides that I have no other approach to this, its possible I can do a default thing, but if you need to change it ? then what ? you still need to go into Settings Click Randomize Click Save :(

Global is useful in this case for a backup for non unique things, when applying hooks just quickly go into settings under the app context, click randomize, click save (5) button clicks at most if you consider going to the settings a Click.

I can add that feature to have a select all option but understand not everything can be randomized that is because well, they just cant its difficult let alone have them all work together impossible. Only alternative if I want the system to work fully together is to just remove the settings in whole.

0bbedCode commented 3 weeks ago

What is off the table due to Not wanting to limit users and having a headache when a device FP is off:

Complete Randomization of ALL settings (though I can do this in the future future) but due to limits its off the table. Other apps may have a one click but they have a one click for like 15 Options versus 100 options.....

Randomize settings each new app instance (I cant tell when its a new app instance there for its up to you as a user to determine that then in the XPLEX app randomize it)

What can be done: For now create a Global Config (for backup as whats not in app context will be searched in global context) of Generic Values ("000000", "Private", "Unknown", etc...)

While in the settings UI select all Unique Settings (these all can be randomized and are what identifies your device) you can do the Easter egg trick to select all of them, then in the top drop down click the button says "save checkboxes"

Now find the two apps you want to separate, click on the settings on them (this is my settings not the pro app) it will open the settings UI UNDER THAT APP CONTEXT, then simply click the alien, click randomize, click save Do the same to the other app, then boom your done walk away.

[1] Settings Under App Context [2] Click Alien ICON (Floating Action button) [3] Click Randomize Button there once [4] Click Save Button ... Done!

Once you get the method down it will take 5 seconds

So (4) clicks if anything :)

Anderhar commented 3 weeks ago

Can you tell me straight forward what you are looking for ? It seems you don't want two apps to share IDs but the approach of all Zeros would still share the same ID would they not ?

It's like GOOD vs. BEST. The approach of all Zeros (aka uniformity) is effective when there are tens or hundreds of users/sessions with alike fingerprints, which causes a mess for analytics. But if some way to implement automatic per-app randomization will be found, the former principle could be retired as less effective (wrote about it above in my second post).
Otherwise, providing all Zeros defaults would benefit those users who can't or don't want to customize anything manually (i.e. whole audience of the XPrivacyLua Free), while advanced users would continue to make customizations as they do now without losing anything.
But any of these options are better than what we have now.

And don't forget that in this discussion, you and I are housewives. We know sixteen ways to get a wine stain out of a rug and remember the birthdays of all of our husband's relatives. But at the same time, we barely recognize the difference between Android and iOS, and just don't want to be spied on in all those fancy apps we have a LOT of.

in the top drop down click the button says "save checkboxes"

By the way, another potentially confusing thing: it turns out the editor now has as many as three "Save" buttons that all work differently. It's again about UI intuitivity.

Anderhar commented 3 weeks ago

or use "Android Spoofer" as they do not provide your full privacy but hey they are easier.

Almost forgot. That time I first heard about that utility Android Spoofer you mentioned, but couldn't find it anywhere. Can you share a link?