1. A method of enforcing a policy on a client device, comprising: receiving, in a client device, a policy definition from a network, wherein the policy definition is a generic definition that is applicable to disparate device types having different hardware and software platforms; evaluating the received policy definition in a client policy engine located on the client device by comparing the policy definition to use or functionality available on the client device, including configuration of applications or operating system components on the client device; requesting, from the network, information about an application located on the client device, receiving the requested information, and using the received information in the evaluation; and enforcing the policy by modifying the functionality available on the client device based on the evaluation, wherein the client policy engine adapts the generic policy definition to a specific platform on the client device including adapting the functionality on the client device based on an identity of a user logged onto the client device.