DeletedUser588
Sadly its very common for apps to work around incomplete/non-exhaustive permissions like QUERY_ALL_PACKAGES
The GrapheneOS team consider QUERY_ALL_PACKAGES to be the weak beginnings of an attempt by Google to provide some more privacy, but currently it is not at all serious.
Google could and may intend to continue to work on blocking apps ability to work out other apps are installed in the same user profile, but currently that doesnt appear to be something they are concerned about.
DeletedUser588 This would fall under my example of user error, installing a malicious app with a suspicious manifest.
Carefully looking through an apps manifest can help. Some manifests are very long. Consider how long manifests will be for some of the examples in the article I link to below. Also you need to know what you are looking for. What tricks apps could use. There is the method bitwarden used, but also various other ways.
Also need to consider what percentage of GrapheneOS users have read the app manifest for every app they have installed. What percentage of GrapheneOS users know what an app manifest is. What percentage of Android users.
I think its wrong to classify this as user error. Its a property of AOSP based operating systems and the app ecosystem as they currently exist.
Heres a recent article which illustrates how widespread it is for apps to work around not having the QUERY_ALL_PACKAGES permission and the fact that Google appears to currently not be concerned about apps doing this as they are aware and have not acted to tighten Play Store policy or to make technical fixes.
https://peabee.substack.com/p/everyone-knows-what-apps-you-use