Conventional models of system integrity tend to be implementation-oriented in that they define integrity in terms of specific controls such as separation of duties, wellformed transactions, and so forth. In this paper we propose a formal definition of integrity that is based on the notion of dependability and is implementation independent. Using a series of examples, we argue that separation of duties, assured pipelines, fault-tolerance, and cryptography may be viewed as implementation techniques for achieving integrity.