SoftwareShield™™ provides you and your team with a wide variety of options of how you can control the licenses on your client machines.

In-application Activation

You can also provide in-application activations through SoftwareShield™'s HTML UI, creating a seamless activation process for your end-users. Take a look at a demo video and contact us for a demonstration of in-application activations.


Controlling your end-user's license is performed via a process generally referred to as "Activation". Activation normally involves a "code exchange". In a code exchange, various codes are sent and received, either automatically or manually, to and from the client and your server-side logic or your staff.

Single Build

Using SoftwareShield™, you do not have to create special builds for different geographic locations (requiring separate localization). SoftwareShield™ allows you to have a single build of your application for multiple simultaneous locales, meaning you do not have to create different builds for distribution through retail (off-the-shelf) versus electronic software delivery (ESD).

Online Activation

Activating your application online automatically is achieved by connecting your application to SoftwareShield™â€™s System.Web.Mvc.HtmlHelper`1[System.Object]. ("CheckPoint", "Checkpoint"). While no human intervention is required, an Internet connection is.

You can only perform fully-automated activations when using SoftwareShield™'s System.Web.Mvc.HtmlHelper`1[System.Object].("CheckPoint", "Checkpoint"), included with your SoftwareShield™ service agreement.

Offline Activation

Activating your application manually (offline) is achieved by receiving manual input from the end-user and your staff using the Manual-Activator to generate Activation Codes directly from the license. No Internet connection is required at either location. Your staff must physically operate the software.

Serial Numbers

Serial Numbers are 16-digit alphanumeric codes that represent a "token of ownership" of one or more copies of your application. By itself and before it is activated, it is not associated with any particular user or machine, and itself represents the ownership. In other words, it is like a cheque made out to "cash" - anyone can use it. This "aspect" of your software can be either the right to use the entire application package or as detailed as a single use of a single function within that application.

Serial Numbers allow you to implement new license models, which are enforced with the use of SoftwareShield™'s Activator tools. You can use Serial Numbers to produce commercial off-the-shelf software (COTS) that is pre-packaged, boxed and sold at a retailer.

You can also use Serial Number to sell "bulk licenses" or "seats" in enterprise installations of your software. By generating Serial Numbers that have a number of Activations associated with them, you can effectively sell a set of seats to your software using a single Serial Number. This is referred to as the "Total Activations Permitted for a Serial Number". When end-users receive a Serial Number you sent them, they will be able to activate the provided number of seats (machines) - but no more. These Serial Numbers can be pre-generated with a set number of seats or can be dynamically generated with an arbitrary number of seats from either a simple HTTP GET call to our web service.

Activation Codes

Activation codes are 12-digit codes that you generate using the Manual-Activator. They contain all the necessary information to make pre-defined changes to the license that controls your application. By issuing Activation Codes to your customers, you change the way your application behaves. For example, allowing it to run in full-mode or adding 10 more pre-paid uses of a specific feature. The Activation Codes that the SoftwareShield™ Manual-Activator creates are encrypted in two layers. The first layer of information is a composition of three items which are compressed together and encrypted using the password (key) specific to this Authorization Code. The information inside the first layer is:

  1. A parameter value if necessary.
  2. A "shelf-life" if necessary. Which is a date whereon the code will expire and will not function for anyone.
  3. The end-users FingerPrint code if necessary.


This encrypted first layer is compressed together with one more piece of information, the Authorization Code ID for which the code is to operate. The entire structure is then encrypted one more time using the global Authorization Code password (key). Encryption of SoftwareShield™ protected resources is performed using any number of selected algorithms which are well known to be secure.

Shelf Life

Some Activation Codes are "single-use" codes, so that once they are used on a given system - they can never be reused on that same system. Some Activation Codes have a "shelf-life". The "shelf-life of an Activation Code is a period of days that you set before issuing the license but can also override while issuing each Activation Code. The code must be used within this "shelf-life" - or it will expire. Expired Activation Codes will not work on any system whatsoever.