aimed at a mass audience and does not presume any knowledge of software
engineering. As a result, many of the guidelines include design or project-level
suggestions, such as compartmentalization, in which security-sensitive code
is separated from other functionality.