Programs use isolated storage through a few classes that implement the feature.
The classes correspond to the following functional aspects of using isolated storage.
Isolated stores are referenced by modes and identities as described below – a new store is created the first time if one does not already exist, otherwise the existing store with all its content is returned.
Domain and assembly identities, as well as permissions, are only checked at the time the reference to the isolated store object itself is made (typically the constructor). Thereafter, it is possible for code to pass around the object reference to other code that may not itself have the corresponding identity or not have permission. Protecting references to these objects is the responsibility of the code. This design decision is consistent with the System.IO.File classes (which only check permissions at open-time), both choices resulting mainly for performance concerns.