What this heading covers
Integrity is about unauthorised change, not about the absence of bugs. The evidence can be a checksum, a signature, an audit comparison or a test that attempts an unauthorised write. The measure should cover data in transit and at rest, and the program logic itself, because a modified binary is an integrity failure. A product that detects a change but cannot say when it happened has a weaker integrity property than one that can.
Record position: family 22 of 40 in clause 6, under 6.7 Security, which carries 6 families. It is one of the 40 families a programme has to map its measures to, and its elements are listed below. The heading is 6.7.3 in the public contents; the text behind it is not public.
How a measure for this family is built
Count the modification attempts that were prevented or detected as the numerator over the attempts tested. For a coverage measure, divide the protected data sets by the data sets in scope. Record the detection time, because a change discovered a month later is a different result from one blocked at the write.
Our worked formula
Modification attempts prevented or detected divided by the attempts tested, with the detection time recorded.
Measure elements that can feed it
Number of data items, Number of records, Number of events
Chosen by us from the thirty-one quality measure elements named in Annex B. The draft does not publish which elements feed integrity, so the choice above is a worked example, not the draft's assignment.
What to put in place before publication
- Name what is protected and what is not.
- Record the detection time for changes that were not blocked.
Evidence to keep
| Kind | What it looks like |
|---|---|
| Protected set | The data and artifacts covered, and the protection applied |
| Change test | Each unauthorised change attempt and the detection or prevention result |
The test a reviewer asks
- Does the measure cover program logic as well as data?
- Is detection time part of the result?
Two questions to ask
- Does the protection cover program logic as well as data?
- How long did detection take when a change was not blocked?
Where teams usually fall short
- A hash check on a download treated as integrity for the whole product.
What the number cannot tell you
It cannot tell you whether the data was correct before the change. Integrity protects against improper change, not against wrong entry.
What happens next
Non-repudiation and accountability are the two families that depend on records of who did what.
Source
ISO Online Browsing Platform, free preview of ISO/IEC DIS 25000-23.2 https://www.iso.org/obp/ui#iso:std:iso-iec:25000:-23:dis:ed-1:v2:en read 22 October 2026
ISO/IEC 25010:2023, Product quality model https://www.iso.org/standard/78176.html read 22 October 2026
ISO/IEC 25023:2016, Measurement of system and software product quality https://www.iso.org/standard/35747.html read 22 October 2026