- Edited
I'm currently researching configurations and app downloading on GrapheneOS; more on this here. As part of this, I found Google identifying the user (in part) based on the unique fingerprint from the apps they have installed to be a one of the hardest problems to solve. It can be mitigated by compartmentalization through multiple user profiles, but if it is possible to avoid this in another way, I'd still prefer a solution in which all apps are downloaded from the owner profile. This is where I'd appreciate your help, ideas, and knowledge.
Google will inevitably know which apps are installed through the Play Store itself. If there are only a few apps installed for each instance of the Play Store because different areas of usage are split into multiple user profiles, I assume this to be of little risk to identifiability and linkability. However, the more apps are installed like this, the more unique and valuable this fingerprint can become. It's hard to judge at which point exactly the risk becomes too great, and of how much use data on all installed apps on the whole device would be for Google. Maybe someone can shed some light into when deanonymization should be deemed realistic because of this?
I'm uncertain whether Google will inevitably know about all apps inside a user profile, including those installed from different sources (like F-Droid, Aurora Store, Obtainium, Accrescent). In this case, it concerns an owner profile in which Sandboxed Google Play is installed, and the Play Store is used with a Google account to download at least some apps. However, none of these apps are used inside the owner profile itself.
One potential issue is IPC, for which I assume Google will have access to all installed apps, regardless of source. This might be prevented by disabling the apps immediately after install, which doesn't impede the functionality of updates or usability inside other user profiles if installed there. However, I don't know how the GrapheneOS implementation that allows disabling all apps works exactly, so I'm uncertain.
Another issue would be the Play Store recognizing apps from other sources, especially if it offers them as well. As disabled apps can still be updated, they can at least be recognized in some way. This might be avoided by only installing apps or versions thereof that aren't offered in the Play Store; for example, the F-Droid version of Bitwarden instead of the Play Store one. However, this approach will not be possible for all apps and sources; Aurora Store and APKPure can't be used at all. And still, even that might not suffice – more info about what exactly the Play Store can access would be appreciated. Another approach might be using storage scopes to try separating Play Store apps, but I'm again unsure whether this can work.
As you see, I have a few ideas, but also lots of uncertainty. I already did some research into these topics, but for some I haven't found much info. Please don't hesitate to share your ideas, more in-depth knowledge of the systems involved, or even good sources for my research. Thank you!