We are considering moving to cryptlex from another licensing solution. I have some specific use cases that I would like to ask whether and how cryptlex might support. It may be that some are not directly implementable using cryptlex and instead require other logic that would then engage cryptlex as needed. Our current solution is built around more-or-less independent product license features, so the use cases are expressed in those terms, but we are open to adjusting how we do things based on how cryptlex works if we can map the concepts.
Use cases:
-
Bypass license for product X if running product Y, i.e. a license for Y implies X can be used without a separate license. Use case is a library X that does an automatic license check at startup but should not do that (or should make it so it always returns success) if license is bypassed.
-
An application checks out 1 or more licenses for the same license feature within the same process. Imagine the license feature represents some resource, and the more licenses checked out the more of that resource may be enabled. The application may end up checking out up to N licenses for the feature, and N is not fixed at license generation time. That is, it is not sufficient to have features “resource0”, “resource1”, …, “resourceN” because we do not know how large N might get.
-
Application checks out licenses for one or more features at startup or later during runtime, e.g. the first time the user invokes the functionality protected by that license feature. Is there any limitation as to when a license feature may be checked out or when the set of license features checked out may be changed?
-
The combination of license features and/or license counts available for a product varies by client. So, product X may have features A, C, D available for client 1 but have features A, B, E available for client 2. Similarly, client 1 may have 100 licenses for feature A and only 50 license for feature C.