 In order to support open-source drivers, a hardware manufacturer has to reveal some details about their product, but HFS requires this information to be kept secret.The problem with generic drivers is that the HFS requires individual drivers for each variant of a product to make them distinguishable, drivers have to account for implementation details instead of using abstract functionality models.A hardware manufacturer has to have their product's HFS fingerprint listed in the database of trusted hardware in order to make it work under newer Windows operating systems.