Appearance
Historical Crosswalk Reconstruction
An auditor asks: "At the time of your March assessment, which controls did you consider to address this obligation?"
In most organisations the answer is an exported spreadsheet nobody can vouch for. In OrviQ it is a query.
How it works
Every mapping carries valid_from and valid_until timestamps. A mapping is part of the estate at instant T when:
valid_fromis unset or at or before T, andvalid_untilis unset or at or after T
Adjustments retire the prior version and open a new one, so a mapping's whole history is a chain of versions with non-overlapping validity windows. Nothing is overwritten and nothing is deleted.
Requesting the crosswalk with an as-of date returns the versions that were valid then.
What reconstruction gives you
| Question | Answer available |
|---|---|
| Which controls addressed this obligation in March? | The mappings valid in March |
| What relationship type did we assert then? | The relationship on the version valid then |
| Who approved it, and when? | The approval record on that version |
| Has our view of this obligation changed? | The version chain shows every change and its reason |
| Was a mapping we now rely on in place at assessment time? | Its valid_from answers directly |
Where it is used
Statement of Applicability. Historical SoA reconstruction resolves mappings by validity window, so a past SoA shows past mappings. See Statement of Applicability.
Requirement assurance. Historical posture resolves mapped controls as of the requested instant, so a past determination is computed from the past mapping estate.
Audit engagements. Finalising an engagement freezes a report snapshot, so later mapping changes never rewrite the conclusions of a completed audit. See Audit Sign-off.
Regulatory inspections. Submitting a formal response freezes an immutable snapshot of the response package. See Inspection Responses.
The honesty constraints
Reconstruction is only as truthful as the records allow, and OrviQ is explicit about where it cannot be certain.
A retired mapping with no end date
Where a mapping is in a terminal status but carries no recorded validity end date, OrviQ displays "Ended, date not recorded" rather than inventing one or showing it as open-ended.
Such a mapping cannot be honestly placed on a timeline. A reconstruction that guessed an end date would produce a past view that looks authoritative and is fabricated. Surfacing the gap lets a reviewer see exactly where the historical record is incomplete.
Reconstruction does not backdate evidence
Reconstructing the March mapping estate does not apply today's evidence to March. If a control was mapped in March but had no evidence until June, the March reconstruction shows the mapping and the absence of evidence.
A historical view will sometimes look worse than you remember
That is usually the point. If your March position genuinely had gaps, a reconstruction that hides them is worse than useless — it is the thing that gets discovered during fieldwork.
Reconstruction reflects records, not intentions
If a mapping was agreed in a meeting in February and recorded in April, the reconstruction shows April. The remedy is to record decisions when they are made, not to adjust the reconstruction.
How to reconstruct a past view
- Open the Control Crosswalk.
- Set the as-of date.
- The register shows the mappings valid at that instant, with their relationship types and approval records as they then stood.
- Export if you need the view for an audit file. Requires
mapping.export.
The same as-of parameter is available on the Statement of Applicability and on requirement assurance posture.
Permissions
| Action | Permission |
|---|---|
| View the crosswalk, including as-of views | mapping.read |
| Export a reconstructed dataset | mapping.export |
Example
A bank certified its payments platform in March. In November the certification body returns for a surveillance visit and asks how the control set has changed.
The compliance team produces two views:
| View | Mappings | Notable |
|---|---|---|
| As of the March certification date | 187 approved | Includes 14 mappings to controls since decommissioned |
| Current | 194 approved | Includes 21 mappings created since March |
The difference is not a discrepancy. It is a change record, and it is exactly what a surveillance visit is for. Each of the 14 retired mappings carries an end date and a retirement reason; each of the 21 new mappings carries a proposer, a reviewer and an approval date.
The team can answer the follow-up question — "why did control CTL-2026-0033 stop addressing clause 8.5?" — from the mapping's own retirement record: "Control decommissioned on migration to the new session broker. Obligation now addressed by CTL-2026-0088, approved 14 June."
Troubleshooting
"A historical view shows fewer mappings than expected." Mappings created after the as-of date are correctly excluded.
"A mapping shows as ended with no date." Its valid_until was never recorded. It cannot be placed on the timeline. Where this matters, review the mapping's history and record the correct end date going forward.
"The historical SoA differs from my saved export." The saved export was a point-in-time file that has since drifted, or was produced with different filters. The reconstruction derives from the records.
"I need a reconstruction from before we started using OrviQ." Reconstruction covers the period from when mappings were recorded in the platform. Earlier periods are outside the record.