Make an artefact re-derivable
Objectives
The evidence store manifest for the MFA collector was written when "we hash everything" was the whole integrity strategy. The nightly digest comparison now alerts whenever the collector library changes its serialisation, and the team wants the comparison switched off.
Fix the manifest instead. It needs deterministic canonicalisation before hashing, a real digest algorithm, a store that cannot be overwritten, retention that outlives the audit period plus report lag, and run metadata that makes an empty result provable.
Store review notes and programme requirements
incident: 140 digest mismatches in March, caused by a library upgrade (key order changed, timestamps written with offset instead of Z) programme requirements: audit period : 12 months report lag : up to 3 months after period end evidence retention: 7 years (2555 days) digest algorithm : sha256 or stronger; sha1 and md5 are prohibited storage : write-once; the collector must not be able to overwrite auditor question that must be answerable: "how many accounts were evaluated on 14 August?"
Checks the server runs (5)
- Payload is canonicalised before hashing
- Digest algorithm is not a broken one
- The store cannot be overwritten
- Retention outlives the period plus report lag
- Run metadata makes an empty result provable
Check names are all you see here: the expectations that decide pass or fail, and the reference solution, stay on the server.
Step-by-step hints
The guided walkthrough, in full. It is free: no XP cost, and it does not touch the paid hint ladder or the reveal gate.
- Step 1
Name what the digest is taken over
The library upgrade changed key order and timestamp format, so the digest was describing a serialisation rather than the content. Set the canonicalisation field to a deterministic form rather than leaving it off.
Then replace the digest algorithm with one the programme requirements permit.
Payload is canonicalised before hashingDigest algorithm is not a broken one
- Step 2
Make the store support a claim about the past
A bucket the collector can overwrite proves only what is there at read time. Turn on the property that makes an object write-once.
Then set retention from the requirements: the period plus the report lag at minimum, and the programme has already picked a longer number.
The store cannot be overwrittenRetention outlives the period plus report lag
- Step 3
Make an empty file mean something
The auditor's question is about a specific day and a specific population. Turn on the run metadata fields that let a reader distinguish 'nothing was wrong' from 'nothing ran'.
All four fields matter: the identifier of the execution, what was issued, the window it covered, and how many records it evaluated.
Run metadata makes an empty result provable
Rules summary
XP on pass
40 bonus XP the first time every check goes green.
Paid hints
2 available. Each costs 25% of the lab XP (about 10 XP).
Reveal solution
Scores 0 XP and unlocks only after 3 check runs.
Attempt cap
60 check runs per learner. The runner warns you in the last 10.
Drafts
Your editor content is saved in this browser, so a reload will not lose work.
Walkthrough
Always free and never penalised: use it before spending a hint.