Class library authors need to consider two perspectives with respect to security - which if any apply will depend on the class itself. Some classes - for example, Syste.IO.FileStream - that represent objects that need protection with permissions; the implementation of these classes is responsible for checking the appropriate permissions of the caller required for each action and only allowing duly authorized callers to perform actions they have permission for. The System.Security namespace contains some classes to help make these checks easier. Additionally, class library code often is fully-trusted or at least highly-trusted code and as such any flaws in the code represent a serious threat to the integrity of the entire security system, and a certain extra degree of care is required as detailed below.