# Exploit Protection Compatibility

**<— Return to:** @[https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/app-functionality-z5d0OKQz8m](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/app-functionality-z5d0OKQz8m) 


---

**—> Next lesson:** @[https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/sandboxed-google-play-services-CkvcIo9Ldy](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/sandboxed-google-play-services-CkvcIo9Ldy) 


Enhanced security is one of the primary focal points with how GrapheneOS is built. By default apps are sandboxed, which means they are separated from the core of the operating system and it's through the permissions that the user can decide which parts of data or functionalities a specific app is able to access. On top of this, GrapheneOS further restrict the capabilities of apps being able to run or communicate in the background - this is referred to as sandbox hardening, as well as exploit protection, since these mechanisms also avoid certain security vulnerabilities.

Now for the vast majority of apps this type of hardening offers primarily benefits, without inhibiting app functionalities - however, there are certain apps that can break because of enhanced hardening mechanisms. In the spirit of giving the user the freedom to choose how to use their device, GrapheneOS allows to customize its app hardening features, or exploit protection options in order to find the best balance between functionality and privacy for individual use cases.


The **Exploit protection compatibility settings** can be accessed via the ***App info*** page for each single app. Hold down on an app icon for a moment and let go - a window will pop up with with the option of *App info* and / or a circled letter i  


 ![by default enhanced hardening is enabled](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My8yN2RiZTJmMS1hN2UyLTQ5ZTEtODkyOS1hMzQ5NWUxY2E3MDcvZXhwbG9pdC1wcm90ZWN0aW9uLU9GRi5qcGciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDEyMzkwMCwiZXhwIjoxNzk0MjEwMzAwfQ.DDgjsITPaLGVr_WYAJjk2kU_chZaka5w1RpI8ygvcjg " =300x560")

To allow an app to run like on a standard Android phone, there is a switch to set this specific app to ***Exploit protection compatibility mode***. This will disable the app hardening that GrapheneOS provides.

Consider using this only for apps that you really need and also consider putting those apps into a separated container ([Private Space](/doc/120b43e4-91ee-4077-b693-f39e73e64d87) or [User Profiles](/doc/2a2e5a39-0a16-42b4-afc6-fccb5e2dde50)) to minimize security issues, as well as the amount of data these apps may collect.

 ![Exploit protection compatibility mode can be turned on to disable all app hardening](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My8wZTg4YTIxZS00NmI3LTRiYzUtYTZiZS00YjRjMjI3YTY1YjIvZXhwbG9pdC1wcm90ZWN0aW9uLU9OLmpwZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0MTIzOTAwLCJleHAiOjE3OTQyMTAzMDB9.0udUEduBxk5D8D87fzO5BCkkwcMvqK2ePAjtNTqse58 " =300x558")


Let’s take a closer look at the different exploit protection features:

* Hardened memory allocator

 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My9iOGZiNTkxNC0xOWQwLTQ3ZDEtYWIzMy1kODNkOTQ3OTk2MDcvaGFyZGVuZWQgbWVtb3J5IGFsbG9jYXRvci5qcGciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDEyMzkwMCwiZXhwIjoxNzk0MjEwMzAwfQ.uANwhBs85JinuVPtr1lq5QBWYZMzEb4Mz8Gtfvwi3r0 " =300x558")


* Memory tagging

 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My9mYzE5MjIxNS1mYTY3LTQ2MDgtODI0Yy1kODQyZWQwNjNiODYvbWVtb3J5IHRhZ2dpbmcuanBnIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQxMjM5MDAsImV4cCI6MTc5NDIxMDMwMH0.12jvrHvlQcKkk8rY-hTzVQTfRmFwLwQyf1PxvIyuB2g " =300x543")



* Extended virtual address space

 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My9hNjE1N2MxNC1lMzEzLTQ5YTAtOGZiZS1mYWE4OWVmNjVjNzQvZXh0ZW5kZWQgdmlydHVhbCBhZGRyZXNzIHNwYWNlLmpwZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0MTIzOTAwLCJleHAiOjE3OTQyMTAzMDB9.H86Mpr7f7AAbQFdCt-KFRVSHK73WE5ObdLf8NZIRcPs " =300x516")



* Native code debugging


 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My82MDNlMTUwOS01YmI1LTQ2YzgtYmIwYS05M2Q0YjkzZWUyZWQvbmF0aXZlLWNvZGUtMS5wbmciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDEyMzkwMCwiZXhwIjoxNzk0MjEwMzAwfQ.FYVV73YDBbLUkZcymEoq0coiu6UjOpiFFvijK9AqX6c " =300x569")


:::tip
We have noticed that especially apps related to finance may break with the default hardening settings. Usually it's because of '*Native code debugging*' not being allowed, but it may also be related other settings - every app is different!

:::



* WebView JIT

 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My80OTVkYzVlOC0zYzU5LTQyYjItYWU1YS0zYzUyN2M0ZDgwMGYvd2VidmlldyBqaXQuanBnIiwidHlwZSI6ImF0dGFjaG1lbnQiLCJpYXQiOjE3OTQxMjM5MDAsImV4cCI6MTc5NDIxMDMwMH0.IeGvtufjLINUz3BBlaRNY85A5QV--kGU-yXH_m8dZm8 " =300x534")



* Dynamic code loading via memory

 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My8yOTJjY2Q3OC05OTdhLTQ3OWUtYTQxNS1mYWQ0ZGQ5ODQ1MTYvZGNsIG1lbW9yeS5qcGciLCJ0eXBlIjoiYXR0YWNobWVudCIsImlhdCI6MTc5NDEyMzkwMCwiZXhwIjoxNzk0MjEwMzAwfQ.rQTDJxxCYi1rrBZANgNckGJJlXjBZ1tejFeEY9hXe6U " =300x560")


* Dynamic code loading via storage

 ![](https://learn.above.im/api/files.get?sig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrZXkiOiJ1cGxvYWRzL2NhOWNmOTRhLWU0MGEtNDc5YS1iOTlmLTIwMDgzNGNhOTc5My85YjgwZGU0MC0xNmY0LTRlYWYtOTE1NC0xNGY4MGY3MTljZmEvZGNsIHN0b3JhZ2UyLmpwZyIsInR5cGUiOiJhdHRhY2htZW50IiwiaWF0IjoxNzk0MTIzOTAwLCJleHAiOjE3OTQyMTAzMDB9.q5ED9r-HIbO_vlQ7JzkTwNW6zLnw_WuYYearAWslmKU " =300x590")




Inside each respective ***App info*** page, GrapheneOS allows users to individually turn off these exploit protection settings for each app. There is also an easy toggle to set an app to '***Exploit protection compatibility mode***', which will just turn off all app hardening features and run apps pretty much like on a generic Android system.


:::tip
Separate profiles will come in handy for apps that require hardening features to turned off.

:::

---

**Documents**

- [Getting Started](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/getting-started-2PIp21MpGq)
- [Application Guides](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/application-guides-jAjlxuCIBy)
- [Above Essentials](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/above-essentials-KkbCdqt7F7)
- [Profiles](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/profiles-UiYjt5uT5E)
- [Migrating from other devices](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/migrating-from-other-devices-h0cJeSFPOe)
- [Backup & Restore](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/backup-restore-8eA0cmjC3G)
- [FAQs](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/faqs-HUNU8JOych)
- [Privacy Strategies](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/privacy-strategies-uHCZH7KxdC)
- [Older Above Phones](https://learn.above.im/s/12aef602-75ec-4367-b619-07ad051e2a6f/doc/older-above-phones-fG3zUVbYnS)