Every GRC team spends unreasonable amounts of time on the same mechanical task: taking a control the organization actually has and figuring out which clauses of ISO 27001, SOC 2, and NIST it satisfies — and, in reverse, which framework requirements have no control behind them.
That crosswalk work is tedious, it is repetitive, and it is exactly the kind of structured mapping an LLM does well from its knowledge of the frameworks. This is a Foundation-tier task: the output is a draft crosswalk that a human validates, not a control attestation. The discipline is that the model's framework knowledge can be subtly wrong or out of date, so every mapping is a proposal you check against the authoritative control text before it becomes audit evidence.
A control-to-framework map runs both ways. Forward (control → requirements) shows coverage; reverse (requirement → controls) shows gaps. The reverse direction — finding requirements with no control — is where the audit findings come from, so never skip it.
Assemble your control inventory. For each control: an ID, a plain description of what it does, and how it's implemented. The quality of the mapping depends on how concretely each control is described.
Prompt for a forward mapping with citations and confidence:
You are drafting a control-to-framework crosswalk. For each control below,
map it to the specific clauses of ISO 27001:2022 Annex A and the relevant
SOC 2 Trust Services Criteria it helps satisfy.
For each mapping give:
- the exact clause/criterion identifier
- whether the control FULLY or PARTIALLY satisfies it
- one line on what the control does toward that requirement
Flag any mapping you are less than confident about. Do not invent clause
numbers — if you are unsure of the exact identifier, say so.
CONTROLS:
- AC-01: MFA enforced on all admin access, implemented via <IdP>
- LG-02: centralized log retention 400 days, tamper-evident
Expected output: per-control clause mappings with full/partial flags and confidence, and no invented identifiers.
Run the reverse mapping to surface gaps — the valuable half. Give the model the full framework's requirement list and your control inventory and ask which requirements have no adequately-mapped control. Those are your findings-in-waiting.
Validate every mapping against authoritative control text. Open the actual ISO/SOC 2/NIST clause and confirm the control genuinely addresses it — the model's paraphrase of a requirement can be close-but-wrong, and "partially satisfies" is doing a lot of work that needs human judgment.
Record the crosswalk in a durable form (ideally OSCAL-structured so it feeds tooling), with a validation note per mapping — that record is what an auditor reviews.
A control inventory reveals exactly how a client is (and isn't) protected — a roadmap for an attacker and a compliance-sensitive document. Before prompting, describe controls generically ("MFA on admin access via the corporate IdP") and strip vendor names, internal system identifiers, and anything that pinpoints a weakness. The frameworks are public, so mapping needs no client secret. Where the client bars external AI, run a local model — this is pure reasoning over public standards plus abstracted controls. Keep the crosswalk in the client's own GRC system and confirm per-client approval before any control detail leaves their boundary.