1. A method comprising: executing, by one or more processors, in a trusted execution environment (TEE) of the one or more processors, one or more TEE processes; cryptographically protecting, by the one or more TEE processes, a secret; cryptographically protecting, by the one or more TEE processes, a policy such that modifications to the policy are detectable, the policy specifying a plurality of conditions on usage of the secret; executing, by the one or more processors, outside the TEE, one or more non-TEE processes; generating, by the one or more non-TEE processes, a request to perform an action requiring use of the secret; and responsive to the request: determining, by the one or more non-TEE processes, that a first subset of the plurality of conditions is satisfied; responsive to the first subset of the plurality of conditions being satisfied, determining, by the one or more TEE processes, that a second, different subset of the plurality of conditions is satisfied; and responsive to the second subset of the plurality of conditions being satisfied, using, by the one or more TEE processes, the secret to perform the action.