A system for maintaining programmable data across a plurality of modules in an industrial control system comprising: an industrial controller configured to automatically request identity information from each of a plurality of modules in the industrial control system, wherein the identity information includes a module type; a memory module accessible by the industrial controller and having stored thereon a list of stored identity information; and wherein the industrial controller is configured to: automatically compare the identity information of each of the modules, to determine whether the module type of each of the modules is listed in the stored identity information as approved for identity matching and; if current programmable data associated with the identity information of a module (12a, 12b, 12c, 12d) does not match desired programmable data associated with the stored identity information, the programmable data including configuration data and firmware, automatically send a reconfiguration information from the industrial controller to the module (12a, 12b, 12c, 12d) only if the module type is listed in the stored identity information as approved for identity matching to reconfigure the module (12a, 12b, 12c, 12d) to match the stored identity information. an industrial controller configured to automatically request identity information from each of a plurality of modules in the industrial control system, wherein the identity information includes a module type; a memory module accessible by the industrial controller and having stored thereon a list of stored identity information; and wherein the industrial controller is configured to: automatically compare the identity information of each of the modules, to determine whether the module type of each of the modules is listed in the stored identity information as approved for identity matching and; if current programmable data associated with the identity information of a module (12a, 12b, 12c, 12d) does not match desired programmable data associated with the stored identity information, the programmable data including configuration data and firmware, automatically send a reconfiguration information from the industrial controller to the module (12a, 12b, 12c, 12d) only if the module type is listed in the stored identity information as approved for identity matching to reconfigure the module (12a, 12b, 12c, 12d) to match the stored identity information. automatically compare the identity information of each of the modules, to determine whether the module type of each of the modules is listed in the stored identity information as approved for identity matching and; if current programmable data associated with the identity information of a module (12a, 12b, 12c, 12d) does not match desired programmable data associated with the stored identity information, the programmable data including configuration data and firmware, automatically send a reconfiguration information from the industrial controller to the module (12a, 12b, 12c, 12d) only if the module type is listed in the stored identity information as approved for identity matching to reconfigure the module (12a, 12b, 12c, 12d) to match the stored identity information.