ISVs have long relied on product keys (otherwise known as software license keys) to ensure that their software is only being used by those entitled to do so. Oftentimes, these product keys are also used to control use of specific features, based on the agreement the end user has with the ISV. Despite the value these product keys hold, they pose a number of challenges for both ISVs and end users.