<!--
{
  "availability" : [
    "macOS: 10.7.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BundleResources",
  "identifier" : "/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-executable-page-protection",
  "metadataVersion" : "0.1.0",
  "role" : "Property List Key",
  "symbol" : {
    "kind" : "Property List Key",
    "modules" : [
      "Bundle Resources"
    ],
    "preciseIdentifier" : "entitlements:Entitlements.com.apple.security.cs.disable-executable-page-protection"
  },
  "title" : "Disable Executable Memory Protection Entitlement"
}
-->

# Disable Executable Memory Protection Entitlement

A Boolean value that indicates whether to disable all code signing protections while launching an app, and during its execution.

## Discussion

The system causes an app that attempts to directly modify sections of its own executable files on disk to forcefully exit. Use the [`Disable Executable Memory Protection Entitlement`](/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-executable-page-protection) to enable this kind of unsafe software update. Even with this entitlement, however, updates that modify some files but not others may cause unexpected app state. Ensure that you perform updates atomically, with the final app bundle swapped out after app exit.

The entitlement effectively encompasses the behavior provided by the [`Allow Unsigned Executable Memory Entitlement`](/documentation/BundleResources/Entitlements/com.apple.security.cs.allow-unsigned-executable-memory), but not the [`Disable Library Validation Entitlement`](/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-library-validation).

> Warning:
> The ``doc://com.apple.bundleresources/documentation/BundleResources/Entitlements/com.apple.security.cs.disable-executable-page-protection`` is an extreme entitlement that removes a fundamental security protection from your app, making it possible for an attacker to rewrite your app’s executable code without detection. Prefer narrower entitlements if possible.

To add this entitlement to your app, first enable the Hardened Runtime capability in Xcode, and then under Runtime Exceptions, select Disable Executable Memory Protection.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)