At step 810, the downloaded software package can be authenticated. The software package can be authenticated using any suitable technique. For example, in one approach the software update module can perform a series of integrity checks through a series of secure hash algorithm (SHA-1) checks on every code package within a software update binary. If the downloaded software package fails authentication, then the downloaded software update package may be deleted. In one approach, the entirety of the memory portion storing the unauthorized software update package (i.e., the inactive portion of the NVM) may be deleted, as indicated by step 811. Once deleted, the process may stop at step 808. If the downloaded software package passes authentication, then the process proceeds to step 812. At this point in the process, the authorized software update package is stored in an inactive portion of the NVM, but it is not yet being executed by any processor within the hazard detection system. The following steps, including the steps in the flowchart corresponding to