I see quite a few people claiming that Graphene OS is the only way to stay private on Android or that anything but Graphene OS is insecure. In this post, I will describe why I personally do not care for Graphene OS and some alternatives I would suggest.
First off, let’s address the security features of Graphene OS. A lot of the security of Graphene OS comes from AOSP itself. In fact, AOSP has a very good track record. If you get malware on your device, you most likely can just uninstall it. For reference, here is the Android security page: https://source.android.com/docs/security/features
There are some Graphene OS unique security features. For instance, it has a hardened kernel and restricts access. I think this is actually pretty useful but I haven’t seen a need for it much in the real world. The tightened permissions are nice, and I think that is the main benefit of Graphene OS over AOSP. It is also nice that device identifiers are restricted from a privacy perspective. However, from my perspective, you should not run apps that are bad for privacy. Running it in the web browser will be more secure than bare metal could ever be.
One place I strongly disagree with Graphene OS is the sandboxed Google services framework. They say having Google in a sandbox is more secure. It may be more secure, but it isn’t going to be as private as MicroG. The real benefit of MicroG is that it is community-built. It isn’t a black box like Google framework, and any data sent back is randomized. I think it is a mistake for Graphene OS not to have support for it, even if it is also run in a sandbox.
Another thing I have noticed is that Graphene OS prioritizes security above all else. That doesn’t mean it isn’t private as it itself is great for privacy. However, if you start installing privacy-compromising applications such as Gmail and Instagram, your privacy is quickly lost. The apps may not be able to compromise the OS, but for them to be used, they need permissions. To be fair, this is a problem that is not unique to Graphene OS, but I think its attempts to be closer to Google Android make it more tempting for people to stick to poor privacy choices.
I think other ROMs such as Calyx OS take the ethical component much more seriously. Unlike Graphene, it promotes F-droid and FOSS software like MicroG. Graphene purely focuses on security while Calyx OS focuses on privacy and freedom. On first setup, it offers to install privacy-friendly FOSS applications such as F-droid and the like. I realize that MicroG is not perfectly compatible, and some people need apps, but I think alternatives are going to always be better.
One of the most annoying parts about Graphene OS is the development team and some of the community. They refuse to take criticism and have been known to delete any criticism of Graphene OS. Not only that, they have a history of trying to harm any project or person they don’t like.
Here is a page that isn’t written by me that sums it up: https://opinionplatform.org/grapheneos/index.html I think their take is fairly extreme, but I agree with them in many ways. I also understand how upsetting it can be to be censored.
I am not going through this wall of BS point by point but here is a fine example of how I know you have no clue what your talking about…
One place I strongly disagree with Graphene OS is the sandboxed Google services framework. They say having Google in a sandbox is more secure. It may be more secure, but it isn’t going to be as private as MicroG.
MicorG has privileged access to you phone, it literally has no privacy benefits over even standard Google Play. You are just choosing to trust MicroG with that level of access instead of Google.
Honestly just don’t use GOS if you don’t believe in its benefits or at least sack up and post this on their official forum.
MicroG is designed for privacy. Any data that is send to Google is randomized.
It is not. Please educate yourself a bit more. They obviously cannot randomize all data. It is more a besteht effort approach.
Lol because there has never been an issue with randomized data. This also does nothing to alleviate the issue of privileged access. You are clueless.
Running third-party code with root privileges is absolutely not a good idea. It completely breaks the Android security model. Android (as well as basically any modern, secure mobile OS) is built on and designed around the principle of least privilege. microG also bypasses SELinux MAC policies, which makes it even less secure, increasing attack surface and potentially making it easier to exploit.
Wrong guy. We agree. Try and read carefully.
First off, let’s address the security features of Graphene OS. A lot of the security of Graphene OS comes from AOSP itself.
So, I started off by hand-picking the security improvements that I deemed to be the most important but I came to the conclusion that my efforts were futile. There are just that many improvements across the board; the website is full of in-depth explanations, I highly recommend you check it out: https://grapheneos.org/features
The argument itself isn’t very sound to me. All of these other operating systems are… also based on AOSP. So any improvements they make are also brushed aside? Let’s disregard the fact they often deteriorate the security of AOSP rather than improving on it…
For instance, it has a hardened kernel and restricts access. I think this is actually pretty useful but I haven’t seen a need for it much in the real world.
Here you go, the Cellebrite Premium documentation. This one’s from July this year, it shows they have no dice at GrapheneOS devices:
https://discuss.grapheneos.org/d/14344-cellebrite-premium-july-2024-documentation
The tightened permissions are nice, and I think that is the main benefit of Graphene OS over AOSP.
Also includes network and sensors permissions, alongside alternatives to the ordinary storage and contacts permissions in the form of storage & contacts scopes.
However, from my perspective, you should not run apps that are bad for privacy. Running it in the web browser will be more secure than bare metal could ever be.
Yes an installed app does have more access than if the service was just running through the browser. However sometimes you may be forced to install the app, then you have to bite the bullet - but also remember you are given the tools to reduce its privacy impact. The aforementioned improvements to the permissions system allows you to tame even particularly hideous apps and profiles allow for even more isolation if desired.
One place I strongly disagree with Graphene OS is the sandboxed Google services framework. They say having Google in a sandbox is more secure. It may be more secure, but it isn’t going to be as private as MicroG. The real benefit of MicroG is that it is community-built. It isn’t a black box like Google framework, and any data sent back is randomized. I think it is a mistake for Graphene OS not to have support for it, even if it is also run in a sandbox.
Common misconception. Micro-G downloads and runs proprietary Google Play code for some functionality, and gives it privileged access too. Recommend reading this excellent forum post: https://discuss.grapheneos.org/d/4290-sandboxed-microg/11
Another thing I have noticed is that Graphene OS prioritizes security above all else. That doesn’t mean it isn’t private as it itself is great for privacy. However, if you start installing privacy-compromising applications such as Gmail and Instagram, your privacy is quickly lost. The apps may not be able to compromise the OS, but for them to be used, they need permissions. To be fair, this is a problem that is not unique to Graphene OS, but I think its attempts to be closer to Google Android make it more tempting for people to stick to poor privacy choices.
I think other ROMs such as Calyx OS take the ethical component much more seriously. Unlike Graphene, it promotes F-droid and FOSS software like MicroG. Graphene purely focuses on security while Calyx OS focuses on privacy and freedom. On first setup, it offers to install privacy-friendly FOSS applications such as F-droid and the like. I realize that MicroG is not perfectly compatible, and some people need apps, but I think alternatives are going to always be better.
GrapheneOS doesn’t dictate what services you should use or what ideology to follow. We do educate users about the risks and also benefits some services have over others so you have the full picture and can make an informed decision. No one is stopping you from running a de-googled setup, which by the way is the default out-of-the-box experience on GrapheneOS unlike on many other mobile operating systems that do make connections to Google, that includes CalyxOS. You can run a full FOSS setup too, perhaps with the help of the excellent app store Accrescent that we have been outspoken about and provide a mirror for easy and safe installation. F-Droid functions no different and if you really want to, MicroG is possible to get up and running too. Though you might have to make your own build to give it the privileged access it requires.
One of the most annoying parts about Graphene OS is the development team and some of the community. They refuse to take criticism and have been known to delete any criticism of Graphene OS. Not only that, they have a history of trying to harm any project or person they don’t like.
I don’t know where that’s from. We’re happy to dive into technical debates and explain our line of thinking, valid issues are acknowledged as such and dealt with. Take the fairly recent dns traffic leak outside of the vpn tunnel for example. It affects Android as a whole, we developed and pushed out a fix for it.
Here is a page that isn’t written by me that sums it up
Looks like someone went off rails here and developed an unhealthy obsession. /shrug
As a CalyxOS user myself, I was about to reply with some comparison points, and then I thought… Why bother. I’ll just get downmodded and dragged into another pointless argument with people who think it’s vitally important that they should be right and I’m wrong.
So my take is this: whatever works for you.
You like GrapheneOS? More power to you.
You like CalyxOS? You’re a rockstar.
You like IodéOS, LineageOS or /e/? Cool!What matters is not to run Google’s surveillance stack. That’s what’s important! Even if your deGoogled OS of choice isn’t quite entreprise-grade, it’s still 95% safer and 200% more honest than anything with straight Google on it.
I don’t care which is better. But I can share certain unique features which make me personally chose GrapheneOS over all other options I know of:
- it is possible to relock the bootloader
- you can disable the internet permission
- the location service is independent on google services, even if you install them
- you can use mutliple profiles and pipe notifications from one profile to another
- you control native app debugging (and its off by default)
- you have storage scope (as well as contacts scope)
- you get all the latest security patches and really fast
- and more…
Calyx checks most of those boxes. The storage and contact scope is harder that is about it. Also I like how in Calyx OS you can block clear text protocols.
Calyx absolutely doesn’t check this box:
- you get all the latest security patches and really fast
And the fact that people like you believe that they are delivering patches on time shows how misleading their team is about updates.
They deliver patches within a month. I don’t think there is that many critical vulnerabilities as AOSP has a small attack surface by design.
Graphene isn’t this magic OS that has patches faster than they come out. They are still dependent on the Android security team.
They deliver patches within a month. I don’t think there is that many critical vulnerabilities as AOSP has a small attack surface by design.
I really recommend reading more about Android Security Bulletins.
Graphene isn’t this magic OS that has patches faster than they come out. They are still dependent on the Android security team.
Obviously. But they also never claimed that. They at least do the bare minimum of delivering patches in a timely manner. CalyxOS takes a month, while GrapheneOS almost always does it on the same day. There is no excuse for taking a month to do this, unless you don’t really care about the security of your users, and you are misleading them, and giving them a false sense of security.
Until Graphene OS pulls a Crowdstrike…
Which ones do Calyx check?
Calyx doesn’t have storage scopes or notification piped to my knowledge
Right, but which ones do it check?
The rest of them
I second CalyxOS, been using it for about a year now and I think it’s a good compromise between privacy and convenience. Is it the absolute most secure and private? Maybe not, but my threat model is low and I don’t mind trading a little bit of privacy for a bit of ease of use.
And it is fun to use. Graphene sucks the life of android in my humble option. Everything is about security with anything else being second.
Graphene sucks the life of android in my humble option.
What’s not “fun” or lifeless about it? It’s a phone. I use it exactly as I would a normal Pixel, with the exception of having the convenience of Google Wallet.
Everything is about security with anything else being second.
Would you rather it be all about fun/having life with everything else being second? That doesn’t sound safe. And I’m still confused about you saying it having no life.
I will say what I do differently vs a normal Pixel, is I use the storage scopes and lock certain apps to certain folders as well as contact scopes to lock certain apps to only see certain people. I don’t use my phone for work, but if I did, that would be a separate profile/user.
I don’t even use proprietary apps so most if the “security features” aren’t even useful to me. It is overly complex for no benefit to me.
This is the first time ive heard about microg. How is the app support with it? Can you run every app that needs play service? I have Google Sandbox installed only on a second Graphene profile, and use it for bare minimum of apps that dont work without it, Bolt app, mostly weird MFA for work or package tracking apps i use once per month, while disabling most of their permissions. Will microg improve my situation in this case to be worth switching over? Does it work without root?
There are some known issues: https://github.com/microg/GmsCore/wiki/Problem-Apps
MicroG Requires system/root access (DOS does have a non-privileged version, but there are lots of warnings around it)
In my experience GOS Sandboxing is a better experience than MicroG, the only thing you might gain from MicroG is safetynet spoofing which GOS refuses to do.
https://eylenburg.github.io/android_comparison.htm
Related reading
That page is written by a Graphene OS fan. I wouldn’t take it as objective fact
It’s just a table of features for MANY oses, which table entry did you find to be incorrect?
This is a comparison of popular Android “ROMs” (or better: AOSP distributions). Please note I’m not affiliated with any of these projects and I am not giving any specific recommendation. If you think anything is factually incorrect, please let me know.
Except the table is designed to favor Graphene OS. They are making a recommendation in a sense
This was a very good post. Thank you for writing it.
What makes you think I didn’t use an LLM?
Just kidding I wrote it. Thanks for the compliment