• General
  • access to the list of installed apps

GOS2023 User installed apps in the owner profile can't see apps in the secondary profiles. The Systems app isn't a normal app so can see.

    treequell
    Thanks for your quick reply. So : apps in Owner profile cannot directly get the list of installed apps from all profiles.
    Where is it stated ? Do you have a link to official AOSP or GOS doc ? Or maybe you are a GOS dev ?
    Another naive question : can they interact with the "Settings" app to get this list ?

      GOS2023

      No I am just a GrapheneOS user who hangs around here. I remember a Dev talking on Matrix about how the Settings app in owner profile can see which apps are installed on other user profiles, but I can't recall. Maybe you can find the Settings app in the AOSP documentation.

      This is a start:
      https://grapheneos.org/features#improved-user-profiles

      Android's user profiles are isolated workspaces with their own instances of apps, app data and profile data (contacts, media store, home directory, etc.). Apps can't see the apps in other user profiles and can only communicate with apps within the same user profile (with mutual consent with the other app). Each user profile has their own encryption keys based on their lock method.

      These unofficial wiki pages maintained by some GOS users may also be worth a read:
      https://hub.libranet.de/wiki/and-priv-sec/wiki/what-can-apps-see
      https://hub.libranet.de/wiki/and-priv-sec/wiki/inter-app-comms
      https://hub.libranet.de/wiki/and-priv-sec/wiki/user-profiles

        treequell Thanks, this wiki looks very interesting. I should also re-read the GOS doc, it expands quite fast.

          GOS2023

          Technically, Owner doesn't have access to list all installed apps for other profiles, but apps with system-level privileges can.

          For example, when logged in to Owner, you can list all installed apps for every profile in the Settings app by going to Settings > Apps > All apps. There, in the code, there's logic for something like "if logged in as admin, list all apps for all profiles". To do that, the app, Settings, needs the permission INTERACT_ACROSS_USERS_FULL, which is a permission restricted to apps that were included in the OS.

          I seem to recall some Google apps use this permission on Stock, but they 100% cannot get this permission on GrapheneOS. No non-system app installed in any profile, including in the Owner profile, can list apps installed in other profiles.

          I don't know for sure, but as far as I can tell Settings can list any profile's installed apps while logged in to any profile, even if it's not Owner. Technically, that's what Settings can do with its permissions, but in the places I've checked, AOSP code is careful to restrict this kind of usage to the Owner profile. GrapheneOS devs have done the same when changing Settings' code as well.

          [deleted] I have read this on this source, the wording sounds a bit vague (affect ?) :
          Any user can affect the installed apps for all users.

            GOS2023

            When apps are installed or updated, they're installed or updated globally for every user. Apps aren't installed in profiles, they're installed on the phone then "activated" for profiles.

              unwat What does it mean regarding previous statement from AOSP documentation : "Any user can affect the installed apps for all users.". Does it mean this statement is true for AOSP and false for GrapheneOS ? (As far as I have seen : I cannot uninstall from a secondary profile an app installed from Owner profile : it's not visible, as @treequell already explained)

                GOS2023

                I feel like that sentence from Android's website is way too vague and confusing, but it's technically correct.

                When it comes to this specific thing, GrapheneOS and AOSP are pretty much the same, unless I've missed or forgot something.

                It's hard to answer these things concisely.... Owner is a special case sometimes. Owner is considered to be the "admin," so it gets to see some extra info in the Settings app. That's why Owner can see some extra data for secondary users in Settings.

                Settings has access to do some inter-profile stuff. That's why Owner can see some info about secondary profiles' installed apps. Other profiles aren't flagged as "admin" so they don't get to see the same info in Settings.

                Outside of apps that have special access, like Settings, Owner and other secondary profiles are kind of the same.

                "Any user can affect the installed apps for all users" just means that one profile can update an app and it's updated for all other profiles. Or, for example, one profile can install an app from F-Droid, so all other profiles can only install the F-Droid version of that app.

                Profiles cannot affect app data for other profiles.

                unwat When apps are installed or updated, they're installed or updated globally for every user. Apps aren't installed in profiles, they're installed on the phone then "activated" for profiles.

                Sounds logical, but is the same case with the sandboxed Google Play Services?
                I just noticed that when I create a second profile and via "Install available apps" I switch the toggles for the three Google ones I get them instantly compared to via the Apps app from that additional profile.