# Considerations for Protecting Mac Applications

This topic describes various limitations and consideration for protecting Mac applications

## Limitations

The following limitations apply when you protect a Mac application:

>Applications that implement any of the following symbols cannot be protected with Sentinel LDK Envelope:

malloc, calloc, free, realloc, register_atfork, dlopen, dlerror, dlsym, dlclose.

However, application can use any of these standard library functions.

>Both Sentinel LDK Envelope and protected Mac applications can run with the Rosetta 2 emulator; however, certain limitations apply.

## Supported Xcode Versions for Mac Executables and Dynamic Libraries

The current protection engine in Sentinel LDK Envelope supports Mac executables and dynamic libraries built with Xcode 6 and later.

To build Mach-O binaries, ensure that the deployment target in your Xcode project file is set to 10.9 or later. (It may be necessary to install a newer version of Xcode on your machine to satisfy this requirement.)

Until the release of Sentinel LDK 7.10, Envelope provided a legacy protection engine to support the following:

>Binaries built with deployment target 10.7 or earlier

>Binaries built with macOS SKD 10.8 or earlier

>Certain other development environments that are not officially supported (for example: XoJo/Realbasic)

Thales recommends that you work with the current protection engine to protect your application. If Envelope rejects older binaries or displays warning messages for them, contact Technical Support to obtain the legacy protection engine.