Chapter 48 — Evidence dossier
Lesson map
Lesson 48 published. Map, example, EX142.
flowchart TD
N0["Learning outcomes"]
N1["48.1 Compiling the dossier"]
N2["48.2 Integrity of evidence"]
N3["Lab — Dossier manifest"]
N4["48.3 Mapping to standards"]
N5["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5
N5 --> EX["Worked example"]
EX --> Q["Exercise EX142"]
Logical drawing
flowchart LR
N0["Learning outcomes"]
N1["48.1 Compiling the dossier"]
N2["48.2 Integrity of evidence"]
N3["Lab — Dossier manifest"]
N4["48.3 Mapping to standards"]
N5["Synthesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX142"]
[Learning outcomes]
|
v
[48.1 Compiling the dossier]
|
v
[48.2 Integrity of evidence]
|
v
[Lab — Dossier manifest]
|
v
[48.3 Mapping to standards]
|
v
[Synthesis]
|
v
[Worked example] --> [Exercise EX142]
Learning outcomes
You will (1) compile an evidence dossier supporting the assurance case; (2) protect evidence integrity with manifests; (3) map evidence to standards for external audiences.
48.1 Compiling the dossier
Sofia compiles her capstone evidence into a dossier: requirements and traceability, threat model, decision records, control specifications, verification reports, independent review responses, recovery trial report, metrics baselines and the assurance case. Each item has an identifier, date, author and the claims it supports. The dossier is organised by the assurance case structure so that an examiner can follow any claim down to its evidence. Daniel notes that the same discipline is used in regulated industries, where auditors expect to trace claims to evidence without asking engineers to explain from memory.
48.2 Integrity of evidence
Evidence that can be changed silently is weak. Sofia generates a manifest listing every dossier file with its SHA-256 digest, as specified in FIPS 180-4, and stores the manifest separately with her supervisor. Anyone can later verify that the dossier has not been altered since submission. The lab below builds a manifest for synthetic dossier files and verifies it, flagging a file edited after the manifest was created. For stronger guarantees the manifest itself could be signed, but for an academic submission the separately held copy is sufficient.
Lab — Dossier manifest
# SHA-256 manifest for synthetic dossier files (FIPS 180-4 via hashlib).
import hashlib
files = {"assurance_case.md": b"Claim C1 fare integrity...\n", "threat_model.md": b"STRIDE table v4\n",
"verification_report.md": b"30 tests, 30 pass\n", "recovery_trial.md": b"total 325 min\n"}
manifest = {k: hashlib.sha256(v).hexdigest() for k, v in files.items()}
files["verification_report.md"] = b"30 tests, 30 pass (edited)\n"
for k, v in files.items():
print(f"{k:24} {'OK' if hashlib.sha256(v).hexdigest() == manifest[k] else 'CHANGED'}")
Run with python3 lab_dossier.py. Verified output:
assurance_case.md OK
threat_model.md OK
verification_report.md CHANGED
recovery_trial.md OK
48.3 Mapping to standards
External readers often ask how a design relates to known standards. Sofia adds a mapping table linking her controls to NIST SP 800-53 Rev. 5 control families and ISO/IEC 27002:2022 controls, with a note that the mapping shows coverage of topics, not certification or compliance. For example, signed tariff tables map to integrity-related controls, and access reviews for dispute agents map to access control. The mapping helps Corvia's auditors and future engineers place her work in familiar frameworks, while the note prevents readers from overstating what the mapping proves.
Worked example
Sofia organises her dossier by assurance claim, creates a SHA-256 manifest held by her supervisor and maps controls to SP 800-53 Rev. 5 and ISO/IEC 27002:2022 with a coverage-only caveat.
Synthetic case. Dossier contents are synthetic; FIPS 180-4, SP 800-53 Rev. 5 and ISO/IEC 27002:2022 are real.
Errors and limits
Manifests detect change but not whether original evidence was sound. Mappings can be misread as compliance claims.
Exercises
- EX142 — Dossier organisation. How is the dossier organised and why? Rubric: 3 = by assurance-case structure so any claim can be traced to evidence;; 2 = structure;; 1 = alphabetical;; 0 = none.
- EX143 — Lab manifest result. Which file did the dossier lab flag? Rubric: 3 = verification_report.md, edited after the manifest was created;; 2 = named file;; 1 = vague;; 0 = none.
- EX144 — Mapping caveat. What caveat accompanies the standards mapping? Rubric: 3 = it shows topic coverage, not certification or compliance;; 2 = coverage;; 1 = compliance;; 0 = none.
Synthesis
An evidence dossier makes the assurance case auditable, tamper-evident and understandable in familiar standards.
Continue studying — chapter 48 of 50
← Chapter 47 (draft) · Course chapter index · Chapter 49 (draft) →