1. A method of dynamically allocating computing resources for a transaction related to data, based on the satisfaction of policies, such as privacy policies, comprising the steps of: (a) receiving a request requiring a computing resource to process data to be processed; (b) selecting, based on the data to be processed and contextual information, a set of rules associated with the data to be processed; (c) selecting a resource or resources to process the data and transmitting the data, in a protected/encrypted format, to the selected resource or resources; (d) sending a message from the selected resource to a trusted privacy service requesting a key to decrypt the data to allow the data to be decrypted so that it can be processed on the selected resource; (e) sending a key from the trusted privacy service to the resource to allow the resource to decrypt the data and process the data it the trusted privacy service determines that the selected resource complies with the selected rules.