Data integrity is defined as those security controls to detect data modification or substitution due to unauthorized access. Notice the definition does not address prevention, as it is infeasible to stop active attacks or avoid inactive actions. For data in storage, access controls might be circumvented, systems might be hacked to gain root admin access, or authorized users might be socially engineered to give up passwords. For data in process, software bugs might inadvertently change data, or a system infected with malware might alter data. For data in transit, there are many environmental factors that might corrupt data such as power fluctuations, electromagnetic interference (EMI) or even bad weather for wireless communications, and transmission factors that can cause data loss such as a failed network component, power failure, or network congestion.