Yes, each Key can be used to protect up to 16 separate Features within the same Product.


There are 16 single-bit Feature-Flags that are stored securely in the memory of every Key. Each flag can be On or Off. These flags can be set by KeyBuild when the Key is built. Once the Key is in the Customer's possession, these Flags can be read by your protected program using the KeyChk DLL. Also, all 16 Feature-Flags can be turned On or Off by the Renew program.


Let's assume that you have a Product with 3 "Premium" Features that you only want to enable if the Customer pays an additional fee for each one.


You could assign the 1st Premium Feature to Feature-Flag #1, the 2nd Premium Feature to Feature-Flag #2 and the 3rd Premium Feature to Feature-Flag #3.  Your protected Product program would call KeyChk to read the Feature-Flags and test if the User is authorized to use the Premium Features.  For example, when the 1st Premium Feature was requested, your protected program would read the Feature-Flags and test if Feature-Flag #1 was set ON.  If so, your programs would continue running normally.  If not, your programs would display a message indicating that the User must purchase Authorization to use that Premium Feature.


When the User first Purchases your Product, they get the software for all 3 Premium Features, but the Key that you send only has the Feature-Flags set for what was purchased. Later, when the Customer purchases additional Premium Features, all you send is a Renew Code to turn on the appropriate Feature-Flag(s) in the Key. The User runs the Renew program and enters the Renew Code to enable the additional Premium Features.


Using the above example with 3 Premium Features, let's assume that your Customer initially purchases the 1st and 3rd Premium Features. You would use KeyBuild to build the Key with the 1st and 3rd Feature-Flags set ON. This Key would be sent to the Customer along with the software for all 3 Premium Features. The 2nd Premium Feature could not be used because your protected program would be checking the Feature-Flags and "see" if the 2nd Feature-Flag was not set ON.


Later, when the same Customer decides to buy the 2nd Premium Feature, you would use KeyBuild to generate a Renew Code that will set the 2nd Feature-Flag ON. You could email the code to the Customer who would use the Renew program to update their Key.  Now, all 3 Premium Features can be used.