Tutorial: Identity-Based Licensing Using Machine Accounts

Sentinel LDK Cloud Licensing (CL) with Sentinel EMS

Looking for a powerful, centralized, role-based solution for handling all of your software protection, licensing, and entitlement needs? You've come to the right place!

Sentinel LDK is a comprehensive, out-of-the-box software monetization solution that protects and licenses your applications and services, so that you can maximize revenues while introducing flexible and customer-centric offerings into the market.

Sentinel EMS entitlement management system has a straightforward design that walks you through the process of defining the various features and products that match the features and products in your back office system (ERP, CRM, billing system, or sales system).

Sentinel LDK CL Service combines Sentinel LDK and Sentinel EMS to offer a user-centric, identity-based approach to cloud licensing fulfillment in which Thales securely hosts the CL service for you on its servers. The CL service gives you and your customers granular control over who can access a cloud license. (You can optionally delegate end-user machine account management to customer administrator users.)

The CL service described in this tutorial consists of two primary components: Sentinel EMS, which handles license fulfillment and machine account (identity) management, and Sentinel LDK, which manages cloud licenses and machine account consumption.

The Basics

The following are the foundation of Sentinel EMS with Sentinel LDK enforcement. It's important to understand these terms before you perform the steps in this tutorial.

Sentinel EMS

Sentinel® EMS™ is a web-based solution that provides you with a centralized interface for all your license and entitlement management functions. It offers an easy-to-use interface for all your back office systems and a variety of advanced data collection and reporting functions. Learn MoreClosed Sentinel EMS can help you in maximizing profitability by minimizing the internal costs and resources required for license fulfillment, improving operation processes, empowering channel partners, and improving the end user experience by streamlining license activation for end users. For more information, see the Sentinel EMS User Guide.

Sentinel LDK Envelope

Sentinel LDK Envelope provides both copy and reverse-engineering protection for applications on various platforms. Its easy-to-use user interface enables you to apply protection to executable files and DLLs in minutes. Learn MoreClosed For applications that require a single license (one feature per binary), you can handle both licensing and protection using Envelope. However, for the most flexible licensing and highest level of copy protection, Thales recommends implementing both Sentinel Licensing API and Sentinel LDK Envelope. For more information, see Sentinel LDK Envelope Protection.

ToolBox and Sentinel Licensing API

Sentinel LDK ToolBox is an interactive application that enables software developers to learn about the various Sentinel LDK APIs. With this tool, you can execute API functions, observe their behavior, and copy the corresponding source code for integration into your own applications. For more information, see the Sentinel LDK ToolBox User Guide.

Sentinel Licensing API enables you to integrate fine-grained license enforcement into your application for an unlimited number of features, thereby ensuring end-user compliance with licensing terms. Each feature in your application is integrated separately using a unique feature ID and login API call. For more information, see the Sentinel LDK Software Protection and Licensing Guide.

Features

Features are the basic building blocks of products and licenses. Each feature can represent anything from a functional component to an entire application. Learn MoreClosed  This means that you can create a separate feature for a specific functionality, such as "Print" or "Edit & Save", or you can create a feature for each module or for an entire application.

After you define at least one feature in the Sentinel EMS catalog, you can add that feature to a product. This enables you to sell a product with one or more licensed features.

Feature ID (Sentinel LDK) and Feature Identifier (Sentinel EMS). This unique number identifies the feature in your Sentinel LDK application and in Sentinel EMS. During runtime, your application utilizes the Sentinel Licensing API (login function) to consume a license with the specific feature ID. Sentinel LDK Runtime determines whether the user has a valid license to use the corresponding feature. Always ensure that the feature identifier in Sentinel EMS is identical to the feature ID in the Sentinel LDK application you are using to protect your application (Sentinel LDK Envelope or Sentinel Licensing API).

Products

A product represents a saleable item in your organization—such as a software application—usually with a SKU or similar unit. You can package products with individual features and memory files. Learn MoreClosed  Both features and memory files are optional.

License models and terms. Sentinel LDK enforcement provides configurable, out-of-the-box license models.

You assign a license model and license terms to a feature when you add the feature to a product.

Setting license terms per feature occurrence lets you vary the license terms as needed. This flexibility gives you full control over feature usage whether you include one feature per product, the same feature in multiple products, or multiple copies of a feature in a single product.

When ready, you add products to entitlements so that the vendor can generate licenses for distribution to customers.

Entitlements

An entitlement is a customer order for one or more products. Similar to orders in your back office system (ERP, CRM, billing system, or sales system), an entitlement specifies the products that a customer is entitled to use. Learn MoreClosed  It also includes contact details, the products ordered, the features and memory files bundled in the products, licensing terms, the number of copies of your product that are available to that customer (quantity), and the entitlement ID (EID). Each entitlement can also be mapped to an actual order or other reference ID in your system using the External ID or Ref ID fields in Sentinel EMS.

When an entitlement is ready to be processed, you mark it as complete. That enables the next step, which is generating a license and pushing it to the cloud using Produce and Push.

Cloud Licensing Service

Sentinel LDK cloud licensing service (also known as CL Service) refers to software and service licensing that Thales hosts on a service-hosted, cloud license manager server. Learn MoreClosed  
Cloud licensing uses identity-based access via machine accounts to give the vendor or customer granular control over who can access a cloud license. The software vendor can optionally delegate end-user machine account management to administrator users, as described in Machine Accounts.

Machine Accounts

A machine account represents a set of cloud licensing permissions that grant authorization rights to a customer's end user to access protected applications or services on one or more client devices (also known as registered machines). Machine accounts are an integral part of cloud licensing. Learn MoreClosed  To enable client authentication and access control, each machine account is assigned a unique identity string. This identity string must be installed on the client device where the vendor's application runs. When the vendor's application tries to launch on that device, the client communicates with the cloud licensing service on Thales' service-hosted, cloud license manager server, which authenticates the client identity based on the identity string and verifies the access permissions assigned to the machine account. If the machine account is authorized to access the application, the application opens and runs.

Each machine account is associated with a customer and is defined for a specific end user. When you create a machine account, you select the customer and specify the name and email address of the end user. By default, the end user then receives an email that includes a clickable link that automatically installs the identity string on the client device. Machine accounts inherit the access permissions (known as cloud licensing permissions) that are defined for the associated customer. You can modify these settings for a specific machine account if needed.

Machine accounts can be created on the Sentinel EMS vendor or customer portal, depending on whether the vendor or a customer's administrator user creates and manages machine accounts. Both vendors and administrator users can also view the list of activated products on the respective portals, as well as manage the list of registered machines on which each machine account can access protected applications.

Identity Credentials

Identity credentials are used to verify the identity of a client device and grant access to a cloud-based license. Learn MoreClosed  Unique identity credentials are generated automatically when you create a machine account. These credentials comprise an identity string that contains a unique, read-only, 7-character identity code and an identity link, which is used to install the identity string on the end user's device.

End users can install an identity string on a client device by clicking the identity link that is sent automatically by email when the machine account is created. If you choose not to send the identity link automatically, then you must share this identity link directly with the end user in some other manner.

After the identity string is installed, the device shares its identity string with the Sentinel EMS cloud license manager server whenever the application or service starts, or as defined in your application (for example, you might set authentication verification "per session" instead of "at login"). After successful verification, the device accesses your protected application or service.

TIP   Want to learn more about any of the concepts and terminology used in Sentinel EMS with Sentinel LDK enforcement? Check out the Glossary at the end of this tutorial.



Tutorial Workflow

This tutorial showcases how to use Sentinel LDK and Sentinel EMS to protect and license an application. You will use a sample TextEditor application that has two separately licensable features: Edit & Save and Print. To simplify this tutorial, TextEditor is already integrated with the necessary Sentinel LDK Licensing API calls to manage and consume licenses for each feature.

ClosedLearn about the different personae in the Sentinel EMS and Sentinel LDK workflows

Vendors. Vendors develop and sell software. They use Sentinel LDK to protect their applications and services, and to enforce licensing. They use the Sentinel EMS vendor portal to generate and manage licenses and machine accounts.   Closed View the different Sentinel LDK and Sentinel EMS personae in the vendor's organization

Administrator. Performs the initial setup and subsequent maintenance using the Sentinel EMS vendor portal.

Product Owner. Defines the features and products in the Sentinel EMS vendor portal catalog.

Developer. Utilizes Sentinel LDK Envelope and the Sentinel Licensing API for license integration and copy protection. Also performs additional development tasks, including generating the Sentinel Runtime Environment Installer.

Entitlement Manager (order taker). Uses the Sentinel EMS vendor portal to define entitlements.

Customer Manager.

Defines the customer and administrator users.

(Optional) If the vendor's organization handles end-user machine accounts:

-  Creates end-user machine accounts, and

-  Provides end users with unique identity credentials to access cloud licenses.

Activation Manager. Generates licenses using the Sentinel EMS vendor portal.

Customer Administrator Users. (Optional) Vendors can delegate end-user machine account management directly to their customers by creating administrator users. The administrator user uses the Sentinel EMS customer portal. ClosedLearn what the customer's administrator user does

Creates end-user machine accounts, and

Provides end users with unique identity credentials to access cloud licenses.

End users. The customers' end users use their work or personal devices (machines).  ClosedLearn what the end user does

a. Receives a unique identity string that provides access to one or more cloud licenses. This string identifies the relevant machine account and may be shared by the vendor or customer.

b.Installs the identity string on one or more devices. This enables the vendor's protected application to access the cloud licenses from the end user's device as needed.

How does the end user receive and install the identity string? In most cases, the end user receives an email containing an installation link. The end user must click that installation link from the device on which they plan to run the vendor's application. This automatically installs the identity string on the relevant device.

c.Uses the vendor's application on those devices. Typically, when the application starts, it sends a request to the cloud license manager server, which validates the device's identity and grants permission to use the licensed features or services.

Initial Setup, License Integration, Application Protection, and Testing

This end-to-end workflow illustrates the license integration and application protection process for developers and product owners, focusing on testing and integration.

Production and License Fulfillment for a Vendor's Customers

This end-to-end workflow for Sentinel EMS personae occurs after testing is done, focusing on actual production and license fulfillment for a vendor’s customers.

ClosedSee what's not included in this workflow



Before You Begin

Install the latest version of Sentinel LDK. For instructions, see Sentinel LDK Installation Guide with Sentinel EMS.

Review The Basics to learn about the Sentinel LDK and Sentinel EMS components.

Make sure that your Thales account enables you to access Sentinel EMS. At minimum, you need a role in Sentinel EMS that includes Customer Management permissions. Contact your Thales representative for assistance if needed.



One-Time Setup

Make sure that you are logged on to the Sentinel EMS vendor portal.  ClosedShow me how

1.Navigate to the Sentinel EMS vendor portal URL shared by Thales.

2.Log on using the user name and password provided by Thales.

Create a Catalog

In this section, you create a catalog that includes your saleable items—a feature and a product. Make sure that you are logged on to the Sentinel EMS vendor portal.  ClosedShow me how

1.Navigate to the Sentinel EMS vendor portal URL shared by Thales.

2.Log on using the user name and password provided by Thales.

1.Navigate to the Sentinel EMS vendor portal URL shared by Thales.

2.Log on using the user name and password provided by Thales.

Define a Customer and Administrator User

In this section, you define a customer for the entitlement that you will be creating later. At this stage, you will also create an administrator user for the customer. Adding an administrator user lets you delegate machine account management directly to the customer. Without an administrator user, you, the vendor, would have the sole responsibility of managing your customers' end-user machine accounts. Make sure that you are logged on to the Sentinel EMS vendor portal.  ClosedShow me how

1.Navigate to the Sentinel EMS vendor portal URL shared by Thales.

2.Log on using the user name and password provided by Thales.

Generate a License and Push It to the Cloud

In this section, you generate a license and push that license to the Thales Hosted Cloud License Server using Sentinel EMS with Sentinel LDK enforcement.

First, you will generate an entitlement to fulfill an order for a specific customer. Then you will use Produce and Push to generate a cloud license for the product features included in the entitlement. The license will automatically be pushed to the Thales Hosted Cloud License Server, making it ready to share with the customer's end users. Make sure that you are logged on to the Sentinel EMS vendor portal.  ClosedShow me how

1.Navigate to the Sentinel EMS vendor portal URL shared by Thales.

2.Log on using the user name and password provided by Thales.

Manage End User Machine Accounts

Earlier, you created an administrator user, who is responsible for handling machine account management for your customer. You are now using that persona to create a machine account for your customer's end user. You will enable the Send Notification option to send an email directly to the end user, informing them that they can start using the TextEditor application by clicking the link in the email. Clicking this link installs identity credentials on the end user's machine using an identity string. This string is used to authorize the use of the application on that machine.

Where do you create an end user machine account?

Vendors create machine accounts from the Sentinel EMS vendor portal. Customers' administrator users create machine accounts from the Sentinel EMS customer portal.

For the purposes of this training, you can use either portal to create an machine account.



Install Identity Credentials

Now that you have created a machine account, the customer's end user can install their unique identity credentials.



Integrate Licensing and Protection

This section is intended only for developers. It's time to protect the TextEditor application by using Sentinel LDK Envelope. Sentinel LDK Envelope utilizes the Sentinel LDK Licensing API to establish a strong binding between the protected software and the license installed in the protection key.



End User Starts Using the Application / Test Your Application

Now that the application is ready to use and you have installed the unique identity credentials, the customer's end user can launch your protected application or service.

For the purposes of this training, let's assume that:

Your application is already packaged together with Sentinel Run-time Environment.

The end user has already installed the application on the target device and is just waiting for the license to use the application.

You, the developer, want to verify that the application is protected and that the licenses are working correctly.



Glossary

Let's review the concepts and terminology that you need to know to work with Sentinel LDK enforcement in Sentinel EMS.

ClosedShow the Glossary

Activation | Application | Batch Code | Burning a Key | Catalog | C2V | Cloud Licensing Permissions | Customers and Users | DEMOMA | Devices | Enforcement | Entitlements | Envelope | Feature | Feature ID and Feature Identifier | Feature ID 0| Identity Code | Identity String | License Model | Licensing API | Locking Type | Machine Account | Market Group | Memory | Namespace (Batch Code)| Produce and Push | Registered Machine | Role | ToolBox | Unlocked from Device (Product) | V2CP


Concept Description

Activation

(License Generation)

The process of generating a license package (V2CP file) for one or more products.

A license can be locked to a specific device, or it can be unlocked, as described in Unlocked from Device (Product).

Application

In the context of Sentinel LDK, application or protected application refers to the vendor's application or service, which is licensed and protected by the Sentinel LDK Licensing API (native or REST) and/or Sentinel Envelope, and optionally packaged with Sentinel Run-time Environment. For more details on these components, see Sentinel LDK and navigate to the relevant guide.

Batch Code See Namespace (Batch Code).
Burning a Key

Activates an entitlement by installing the license file directly on a Sentinel HL key (dongle).

Catalog

A container for all of your assets, including products, features, memory files, license models, and namespaces.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

C2V

and

V2CP

files

C2V (Customer-to-Vendor). A file containing data about deployed Sentinel protection keys or data about the customer's device, such as its fingerprint. The customer sends the C2V file to the vendor through an automated process or by other means, such as email. The vendor or an automated backend process then uses the C2V file to generate a license for the customer when activating an entitlement.

V2CP (Vendor-to-Customer Package file). A package file from the software vendor that contains one or more license update files (V2C files) for the customer's Sentinel protection key.

Cloud Licensing Permissions

Cloud licensing permissions control access and usage permissions for CL keys. Permissions are set at global, customer, and machine account levels.

Cloud licensing permissions are relevant only for machine accounts and can safely be ignored for user-based licensing. Do not change the cloud licensing permission settings.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Customers and Users

A customer can be an organization that owns an entitlement or a current or potential buyer of an entitlement. Typically, you generate entitlements for a customer who has placed an order. A customer can have one or more users. An administrator user uses the Sentinel EMS customer portal to manage end-user machine accounts for their customer.

DEMOMA

Batch Code/Namespace used for evaluation purposes. DEMOMA's corresponding Vendor Code is available in the VendorCodes folder of your Sentinel LDK installation. This batch code is useful for evaluating all Sentinel LDK workflows but cannot be used for production as any Sentinel LDK customer or evaluator can generate such licenses.

Devices

In Sentinel EMS with Sentinel LDK, a device is any hardware on which customers can install your licensed application, including, but not limited to, computers, tablets, phones, and watches.

See also: Registered Machine

Enforcement

Licensing technology, such as Sentinel LDK, that controls and secures your software by controlling usage terms and conditions for specific functionalities, and by applying security measures to prevent bypassing these terms and conditions.

Entitlement

An entitlement grants an end user the right to use a software package or service. It defines the product details, the authorized users, and the order's validity period.

Envelope

(Sentinel LDK Envelope)

Sentinel LDK Envelope provides both copy and reverse-engineering protection for applications on various platforms. Envelope utilizes the Sentinel LDK Licensing API and numerous anti-cracking technologies to establish a strong binding between the protected software and the license installed in the protection key.

For more information, see Sentinel LDK Envelope Protection.

Feature

Features are the basic building blocks of products and licenses. A feature can represent anything from a functional component to an entire application. After you define at least one feature in the Sentinel EMS catalog, you can add that feature to a product. This enables you to sell a product with one or more licensed features.

Feature ID and Feature Identifier

A unique number that identifies the feature in both your Sentinel LDK application and Sentinel EMS. During runtime, Sentinel Licensing API acts on behalf of your application to validate feature licenses. It does this by specifying the feature ID as part of the login call to the license for that feature ID. Therefore, the identical number must be used in both the feature identifier in Sentinel EMS and the feature ID in the relevant Sentinel LDK application (Sentinel LDK Envelope or Sentinel Licensing API).

Feature ID 0

(Default Feature)

A default feature ID that is always available in a Sentinel protection key and can be used to provide copy protection without the need to fulfill a Sentinel LDK license. This feature's license model is always Perpetual and cannot be modified to use other licensing terms. When you protect an application with Envelope, Feature ID 0 is applied by default if you do not choose any other feature ID for licensing the application.

In Sentinel SL and CL keys, any key produced by the vendor includes Feature ID 0, regardless of whether other features or memory are defined.

In Sentinel HL keys, all keys that leave the Thales factory already contain Feature ID 0 enabled. If no additional licenses are needed (for example, if only Envelope protection is used), these keys can be distributed directly to users to enforce copy protection of the software.

Identity Code

An identity code is a unique, read-only, 7-character string that is part of the full identity string.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Identity String

An identity string designates the client identity for the machine account as defined in the cloud licensing service database. When the end user runs a protected application, the local license manager on the user's machine uses the identity string to consume a license from the relevant protection key on the service-hosted, cloud license manager server.

If the end user has the appropriate permissions, the end user can use the identity string to detach a license from the service-hosted, cloud license manager server and then run the protected application offline.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

License Model

The license terms for a feature. You set the license model when adding a feature to a product, or when modifying a feature in an entitlement. License models:

Define in Entitlement. Enables the order taker to define the license type when creating an entitlement (when each individual order is processed). (Available only when creating a Product.)

Execution Count. The maximum number of times the feature may be used.
(Not relevant for products that are not locked to a device. See Unlocked from Device (Product).)

Expiration Date. The date on which the license for the feature will expire.

Perpetual. Default license model. The license can be used an unlimited number of times and for an unlimited period of time.

Time from First Use. (Also known as Time Period.) The number of days until the license expires. The number of days is counted from the date on which the licensed feature is first used.

Time from License Generation. The number of days until the license expires. The number of days is counted from the date on which the license is generated.
(Not relevant for products that are not locked to a device. See Unlocked from Device (Product).)

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Licensing API

Sentinel LDK Licensing API is the interface for inserting calls to a Sentinel protection key from your application source code.

Locking Type

The level of protection for a product according to the type of Sentinel protection key supplied with the product. You set the locking type when defining a product. Locking types can be hardware-based (Sentinel HL keys) or software-based (Sentinel SL keys). When using Sentinel LDK CL Service, you must select one of the SL AdminMode options, such as the default HL or SL AdminMode or SL UserMode option.

The following locking types are available:

HL. Use for burning licenses on physical, Sentinel HL keys (dongles).

SL UserMode. Use for activating licenses on Sentinel SL UserMode keys (software).

Does not require the installation of Sentinel Run-time Environment (RTE).

Provides limited security for products that are not locked to a device than SL Admin mode.

Provides the highest level of compatibility with future operating system updates.

SL AdminMode. Use for activating licenses on Sentinel SL AdminMode keys (software).

Requires the installation of Sentinel Run-time Environment (RTE).

Supports all license terms, including concurrency and detachable licenses.

Provides a high level of compatibility with future operating system updates.

HL or SL AdminMode. Use for either Sentinel HL keys or Sentinel SL AdminMode keys.

HL or SL AdminMode or SL UserMode. (Default) Use this locking type if the decision on which type of Sentinel protection key is to be shipped with the product is made when each order is processed.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Machine Account

A machine account represents a set of cloud licensing permissions that grant authorization rights to a customer's end user to access protected applications and services on the device where the end user's identity code is installed.

Machine accounts are an integral part of cloud licensing. Cloud licensing (also known as CL) refers to licensing that is hosted by Thales on a service-hosted, cloud license manager server. Each machine account is defined for a specific end user and must be associated with a customer. When you create a machine account, you select the customer and add the name and email address of the user that receives email notification. By default, a machine account inherits the cloud licensing permissions defined for the associated customer. You can modify these settings for an end user if needed.

A customer's administrator user can create and manage machine accounts on the Sentinel EMS customer portal. These administrator users can also manage the list of registered machines on which each end user can access protected applications. The vendor can perform these same tasks on the Sentinel EMS vendor portal.

Market Group

A market group applies data access control for specific catalog elements and their entitlements. Typically, a target group of users share common characteristics, such as geographical locations or business units.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Memory

Memory files let you store sensitive data in the Sentinel protection key. For example, you might want to store user data or your own customized license code.

You create memory files from the Memory tab. You associate memory files when creating a product. For more details, see Sentinel EMS User Guide for Sentinel LDK.

Namespace (Batch Code)

A namespace, which is known as a "batch code" in Sentinel LDK, represents your company's unique vendor code.

When you order Sentinel protection keys from Thales, you specify your namespace, which is both written to the keys before dispatch and printed on the outside of each Sentinel HL key. Your company can have one or more namespaces. The namespace for Sentinel protection keys with a demo vendor code is DEMOMA.

In Sentinel EMS, a namespace also acts as a workspace, differentiating between separate storage locations. If you have multiple namespaces, the features, memory files, and products in each namespace are available only to those users who have permissions for that namespace. Users with roles that have entitlement-related permissions (such as order takers) can access these items from all namespaces.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Produce and Push

"Produce and Push" generates a cloud license and pushes the license to the Thales service-hosted, cloud license manager server in a single step.

After produce and push is performed, the vendor or administrator user can create machine accounts for end users, so that end users can access the protected application or service as soon as they install their unique identity credentials and install the protected application.

On the Sentinel EMS customer portal, an administrator user can create and manage end user machine accounts, view the list of activated products, and manage the list of registered machines on which each end user can access protected applications. The vendor can also perform these tasks on the Sentinel EMS vendor portal.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Registered Machine

A registered machine is a client device that is linked to a machine account. This enables the vendor to limit the number of devices on which users can access a license. This is commonly used to prevent license abuse, where users share license access with others.

Also known as device or client device.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

Role

A role is a set of permissions for using specific entities in Sentinel EMS.

For more details, see Sentinel EMS User Guide for Sentinel LDK.

ToolBox

(Sentinel LDK ToolBox)

Sentinel LDK ToolBox is a GUI application that helps software engineers use Sentinel LDK APIs and generate source code.

For more details, see Sentinel LDK ToolBox User Guide.

Unlocked from Device (Product)

A product that is distributed with a license that is not locked to a specific device and can therefore be installed freely by any user on any device. Typical uses include:

Trial licenses (free for up to 90 days), which can start from the date of license generation or first use, depending on the License Model. (The Execution Count and Time From License Generation license models are not relevant for products that are not locked to a device.)

"Unlimited" products in an application for which you use Envelope to protect your intellectual property (IP). These products may or may not contain licensing restrictions. For example, you might decide to apply a Perpetual license, limit the time period in which the license can be used, use another mechanism to license the application, or not impose any licensing restrictions at all.

When you create an entitlement, you can include products that are either locked to a device or unlocked from a device, but not both.

For more details, see Sentinel EMS User Guide for Sentinel LDK.