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, wherein the evaluating includes determining a mode in which a user is using the client device, the mode depending on whether the user logs in as a work mode or a play mode; and enforcing the policy by modifying the functionality available on the client device based on the evaluation, including the mode, wherein the client policy engine adapts the generic policy definition to a specific platform on the client device.