1. A method for applying retention to a complex object having a plurality of objects comprising: accessing a file comprising a definition of a structure of the complex object, wherein the complex object is a separate file than the file comprising the definition of the structure of the complex object, the definition comprising a listing of a plurality of object types found within the complex object, and information associated with each object type; evaluating a set of rules, each rule specifying a retention policy to be applied to an object of the plurality of objects; applying, in response to the evaluation, a first retention policy to a first object of the plurality of objects, wherein the first object has a first object type, and the application of the first retention policy is based on first information associated with the first object type; and applying, in response to the evaluation, a second retention policy, different from the first retention policy, to a second object of the plurality of objects, wherein the second object has a second object type, and the application of the second retention policy is based on second information associated with the second object type.