Exploit Protection Compatibility Mode

Reminder: The articles on this site are not endorsed by the GrapheneOS project. Please visit the GrapheneOS website for official documentation.

Background

One of GrapheneOS's best features is its hardened memory allocator, hardened_malloc. Its documentation can be found in its GitHub repository's README.md.

In a nutshell, GrapheneOS's hardened_malloc helps protect against memory bugs. According to Google's Chromium Project, around "70% of [their] serious security bugs are memory safety problems" (source). So, clearly, GrapheneOS's hardened_malloc does some heavy lifting when it comes to keeping GrapheneOS users safe from exploits.

Unfortunately, most Android OSes don't have the same kind of protection, so when apps have memory issues, they sometimes don't know or can't explain why their app behaves strangely or crashes in seemingly random situations. But, on GrapheneOS, the apps will just crash.

What's Exploit Protection Compatibility Mode For?

Users can optionally go back to using the default Android memory allocator so they can still use desired apps with memory issues.

To do so, go to: Settings > Apps > All apps > APP NAME > Exploit Protection Compatibility Mode and turn it on.

Is it Safe to use Exploit Protection Compatibility Mode?

It all depends on the individual user's perspective. The hardened memory allocator is just one of many things in GrapheneOS that helps protect the phone's security and privacy. Even if a GrapheneOS user uses Exploit Protection Compatibility Mode to run an app or two, other apps' still benefit from the hardened memory allocator's protections. Additionally, all apps are still sandboxed, so even if an attacker were to attempt to exploit a memory bug, they'd still have to find a way around the app sandbox, which is also further hardened in GrapheneOS.