1. A method for selectively synchronizing data to a device by polling a server, comprising: applying initial policy data to the device via a policy engine; determining applicable device contexts based on the policy data; detecting the presence of an applicable device context based on at least one of a device state or event; determining a time to synchronize policy data with the server based on the detected device context; synchronizing policy data with the server at the determined time to generate updated policy data; applying updated policy data to the device via the policy engine; and determining updated applicable device contexts based on the updated policy data.