# Mac Default Protection Settings Screen

Protection settings for Mac binaries are displayed when you select Mac under Default Protection Settings in the Project pane.

This screen defines the default values that are assigned for parameters in the Protection Settings screen for all Mac projects. You can override the settings for a given project in the Protection Settings screen for that project.

The Mac - Default Protection Settings screen provides the following fields:

Detects user mode debugger | When selected, prevents debugger tracing of the protected application. Factory setting: Selected. NOTE If gdb is running, it will be detected as a debugger when this setting is enabled. This means that the protected application will not launch.
Protect against memory dump | When selected, disables Read access to full memory pages that are completely full of code (that is: _text). By default, Read access to memory pages that are not completely full of code is not disabled. Factory setting: Selected. NOTE Once applied, this setting cannot be undone. If Read access is required to the code stored in these pages during run-time, the protected software will return an "access denied" message and data will not be retrievable.
Gap adjustment | Cleans the file header to ensure the Gap between the file header commands and the code is sufficient. The factory setting is On Demand, meaning that the file header will only be cleaned if required in order to ensure that the gap is sufficient. In addition, Gap adjustment also obfuscates the structure of your application or dynamic library. You should consider the balance between the advantages of hiding code against the disadvantages of having to debug a protected application that contains obfuscated code. NOTE In the event that you have enabled the Gap adjustment functionality, and you still receive an "insufficient gap" error message, you may need to incorporate headerpad options into the source code of your application or dynamic library.
Periodic background checks | Set a time interval (in seconds) for periodic background checks for a Sentinel protection key with the required licenses. Factory setting: 300 Regardless of the setting for this field, the License Manager checks for the required license when the application is started. Use the parameter Allow grace periods after failed license check to determine the behavior of the application if the required protection key is not found For more information, see Periodic Background Check Behavior. IMPORTANT For applications that may use the Execution Count license type and the Admin License Manager: End users can configure the Admin License Manager session to time out after as little as 10 minutes of inactivity. If the background check interval is greater than the idle time-out interval and a time-out occurs, the background thread will re-login to the protection key. This could result in additional consumption of licenses for applications licensed with the Execution Count license type. Therefore, Thales recommends that you do one of the following: >Set a time interval of less than 10 minutes for Periodic background checks in order to prevent the session from timing out. >Take other precautions to ensure that the end user does not set the idle time-out interval to a value lower than or equal to the Periodic background checks interval.
Allow grace periods after failed license check | Number of grace periods to grant the user if a background check determines that the required protection key is not connected. Factory setting: 1 This parameter is only applicable if Periodic background checks is selected. For more information, see Periodic Background Check Behavior.
Encryption key for data files | Specify eight alphanumeric characters to create the key that will be used to encrypt data files. Use the same key when multiple applications are required to access the same set of data files. To create random encryption keys each time a new project is initiated, enter eight consecutive hyphens in the field.

### Related Topics

Project Pane

Resolving "Insufficient Gap" Errors

Resolving Memory Dump Issues