I’m considering the switch to GrapheneOS, so I watched this interview with one of the members of the GrapheneOS team, and honestly, I feel it was a great general introduction to it and touched on common features and misconceptions.
For those who don’t know, it’s one of the most secure and private mobile operating systems out there. Some things that I took away:
They touched upon MAC randomization. I researched a bit on my own about what the need for it is. Apparently, it’s standard practice to randomize MAC addresses when scanning WiFi connections. However, GrapheneOS (and Pixel firmware) are even better at this, as they make sure they don’t leak any other identifiers when doing so. They also allow you to get a new random MAC for every connection that you make (not sure whether this is very useful, as this can cause problems). On a related note, even when WiFi/Bluetooth are “off,” stock Android can still scan in the background to improve location accuracy (by matching visible networks/devices against Google’s database). So basically, even with WiFi/Bluetooth off, Google still knows where you are. In GrapheneOS, this option is off by default.
They have their own reverse proxies that they use to talk to Google on your behalf when needed.
Apparently, in the USA you can be compelled to provide a fingerprint or Face ID. Courts have ruled this doesn’t violate the 5th Amendment because it’s physical, not testimonial. BUT you cannot be compelled to provide a password/PIN. That’s considered testimonial evidence, protected by the 5th Amendment. GrapheneOS has a two-factor system where, after using your fingerprint, you still need to enter a PIN, so it helps with this. They also have a BFU state after reboot, which is the safest and requires you to enter your full passphrase.
Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.
In this community everyone is welcome to post links and discuss topics related to privacy.
much thanks to @gary_host_laptop for the logo design :)
For point 1, you can choose the MAC privacy settings on a per-connection basis. For example, my MAC is randomized periodically on all connections except my home network, where I use my device MAC.
I mean that is standard on all mobile OS. IOS has it standard android has it.
2 months GOS user here on Pixel 9. So far so good. You do have a lot more controls over the traditional Android phones. In fact, you have too much that for average user, i think it can be a bit overwhelmed.
PROFILES
For eg, you can easily install Google apps and use them like a normal phone. Problem is on Graphene, you have many ways to set this up. You can:
a) install in your main profile and be done
b) install Gapps in main the private space within main profile
c) some crazy stuff like install Gapps in the private space of a secondary profile, which you lock using a completely different password.
I spent too much time in this loop lol. Finally i settle on: all daily apps in main profile and sensitive apps live in a separate profile (banks, important docs).
SECURITY
Next the security features in GOS are amazing. You can control every single permissions that an app can do. I mean every thing including the system Phone app. I can go 100% paranoid and prevent the Phone app from Phone logs, microphone and Phone. Essentially making the Phone app useless… Very very nice but you need to experiment with your apps and see which permisions you can deny and which you cant. On normal Android? You can deny some apps but the system ones, you cant.
I especially like the USB c feature. I leave mine on Charge only. So the port only functions to charge my phone. This cuts off every other connections: plug into PC, plug into car for Android Auto…etc. I like it that way. .
Btw, Android auto works great too if you need it. .
OS is so minimal that you will need to install essential apps on your own. For eg, i use Florisboard for keyboard, MiX for file manager.
a) your usual password, pin, fingerprint
AND
b) a secondary pin that can be scrambled at random. So you unlock with your fingerprint then you need to enter that 2nd pin or password to enter the phone. EVERY single time. And it is scrambled too so you dont have to worry about people tracing your fingers.
AND
c) the Duress pin. This is like the nuke PIN. You set this up and hypothetically you are in a dangerous situations (thieves want you to unlock, local police abuse your phones…etc), you can enter this instead of your normal screen lock pin/password and every data is nuked. I havent tried it yet because i spent too much time set my phone rhe way I like it lol. If somebody tries it out, pls let me know.
INSTALLATIONS
Stupidly easy. On the OG Pixel, if you want to install LineageOS, you have to be very careful. Beside downloading the ROM, you need to flash a custom recovery like TWRP. Then becaude it is a Pixel, you nees to be careful which slot to flash the ROM. Flashing to the wrong one will brick the phone.
On Graphene? It is literally plug your phone in and open the browser where the install notes are. The ONLy technical thing I need to do during the process waa enable bootloader unlock. Everything else was like “GOS finishes this, GOS finishes that, can you press this button, GOS is rebooting…”. .Very very simple.
**SOME HELPFUL POINTS (i hope) **
dont treat this as a Degoogle phone. .You can but the strong point of GOS is security.
some features are not available compare to like.Samsung’s ONE UI . For eg, only allows an app to connect to 5G and not wifi.
dont create a super complicate setup. The backup process will a pain.
deleted by creator
My only problem with GrapheneOS is the lead developer.
What’s wrong with the lead developer?
That’s cool and all. But I just want a working Linux phone to use as a daily driver. That doesn’t require constant fiddling and is made with modern, powerful, hardware.
Keep an eye out for what people say about Jolla’s next phone, when it’s out sometime next year.
Even the iPhone can handle the bully tactics with cops. Simply attempt to shut down the phone. You don’t have to follow through, pulling up the shutdown slider is enough. It will require a password to unlock after that.
I’ve been using Grapheme on a Pixel 8 Pro for about 6 months it’s been an adventure. There are so many options to lock stuff down but when you try full lock down some apps don’t work and the error messages they throw don’t say much so you in harden one thing at a time to make them work. This is not a phone you can just throw your SIM in and expect it to be just like your old phone.
I do feel pretty confident with this phone on a Cabe SIM but you do need to commit.
What is a Cabe SIM?
I apologize its Cape
https://www.cape.co/
My only defense is that post was before coffee and food
I told you I will switch to Graphene OS, you don’t have to sell it to me.
Is switching to GrapheneOS reversible?
I was wondering whether it affects warranty or hinders seeking service if there’s any problem in the phone.
it is 100% reversibile on pixels made so far and since it’s only available for pixels…
Edit: Afaik there are no warranty issues if you flash stock rom before, which might make it harder if your hardware fails.
The only thing I missed when switching to GrapheneOS from Android was Google Pay, and that wasn’t that big of a loss.
I just got a phone case that holds my debit card in the back and turned off NFC.
Yeah, as they said most banking apps now work, however, Google Pay doesn’t.
There are alternatives to it like curve pay but I haven’t done the research whether they’re trustworthy enough. EU company I think.
I tried to set up Curve on my pixel 7 with graphene os and it wouldnt let me create an account. After filling in my contact details the app just said “We are unable to verify your identity” even though it never even asked me to show ID (I never reached that screen).
When i emailed Curve customer support (which is terrible btw, theres about 2 months between replies) they just said things like “We cannot offer you an account at this time” and “We were unable to verify your identity” and “We are unable to disclose the reason for denial for security reasons”.
I’m not sure if graphene os had something to do with it.
So just in case if you want to set up Curve maybe create the account first on a non-graphene phone, then log into the app on graphene after the account is already created.
You have to install GrapheneOS’ Google Play (sandboxed) and services for banking and government apps. And you can install Google Play with stock Graphene, it is very easy.
In my country everything is built around this 2FA app that requires Google Play Services. But a phone with GrapheneOS and sandboxed google play should be better in total than just running stock android I guess? I wish I didn’t need google play services, but currently I do.
Yes. The top comment says Google Pay, not Google Play. The sandboxed play API has worked well for me personally.
The threat level for google play services is different in graphene as it runs in what they call an “appbox,” which basically means Google Play is just another app that’s sandboxed like everything else.
Would there be any benefit in running google play services in a private space, or does the sandboxing already provide that separation?
I don’t think so. From what I gathered, the only thing Play Services can see on GrapheneOS is the list of other apps you have installed. That’s it. They can’t see anything else unless you grant access to it. You’re not giving Google root access to your phone, you’re just installing an app that happens to be made by Google, and it’s locked down like everything else.
the only bad thing about graphene is that it needs an expensive pixel. and how they are mostly unobtanium.
Wait? They are unobtainable now? What happened?
i’m not sure what the problem is, but they are crazy expensive and hard to find in south america, and probably many other places.
I got a pixel 9a for 370 euro in Sweden, which isn’t too bad. You can get a good refurbished 7 for less and it will have support for years to come.
i don’t live on sweden though.
How much is a refurbished pixel 8a in your country?
i quickly looked it up and found used 9s, and it’s about 5k.
could probably find better prices for a working one, but there won’t be any miracles.
also found a 7 pro with a broken screen for 2k, kind of a steal for how much these go for tbh
but still, it’s a broken phone for 2k and i don’t think these screens are cheap either.
The pro versions will be much more expensive than the “a” models (like 9a, 8a, 7a, etc), if you can find an “a”-phone, it will be cheaper. I would get at least an 8a, since they have support until 2030 or something like that, the 7a has support until 2027. The 6a is the oldest one which still has support, but only for a year or so more iirc.
they don’t sell here, so i rely on luck somewhat to find specific models in the used market from someone that paid the big price to import it. and usually people want to get their money’s worth so they are mostly all chewed up, very old and deprecated, or unaffordable.
i debate investing on an old pixel to get a more private phone every time i need a new one, but so far always decided it’s not worth the amount of money or hassle they want for them. i keep hoping for other manufacturers to adopt the more thorough pixel security, or for graphene to relax it’s requirements a bit.
Ah! I didn’t know they didn’t sell there, that changes things.
Just doing some TP math for you.
A xiamoi Redmi something something is about 130€. A pixel 8a is 370€ or a 9a 500€.
With the xiaomi, you are getting no security updates for more than a year. For a pixel 8a, you get 6 years and 7 with the 9a. Therefore, if you want to keep your phone up to date because your Banking app needs those to work, you are looking at about 65/71€ per year. Also, if you want to keep it longer, you can use it for longer, with the build quality and a battery change up to 10 years or so.
Also, anecdotally, those cheap phones are built like shit, run like shit, and you are genuinely better off buying a Samsung galaxy S7 and daily driving that. (Which I got when the S10 first came out, and BTW is still holding strong when I need a second phone in case I loose my pixel 7, after 6 years, unlike my huawei P30 which didn’t last a year until it started getting to 100°C when being on, and lagging to the point of being unusable.)
pixels cost as much as an actually good used car here.
180 euro is basically minimum wage here. none of the phones you mentioned are affordable at all.
edit: just noticed it says 130 not 180, but still.
Hey there, GrapheneOS user here!
This can not only be turned off entirely in settings, but you can actually modify it on a per-network basis! For example, on my home network, I can tell it to use no randomized MAC at all, or a per-network randomized MAC, meaning it will choose a different MAC address than my normal one whenever I connect to my home network, but it will always be the same MAC on my home network, only changing on other networks.
Which you can also disable if you don’t want GrapheneOS to proxy any particular type of your data, and you’d rather it just go straight to Google instead for security reasons, even if you give up a little privacy.
Yep, however an important caveat is that if you’re not a US citizen, you can still be compelled to give up your password or PIN, otherwise you’ll be denied entry to the country. And, if you’re a US citizen, you can have your phone seized and held for some time (i.e. months), even if you’re then allowed entry to the country. (this is likely so the government can wait for an exploit to become known, or have more time to run a cracking algorithm that’s computationally expensive)
Not enabled by default though! This can also be used within the OS itself. For example, I can set a PIN+Fingerprint access for my lockscreen, or PIN-only access, then still individually lock an app on my phone with a fingerprint without it also having to be enabled for my lockscreen. I’m unsure if that’s supported on stock Android.
All phones have a BFU (before first unlock) state, and GrapheneOS doesn’t require a passphrase unless you’ve set one, otherwise it’s your PIN. Fingerprint unlock is disabled until after BFU though, so it requires essentially using a backup PIN even if you always use your fingerprint, at least for first unlock.
However, GrapheneOS is unique in that companies like Cellebrite, who sell the government hardware and software to crack people’s phones and exfiltrate their sensitive data, have stated in leaked slides that they can’t unlock GrapheneOS devices BFU, (if they’re updated to at least security patches after 2022, which any GrapheneOS user reasonably should be) while they can crack stock Android devices BFU.
This is why I always make sure to fully shut down my phone before I go through airport security, for example. It’s also possible to simply “Lockdown” the phone to disable biometrics again and require a PIN/Password like during BFU, but in that state the phone is not actually in a BFU state, so it’s not fully protected.
There’s a tiny bit more nuance to this. Your cell service will still be active even if you disable WiFi/Bluetooth, and that can still track you, even if it’s not through Google’s location services, since your carrier still gets pings from your phone.
GrapheneOS’s airplane mode disables the cellular radio entirely, whereas some OEMs don’t do that on their phones, even when you turn on airplane mode, meaning your cell provider could still triangulate your position regardless of if you have airplane mode on or off.
Also, GrapheneOS additionally supports a proxy service for more accurate GPS positioning, which can reduce the amount of data available to Google, even if you need more accurate positioning data using nearby networks.
Thanks for the in-depth answer, I think I will try installing Graphene today.
Oh nice ! Makes it way more useful then as I saw forum threads of people saying there’s no point in randomizing on your home network and may cause issues.
Did not know that, fascinating! Even Airplane mode is upgraded :D
Good luck!
First thing I’d recommend you do when you get it set up is literally just go through every single settings menu and see if anything catches your eye. There’s a lot of random settings that GrapheneOS adds that can be very useful. Some of these might not be visible at first glance. (for example, when you’re installing an app, a popup will appear asking if you want to grant the app network access when you install it, and if you toggle it off, that app can’t talk to the internet at all, not for ads, telemetry, or anything at all.)
Just be aware that some features that Google implements on stock Android aren’t available, because they’re not part of the Android Open Source Project (AOSP)
Things like Google’s Find My Device features, some of the extra lock screen customization (e.g. custom clocks other than just simple color changes), automatic music recognition, (e.g. Shazam but built into the OS and running in the background for some reason), etc.
One thing I haven’t understood properly I feel is how notifications work. They talked there’s basically 3 ways of sending notifications on android. FCM (googles system) , websockets, unifiedpush. Most apps use FCM so you need play services installed to get notifications, right?
How does that work through profiles though? Some commenter in this thread said you can forward them from another profile if that profile is running in the background? But if I have google play services installed on profile B but not profile A? Do I have to install them on every profile?
I may not fully understand how profiles work yet.
Not all, and especially not 99% of FOSS alternatives. Many apps simply fallback if they can’t reach Google’s system service. For example, all my banking apps worked fine without play services, could send notifications, etc. Discord even sent relatively up-to-date (with a small delay) notifications… but one day, it stopped doing that, and now Discord requires (sandboxed) Play Services to send me notifications.
It’s a bit of a mixed bag, but the vast majority of apps I’ve used seem to have fallbacks, excluding most games, and a larger percentage of banking apps compared to other ones.
Think of profiles as just your regular user experience on the phone, just on a separate account that can do all the same things but is totally isolated, without shared app data, settings, etc. The user experience is like having two completely separate phones, just with the same cellular network, OS version, and it’s running on the same hardware. (oh, and only your primary (default, one you start out with) profile can manage all the other profiles. It’s sort of like the default “admin” account of the phone)
Everything is isolated, unless you tell GrapheneOS to connect the two in some way, the only way I know of currently being… Notifications!
Now imagine that if you’re on Profile B, and Profile A gets a notification. You just get a notification saying “Profile A has a notification” with a button saying Switch to Profile A.
Simple as that. Profiles run in the background as long as you’ve unlocked the profile at least once since the phone’s last restart, and any corresponding notification services on each, even though they’re isolated to their own profiles, will just cause the system to send a notification to whichever profile you’re on saying there’s a notification available.
If I have Play Services installed on Profile A, and an app sends a notification through it, it doesn’t matter if Profile B has Play Services, because the system is just picking up that a notification is detected on Profile A, and letting me know on Profile B.
Lemme know if you have any more questions. I’ve been daily driving GrapheneOS for a while now and have a current install on my phone, so I can help explain any specifics of most features it has that you’re curious about.
Thanks for the Mac address tip. My home WiFi UI gets super slow after I have a million different devices connected because I have multiple GrapheneOS devices. Now I won’t have to constantly delete logged devices
Don’t forget the Duress password!
You can be charged with destruction of evidence if you use that, consequences could end up being worse than if you just handed over your password after physical coercion, after all it’s pretty hard to prove torture in court.
To add to the security of the PIN and to prevent reading screen smudges you can enable an option so that the digits on the PIN pad are randomized each time it loads.
Graphene also supports fully isolated user accounts. Applications running in one profile can not even discover the existence of the other profiles*. There is a way to forward notifications from user containers but is disabled by default. Each account, when inactive, is encrypted independently of the system drives and the key is generated at user login with the entry of a password and overwritten in memory upon logout.
*If you enable the notification forwarding, a hostile application running on the primary account could deduce that there is at least one other user profile on the phone by analyzing the notifications.
I can’t believe I forgot to mention that! I use it myself, and while it can take a bit to get used to typing by actual numbers and not muscle memory, it’s great for minimizing the risk of shoulder surfing.
And it supports stock Android’s Private Space feature, too!
Wow they really put a lot of detailed work into it
That’s only a tiny, tiny piece of it. If you want to know more: https://grapheneos.org/features
On #3: every modern phone running encryption has a BFU (before-first-unlock) state where the data on the device is more secure than after its first unlock because you haven’t entered your password/PIN to decrypt the data. GrapheneOS also has this, but it is not unique to GOS.
FWIW, considering the 5A context above, I momentarily assumed that stood for Back the Fuck Up 🤣
Yeah I apologize, I incorrectly assumed that GrapheneOS’s BFU state is more secure and requires you to enter your passphrase by default and not PIN and that this is not available on stock android which some people pointed out it is.
On a related note though, Graphene does have an interesting feature where if phone hasn’t been unlocked for some time it will force reboot to get into that BFU state. Metroplex sets it to 8 hours.
I think they also have some aggressive USB port control, but I haven’t looked into it. Where you can only charge phone in BFU state or something like that. Haven’t had time to read into it : https://grapheneos.org/features#usb-c-port-and-pogo-pins-control
Would be great if it was possible to protectively encrypt the phone from an on-state, as it were in BFU. Through a shell command or an app or something…
Yeah but on my Android phone I can’t require a password for first unlock.
… I think… Unless I want a password for every unlock
No. Even on standard Android, you must enter the password/PIN on first unlock because that is required to load the decryption keys that make biometric authentication worm.
I think he means that graphene has a complete separate full password for bfo, not just your pin
I wish that were a thing, but I don’t think it is. I’d like to set a long password that’s hard to brute force for the first BFU decryption unlock, but use a separate shorter PIN for subsequent screen unlocks.
I recently learned that police will clone your device storage and brute force the password without having to go through the phone’s PIN entry, so you’ll need a long to make brute force time consuming.
You’re right, I don’t think it is a thing either, even on graphene. Sounded cool.
You can set that on any android. Pin is just the default, but it’s up to you to use a full password, then you need the full password for first unlock after boot.
Does it also work with lockdown mode?
No, BFU is stronger, you have nothing in memory until initial decryption.
Thanks. Makes a lot of sense.
Invidious: https://redirect.invidious.io/watch?v=eUEtc6gblK0
They definitely use your data to market to you on their platform. They might not be selling your data outside their network, but does that suddenly make it okay? They are still using your data to their enrich themselves.
Does iOS also provide:
Honest questions. I don’t use anything Apple, but have used GrapheneOS for years.
How’s Graphene OS as a daily driver?
deleted by creator