1. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, are configurable to cause the one or more processors to: install a base software package having one or more custom metadata types, wherein the base software package includes computer-executable code that, when executed by the one or more processors, causes the one or more processors to perform one or more tasks that comprise at least accessing records of the one or more custom metadata types; access one or more protected records within the one or more custom metadata types, wherein, for the one or more protected records within the one or more custom metadata types, code in the base software package to read the one or more protected records within the one or more custom metadata types in the base software package and to return the accessed records of the one or more custom metadata types whether protected or not, and if an extension software package contains additional records within the one or more custom metadata types in the base software package, code in the base software package also to read the one or more protected records within the one or more custom metadata types in the extension software package and to return the accessed records of the one or more custom metadata types whether protected or not, and wherein the extension software package is allowed to change values in protected records within the one or more custom metadata types in the extension software package, but the extension software package is not allowed to change values in records within the one or more custom metadata types in the base software package; and return information stored in the one or more protected records within the one or more custom metadata types that have been accessed.