Writeup from 2022 that I assume is mostly still valid. TLDR:
- Mainstream Linux is less secure than macOS, Windows, and ChromeOS. (Elsewhere: “[iOS/Android] were designed with security as a foundational component. They were built with sandboxing, verified boot, modern exploit mitigations and more from the start. As such, they are far more locked down than other platforms and significantly more resistant to attacks.”)
- Move as much activity outside the core maximum privilege OS as possible.
- OP doesn’t mention immutable OS, but I assume they help a lot.
- Create a threat model and use it to guide your time and money investments in secure computing.
Once you have hardened the system as much as you can, you should follow good privacy and security practices:
- Disable or remove things you don’t need to minimise attack surface.
- Stay updated. Configure a cron job or init script to update your system daily.
- Don’t leak any information about you or your system, no matter how minor it may seem.
- Follow general security and privacy advice.


The thing about most default configs of any OS is that user storage is largely accessable to all apps. True of Linux, Android. Windows, …
Graphene has options to restrict that but you have to set it up that way. Android also has App sandboxing for app data.
Thinking through the threat model of course is always good as is hardening. All security is porous. Linux is fine generally. If one is exposing services on the public net it is not clear that any OS or software is sufficiently secure, that takes constant effort in terms of monitoring and management.
It’s also a bit of a pain to manage as an end user. I wish it shipped with a toggle that was a step up from stock Android but also not in the way constantly. Like “we went through the top 50 apps on Play Store and FDroid, we classified them as media player, social media, etc., and we made rules for each category that reasonably isolates it while still allowing core functionality.”
Android doesn’t expose any app data and requires a permission for accessing storage (unlike Linux).
However when many apps have a permission it becomes meaningless.