Mechanisms for enforcing permissions on stored data. Prior to storing the
data, a data structure containing the data is accessed, and then modified
to include a license that represents permission(s) for how the data
should be used when the data structure is later accessed. The modified
data structure is then stored, after perhaps some optional
transformation. When the data structure is later accessed, the license is
acquired from the data structure. The license is then used to determine
whether or not to honor specific requests to use the data. This
determination may be made based on license validation instructions
executed from a removable media. Furthermore, the license may be the
exclusive determining factor for the license validation instructions in
determining whether or not to honor specific requests.