- GRC Engineer - Engineering the Future of GRC
- Posts
- ⚙️ The Framework Mapping Trap: When Documentation Precedes Reality
⚙️ The Framework Mapping Trap: When Documentation Precedes Reality
Build controls that work, translate to framework language second. Not framework requirements hoping to work. Reality before compliance!
📄 Control mapping is GRC meta-work
You wouldn't write API documentation before writing the API.
You wouldn't document a function before implementing it. Yet in GRC, we routinely map to compliance frameworks before understanding what controls we actually have.
We've inverted the natural order and it's costing us clarity, speed, and truth.

IN PARTNERSHIP WITH

Your security team’s guide to automated GRC
Manual evidence collection, scattered tools, and repetitive audits can take a real toll on security and GRC teams. This new GRC playbook, created by Drata and Tines, offers a practical look at how teams are shifting to continuous, automated compliance.
Inside, you’ll find:
Detailed workflows for evidence collection, monitoring, audit prep, and vendor risk
Implementation guidance from credential setup to scaling
Best practices for building resilient, proactive GRC programs

The Framework-First Reality
The inversion: Starting from the end
Here's how GRC automation typically works today:
Pick your frameworks (ISO 27001, SOC 2, NIST CSF)
Import framework requirements into your GRC platform
Map requirements to controls
Generate evidence collection workflows
Export compliance reports
Platforms optimise for this flow. They advertise "multi-framework mapping" as a killer feature.
They promise automated crosswalks between ISO 27001 Annex A. controls and SOC 2 CCs. They generate coverage matrices showing which controls satisfy which requirements.
It feels productive. You're building a compliance architecture. You're creating traceability. You're demonstrating due diligence.
But you're doing meta-work, not actual work.
The fundamental mistake is treating frameworks as the source of truth when they're translation layers.
Think about it from a software engineering perspective:
Controls = source code (what actually executes and produces outcomes)
Frameworks = documentation (how we describe our code to specific audiences)
No engineer would write comprehensive API documentation, then try to build an API that matches it.
Yet that's exactly what framework-first GRC does:
# Framework-first (backwards)
ISO 27001 A.9.2.1: "User registration procedures"
→ Create control to satisfy requirement
→ Hope it actually works
→ Map to other frameworks# Control-first (correct)
Actual control: "MFA enforced via Okta for all production access"
→ Verify it works (auth logs, penetration test)
→ Translate to frameworks as needed:
- ISO 27001: A.9.2.1, A.9.4.2
- SOC 2: CC6.1
- NIST CSF: PR.AC-7The control exists independent of how we describe it. MFA either works or doesn't. Framework language is just... language.
A translation layer for communicating the same reality to different audiences (auditors, control owners, executives).
When you start from frameworks, you're optimising for coverage reporting, not control effectiveness.


POV: You asked for swimwear in four different accents and compliance bought four different products

IN PARTNERSHIP WITH

Leave Compliance Firefighting in 2025 🔥
Make 2026 the year of continuous trust.
Drata automates the manual chaos so you can spend your time engineering—not extinguishing audit emergencies. Discover the power of continuous, automated control monitoring, real-time risk insights, and an AI-powered trust management platform that scales with your architecture.

Control Reality First
The right order: Document reality, don’t make documentation the reality
Here's the alternative: Start from what actually exists.
Step 1: Inventory actual controls
Not what should exist per some framework. What does exist right now:
Real controls in your environment
GitLab branch protection rules
AWS IAM policies
Okta MFA enforcement rules
CloudTrail logging configurations
Dependabot security alerts
SOC2 reports from vendors
Employee background checks
Encryption at rest (RDS, S3)
Step 2: Verify they work
Can you prove each control does what you claim?
MFA enforced? Check auth logs for exceptions.
Branch protection? Try to push to main without review.
Encryption? Query the RDS instance config.
Vendor security? When did you last review their SOC 2?
This is the only work that actually matters. Everything else is translation.
Step 3: Map to frameworks (as needed)
Now, when an auditor asks "How do you satisfy ISO 27001 A.9.2.1?", you can answer:
"We enforce MFA via Okta for all production access. Here's the policy config, here's 90 days of auth logs showing zero exceptions, here's our last pentest confirming it works."
Then you add metadata:
{
"control_id": "AC-001",
"control": "MFA enforced via Okta for all production access",
"evidence": ["okta_policy.json", "auth_logs_90d.csv", "pentest_2025_q4.pdf"],
"effectiveness": "verified_2026_01_15",
"framework_mappings": {
"iso27001": ["A.9.2.1", "A.9.4.2"],
"soc2": ["CC6.1"],
"nist_csf": ["PR.AC-7"]
}
}
The mappings are metadata. Commentary. Not the source of truth.

What This Looks Like in Practice
Playbook: Framework to stop being framework-first
Let's say you need SOC 2 compliance for a customer deal (surprise).
Framework-first approach:
Import SOC 2 trust service criteria (60+ requirements)
For each criterion, brainstorm "what control would satisfy this?"
Document controls (whether they exist or not)
Spend 6 weeks implementing controls you’ve just invented
Hope they actually work when auditor tests them
Control-first approach:
List controls you already have (GitHub, AWS, Okta, etc.)
Verify each one works (logs, tests, configs)
When auditor asks "How do you handle access control?", point to Okta MFA
Auditor says "That satisfies CC6.1"
You add that mapping to your metadata
One approach takes 6 weeks and creates controls to match a framework. The other takes 2 weeks and describes existing controls in framework language.
The control effectiveness is identical in both cases. The only difference is whether you started from reality or from a document.

When Framework-First Makes Sense
This isn't absolutist.
There are cases where framework-first is the right call:
Greenfield with no existing controls
If you're building a new system from scratch, frameworks provide a reasonable checklist. You don't have "control reality" yet, so framework requirements are a decent starting point.
But even here, implement the control first, then map it. Don't create a framework mapping in your GRC platform and call it done.
Frameworks as business requirements
Sometimes frameworks aren't just translation layers, they're contractual requirements. FedRAMP doesn't care about your "actual controls"; they care about NIST 800-53 control mappings (it’s changing now thanks to FedRAMP 20x though which is amazing)
Fine. Map to 800-53. But still start from reality. Document your controls, verify they work, then add the NIST control IDs as metadata.
Compliance-driven industries
Healthcare, finance, defense. Heavily regulated industries where frameworks have legal weight. Framework compliance isn't optional; it's the business you're in.
Even here: Implement actual controls first. The framework mapping is still meta-work, but it's meta-work the regulator requires. Do it last, not first.
The heuristic:
Framework-first if you have nothing (greenfield)
Control-first if you have anything (90% of cases)
Always verify controls work before mapping them

Your Move
The application: what to put in place now.
Here's how to escape the framework mapping trap:
If you're starting from scratch:
Pick one framework (not five)
Use it as a checklist, not a data model
Implement controls, verify they work, document them
Add framework IDs as metadata afterward
If you're already framework-first:
Inventory your actual controls (scripts, configs, policies)
For each framework requirement, ask: "What control actually does this?"
If no control exists, admit it (gap)
If control exists, verify it works, then link it
Treat framework mappings as tags, not truth
If you're buying a GRC platform:
Ask: "Can I model controls independent of frameworks?"
Ask: "Can I link evidence to controls, not just boiler-plae framework requirements?"
Avoid platforms that require framework selection before control documentation
The goal isn't to eliminate frameworks. They're useful for communication. The goal is to stop treating them as the source of truth.
Your controls are the source of truth. Frameworks are just how you describe them to auditors.
Start from reality. Translate to compliance. Not the other way around.

Did you enjoy this week's entry? |

That’s all for this week’s issue, folks!
If you enjoyed it, you might also enjoy:
My spicier takes on LinkedIn [/in/ayoubfandi]
Listening to the GRC Engineer Podcast
See you next week!
Reply