• General
  • First time install of GrapheneOS

I installed GrapheneOS yesterday on my Pixel 7 Pro and the installation process went very smoothly, certainly easier than CalyxOS that I tried recently.

I was a surprised at the lack of an app store initially, but I have read up and I am currently using the Aurora store anonymously. I know the app store is about choice, but I am not sure I have sufficient understanding to make an informed choice.

Ideally, I would like privacy, security and usability in any phone choice, but I am just a normal person and I do not have a need for anything exceptional in therms of security. I do use a mix of services/apps, Garmin, Roon, Proton mail/VPN, Natwest Bank, Bitwarden, Synology apps, Signal among others. Is there a way to remain secure and private?

I have read that Google play services is sandboxed, but I don’t really understand the implication. I tend to try and avoid google normally, however should I really install and use? I don’t know the answer. I could use a throwaway account I suppose, but if I did, say download google maps, how much information would google have available from the phone?

Is it a choice between security, which suggests installing google play services (and their app store), or privacy and installing via Aurora, F-droid or similar?

Thanks for reading.

    wetop Ideally, I would like privacy, security and usability in any phone choice, but I am just a normal person and I do not have a need for anything exceptional in therms of security. I do use a mix of services/apps, Garmin, Roon, Proton mail/VPN, Natwest Bank, Bitwarden, Synology apps, Signal among others. Is there a way to remain secure and private?

    A few of the apps you're mentioning may require Play Services to work or to provide certain functionality. If you're going to be using Sandboxed Google Play for app compatibility, I would personally also use Play Store with a dummy account made especially for that purpose. Aurora Store can be used as well, although it's not always ideal for a few reasons, including the fact that apps can refuse to work if not installed through Play Store itself.

    With regards to Sandboxed Google Play and how it works:

    The way it works on GrapheneOS is that you're able to install the unaltered, official Play Services/Store as a regular app, which, like all other apps, is confined within the same app sandbox.

    That means that Play Services is not capable of accessing anything that another regular app wouldn't be able to. They don't get special treatment or privileges. It's not a special sandbox that they run in, but rather the standard app sandbox that all other apps you install do.

    If you were to try and install Play Services as a regular app on another OS that doesn't implement the Sandboxed Google Play compatibility layer, it would crash repeatedly and refuse to work, because it wouldn't know how to function as a regular app, and would expect to be in its usual, privileged environment.

    GrapheneOS' compatibility layer teaches the app to use APIs that regular apps can use instead of the privileged ones so that the apps can function within that context.

    I hope that helps. Welcome aboard!

      • [deleted]

      • Edited

      wetop I have read that Google play services is sandboxed, but I don’t really understand the implication. I tend to try and avoid google normally, however should I really install and use? I don’t know the answer. I could use a throwaway account I suppose, but if I did, say download google maps, how much information would google have available from the phone?

      From my understanding they do not have any special privileges, they are installed the same way as you would install other apps. That sounds very well, nevertheless, these are Google apps, they can (and probably will try) collect as much data as it is allowed by an user. Also they can talk to other apps via inter-process communication. I still haven't found an answer if there is a chance for apps that have all network access revoked to "share" data with the internet via Google play services that would have network access allowed. If it wouldn't be possible, I think that GOS developers would stress this point.

      If I would like to be away from Google as much as possible, and would care about the data that Google can collect via Google apps, I wouldn't advice installing sandboxed Google play services, just because they are "marketed" as sandboxed.

      You can get more information here:
      https://grapheneos.org/usage#sandboxed-google-play

      Edit:
      matchboxbananasynergy was faster, so some information is duplicated.
      I would just add that if you will decide to install Play services etc., these has to be installed prior to installation of other apps that depends on it. So you need to install those three Google components via Apps and than you can proceed with other installations. If you would sideloaded Google dependent app and than install Play services, the app might give you errors or force closing.


        [deleted] I still haven't found an answer if there is a chance for apps that have all network access revoked to "share" data with the internet via Google play services that would have network access allowed. If it wouldn't be possible, I think that GOS developers would stress this point.

        If an app doesn't have the network granted to it and Play Services does (this is not in any way exclusive to Play Services at all, I'm just using it as an example here since this is what we're talking about; the principle applies to all apps and is how Android works), if both apps agree to share specific data, Play Services could receive it and send it off to the Internet.

        On GrapheneOS, exactly because Play Services work in the same exact sandbox/context as all other apps, they cannot see or interact with apps in other profiles. If you absolutely don't want 2 apps to communicate; don't put them in the same profile. Again, this applies to all apps.

        An app doesn't need Play Services to send data to Google, they can include Google libraries and run Google code, and while it's true that you can turn an app's Network permission off, a lot, if not most of the apps that require Play Services for their functionality will fundamentally be apps that require network access for their core functions, so revoking the network permission from it is likely out of the question.

        An app that doesn't include Google libraries or Google code would also likely be an app that doesn't need Play Services, and won't communicate with it regardless.

        At the end of the day, you have to trust apps you use with the permissions you grant them. Thinking that Play Services are needed for them to send data to Google and that Sandboxed Google Play is what enables that isn't actually correct; as we've established, the entire point is that Play Services can do the exact same things as all other apps on GrapheneOS, unlike Stock OS.

        [deleted] If I would like to be away from Google as much as possible, and would care about the data that Google can collect via Google apps, I wouldn't advice installing sandboxed Google play services, just because they are "marketed" as sandboxed.

        Sandboxed Google Play isn't "marketed" as sandboxed. That's literally what it is. You're running the unaltered Play Services within the same app sandbox as something else. Perhaps you didn't mean that negative way, but saying it's marketed or putting "sandboxed" in quotes as if that's not what's happening is a bit confusing.

          • [deleted]

          matchboxbananasynergy Perhaps you didn't mean that negative way, but saying it's marketed or putting "sandboxed" in quotes as if that's not what's happening is a bit confusing.

          This is a misunderstanding on your part.
          As you can see even in your citation, I didn't put the word sandboxed in quotes. So there was no evaluation, doubt or ridicule of Play services, and again I didn't write marketed but "marketed" - for not finding a better word, yet I don't think that the word is confusing in the context at all. GOS team clearly push the term sandboxed Play services everywhere. There's nothing wrong with that.

          Nevertheless, thank you for quite a summary. It would be very helpful putting something like this to grapheneos.org/usage page. I noticed couple of threads in the forum - and you surely must have too - where users discussed this and searched for answers to these questions.

            [deleted] Apologies, you're right. I missed where the quotes were there. :) It probably stems from my personal negative connotation with the word marketing, which (unfortunately) often involves misrepresenting things to push a certain narrative and just wanted to reinforce the fact that GrapheneOS doesn't attempt to do that.

            [deleted] Nevertheless, thank you for quite a summary. It would be very helpful putting something like this to grapheneos.org/usage page. I noticed couple of threads in the forum - and you surely must have too - where users discussed this and searched for answers to these questions.

            There are parts of the documentation which explains that apps in the same profile can communicate via mutual consent. Is there something specific that you have in mind that is not being addressed?

              • [deleted]

              matchboxbananasynergy Is there something specific that you have in mind that is not being addressed?

              In Usage guide in the section Sandboxed Google play there is this paragraph:
              Since the Google Play apps are simply regular apps on GrapheneOS, you install them within a specific user or work profile and they're only available within that profile. Only apps within the same profile can use it and they need to explicitly choose to use it. It works the same way as any other app and has no special capabilities. As with any other app, it can't access data of other apps and requires explicit user consent to gain access to profile data or the standard permissions. Apps within the same profile can communicate with mutual consent and it's no different for sandboxed Google Play.

              As it can happen with meticulously worded text a reader might not easily see the important information in the text, especially when the text is a little bit technical. Maybe it is there and it is clear, I do not see it.
              I would add a little notice for people who need more explicit wording, something along the meaning from your reply:

              matchboxbananasynergy If an app doesn't have the network granted to it and Play Services does (this is not in any way exclusive to Play Services at all, I'm just using it as an example here since this is what we're talking about; the principle applies to all apps and is how Android works), if both apps agree to share specific data, Play Services could receive it and send it off to the Internet.

                Thank you for the replies @matchboxbananasynergy and @[deleted].

                matchboxbananasynergy A few of the apps you're mentioning may require Play Services to work or to provide certain functionality. If you're going to be using Sandboxed Google Play for app compatibility, I would personally also use Play Store with a dummy account made especially for that purpose. Aurora Store can be used as well, although it's not always ideal for a few reasons, including the fact that apps can refuse to work if not installed through Play Store itself.

                This is the approach I have gone with now. I have installed Google Play for compatibility but also use Aurora Store. This google account is only used on this phone.

                matchboxbananasynergy I hope that helps. Welcome aboard!

                Yes, it does help, thank you again.

                [deleted] I would just add that if you will decide to install Play services etc., these has to be installed prior to installation of other apps that depends on it

                Thank you, this is approach I have taken.

                matchboxbananasynergy An app doesn't need Play Services to send data to Google, they can include Google libraries and run Google code, and while it's true that you can turn an app's Network permission off, a lot, if not most of the apps that require Play Services for their functionality will fundamentally be apps that require network access for their core functions, so revoking the network permission from it is likely out of the question.

                I currently have Google Play services with just Network permission and Google Play Store with Network, notifications and Sensors. I am wondering if it needs the last two...

                [deleted] As it can happen with meticulously worded text a reader might not easily see the important information in the text, especially when the text is a little bit technical. Maybe it is there and it is clear, I do not see it.

                I think I agree on this. Especially when the reader is an interested party, but arguably still a novice in the area (i.e. me). I wonder if this text could be supported pictorially, as people do take information in differently.

                  wetop and Google Play Store with Network, notifications and Sensors. I am wondering if it needs the last two...

                  It doesn't. You can revoke the Sensors permission for all three of the Google apps (Play Services, Play Store and Services Framework) safely.

                  Edit for clarity: the notification permission isn't required either, it just might be useful, for example in the case that you use the Play Store for updates. Either way it's not a sensitive permission.

                  Something else you might want to check: go into Settings > Apps > Special app access > Wi-Fi control > Disable it for Google apps and any other app you don't fully trust, if you haven't already done so. It's automatically granted to apps that request it since it isn't considered to be a dangerous permission but it's still sensitive and isn't necessary at all in many cases.

                    Thank you for the reply @233328

                    233328 It doesn't. You can revoke the Sensors permission for all three of the Google apps (Play Services, Play Store and Services Framework) safely.

                    Edit for clarity: the notification permission isn't required either, it just might be useful, for example in the case that you use the Play Store for updates. Either way it's not a sensitive permission.

                    My Google Play services has 'Network', Google Play Store has 'Network' and 'Notifications', and Google Services Framework again has 'Network' access.

                    233328 Something else you might want to check: go into Settings > Apps > Special app access > Wi-Fi control > Disable it for Google apps and any other app you don't fully trust, if you haven't already done so. It's automatically granted to apps that request it since it isn't considered to be a dangerous permission but it's still sensitive and isn't necessary at all in many cases.

                    Thanks for the tip, I disabled for the three Google apps. I also revoked for one of my bank apps, not sure it would need that access. Currently F-Droid, Proton VPN and Signal all have Wi-Fi control allowed.

                      • [deleted]

                      • Edited

                      wetop Currently F-Droid, Proton VPN and Signal all have Wi-Fi control allowed

                      For your information this permission has no effect on whether an app can connect to your wi-fi network.

                      I don't see any reason why any app should be able on itself to scan, create new network or control in any way wi-fi settings.
                      It is the same thing with sensors. For instance Spotify would try to get data from your gyroscope (and other sensors) all the time when it is running. I don't like these parasites' practices of these apps.

                      If you deny this permission to Signal or F-droid, it will work exactly the same way...

                        [deleted] If you deny this permission to Signal or F-droid, it will work exactly the same way...

                        That is interesting, I wonder what the reason is that they ask for this permission. I have turned it off now, to see if it has any effect...

                        Any more suggestions?

                        wetop I currently have Google Play services with just Network permission and Google Play Store with Network, notifications and Sensors. I am wondering if it needs the last two...

                        The baseline setup is GSF, Play Services and Play Store, all with network permission, and with Play Store having battery usage set to unrestricted. (This makes it so FCM notifications come in immediately and is generally the supported setup for it).

                          matchboxbananasynergy To get notifications working I only needed to allow Network and nothing else for GSF and GPS (with unrestricted battery) . Since I don't download from the Play Store I allow nothing.