To top
Products Products

Protection Suite - AxProtector Python


AxProtector Python is the simple-to-use tool to protect Python applications against reverse engineering. You select the file to be protected, and AxProtector Python encrypts it for you in one of three ways:

  • You encrypt the entire Python application with a license check added automatically (basic configuration)
  • You protect the Python application with modular encryption that lets individual features be activated by the user (custom licensing)
  • You use AxProtector Python as a shield against reverse engineering without requiring any license on the part of the user (IP Protection mode).

For excellent security, AxProtector Python can encrypt your Python application with individual methods, which are only decrypted and processed during runtime in a protected environment at the point of use. This means that the original Python code just makes a brief stop in the computer’s working memory.

To raise the level of protection even further, AxProtector includes the option of moving encrypted code onto a CmDongle for execution (Code Moving).

Basic Configuration

The fundamental function of AxProtector Python is to protect and integrate licensing in Python applications. It does so by encrypting all methods of the application with a license defined by the developer. The methods are then set to decrypt automatically during runtime.

If the user has the required license, the methods are decrypted on the fly; in all other cases, an exception would be thrown. It is good practice to keep the application’s core function unencrypted, so that it can catch and respond to the license exception e.g. with a custom error message.

Encrypting the methods dynamically has only minimal impact on the application’s performance. In the rare case that this represents a critical issue, performance can be improved by excluding individual methods from encryption.

Illustration of AxProtector for Python applications basic configuration

Custom Licensing

For custom licensing, different features of a Python application can be allocated different licenses to go with individual methods.

This allows users to only purchase licenses for selected functions. Beyond this, you have two options to engage with the user when other functions are accessed. The application can either, as in the basic configuration, catch an exception if a license is missing; alternatively, the API can be used to test whether a license is available for a given function (check_license) and hide that feature in the first place, if this is not the case.

IP Protection Mode

The IP Protection mode was created with freeware and freemium models in mind, but also works perfectly in combination with licensing. By contrast to the basic configuration, the encryption is not bound to a CodeMeter license. The key needed for decryption is securely hidden in the application itself. The application can be run at any time.

For freemium models, this IP Protection mode can be combined with individual licensing: Parts of the application in question are encrypted in the IP Protection mode and stay always available; other parts are bound to a license and can only be used by users who own the right license. The API can be used to check whether a feature is available or not (check_license).

Code Moving

For added security, the machine code can be executed in the safe confines of a CmDongle. To do so, the particularly sensitive parts of the application are turned into a C source file, which is compiled during encryption and safely stored as a binary, encrypted blob in the protected Python application.

During runtime, these parts are then accessed via the API (execute_moved_code). This moves the encrypted code into the smart card chip of a CmDongle, where it is decrypted and executed with the given parameters. The output is communicated back to the main system as a response to the API call.


AxProtector Python encrypts Python scripts.

The following operating systems are supported: Windows x86, Windows x86_64, Linux x86, Linux x86_64, macOS x86_64.

The following CodeMeter container types are supported: CmDongles with Universal Firm Code, CmActLicenses with Universal Firm Code, CmCloudContainers.

All versions of Python 3.x are supported.

Interested in a personalized offer for our CodeMeter technology? Just answer a few questions and our team will get back to you with all the information you need.