 When assuming that each module has total control over the sensitive information it contains, it is possible to specify when and how should leave the module.An example is a cryptographic module that can prevent keys from ever leaving the module unencrypted.Certifying compilation is the idea of producing a certificate during compilation of source code, using the information from the high-level programming language semantics.