PROTEUS License Manager
Proteus library is a licensing system for Delphi. It helps you sell your program to your customers.
With Proteus library you can create demo/trial versions of your application that are time-limited or feature-limited.
Protect your application with Protes and deliver it to your customers where it will work as Trail. After 14 days it will switch to Demo mode where program's functionality is severely crippled ("Save project" function does not work), and a "nag" screen is shown.Upon payment the customer can receive the Unlock Key. The customer enters the key into the program and the program switches from Demo to Registered mode (fully functional).
The key is a string (example: *P083BkdMTU1NfE5MTU1NTU1Nbn90dH94eX97fHw=*) so it can be easily transmited via email.
Temporary vs permanent license:
The customer can :
Limited access to your software modules:
Based on which license the customer purchased, he can receive an unlock key that unlocks:
One line to rule them all
Proteus is really easy to use: you only have to write a single one line of code in order to integrate Proteus in your application:
procedure TMyForm.FormCreate(Sender: TObject);
To generate keys for your customers, all you have to do is to call Certificate.GeenerateKey;
Proteus understands "certificates". A certificate is a record that tells the program the current status of the license (license state: trial/demo/full, license expiration date, modules purchased/unlocked, customer name, etc).
The license key string that you send to the customer is nothing else than this record (certificate) converted from binary to string.
Usually you will setup a "global" certificate and use it to generate keys for all your customers.
OR you can generate new certificates for "special" customers. For example, you want to keep the licensing model simple and you have just one license type: monthly subscriptions for $199. But one customer wants to purchase a permanent license. With just few clicks in your key generator tool, you can create a custom certificate for this customer and sent it via email in no time.
If the keys are leaked by your customers on serial/cracking web sites you can immediately take measure by invalidating the leaked keys. Also, Proteus has measures put in place to make sure the customer does not try to temper with the Trial period or with the license key he has received. The actual key data is encrypted (you can use your own ecryption methods) and check sums are calculated.
Download the source code of the demo application (compiled EXE also available). The download also contains the headers of the Proteus Delphi library.
The Delphi source code is available for $99. We only accept orders from corporate customers (companies with established website). We don't accept orders from anonymous emails (such as Gmail, Yahoo, MSN). We might request some identity proof (like ID/passport) if your business identity is not clear.
The library was written for Delphi XE 7 but compiles on all editions since XE7 (including Delphi Sydney) without any single modification. It was carefuly written so it will work on all Unicode-compatible Delphi editions (including future-editions).
The library should also work on non-Unicode (like Delphi 7) with MINOR modifications.
Both Windows 32 and 64 bit are supported.
The code is not VCL-dependent so it should work also on Firemonkey. But no attempt was yet made to compile it there.
Q: Is it possible to tie a license to a certain Product version. For example, if we release a major version, the user needs to pay for a new license.
A: Yes. You can also allow the key for v4.0 to be used with an older version (v3, v2, etc). For this set Certificate.UnlockDown := true;
Q: Is it possible to have different types of licenses - trial, pro, enterprise, and corporate with different features on each?
Q: Can the key generation process be completely automated and integrated with a web site/server? The user pays and the site generates a license so they can start using the software straight away?
A: Yes. We built Proteus with this feature in mind.
Just run the key generator on your server (the key generator could be a small app that you build that calls Certificate.GenerateKey). When you have a sale, just make your webpage send the customer name to your key generator. The generated key could be shown in the web browser or sent via email.