1. A non-transitory, processor-readable medium storing code representing instructions that when executed at a processor cause the processor to: identify for a first record in a data store, a plurality of records, the plurality of records includes all records in the data store that are directly or indirectly related to the first record according to one or more relationships including at least one data-store-independent relationship that an application defines using portions of the plurality of records, the plurality of records including a first plurality of sub-records and a second plurality of sub-records; determine that the first plurality of sub-records satisfies a first security rule; determine that the second plurality of sub-records satisfies a second security rule; encrypt, based on the first security rule, the first plurality of sub-records; encrypt, based on the second security rule, the second plurality of sub-records; selecting the first security rule from a first plurality of security rules, each security rule from the first plurality of security rules is satisfied by at least one record from the first plurality of sub-records, the first security rule has a security level that is not less secure than a security level of each other security rule from the first plurality of security rules; and selecting the second security rule from a second plurality of security rules, each security rule from the second plurality of security rules is satisfied by at least one record from the second plurality of sub-records, the second security rule has a security level that is not less secure than a security level of each other security rule from the second plurality of security rules.