Protected internal is an access modifier that allows members to be accessed by any code in the current assembly or any derived class in another assembly. Access modifiers are used to provide security for applications by restricting access to certain classes, members, or inheritance hierarchies to only certain code. Protected internal allows for access within the current assembly as well as derived classes in other assemblies.