Why GRC needs this
Phase 1 — Fine-tuning on the frameworks
- control_text — what the standard actually says
- purpose — why the control exists
- implementation_steps — numbered, actionable steps
- evidence_requirements — what auditors look for
- audit_focus — how this is assessed in practice
- pitfalls — the common mistakes organisations make
- best_practices — what good looks like
- maturity_tier_1 through maturity_tier_4 — a four-level maturity model per control
- why_implement — business case language for executive conversations
- risk_of_not_implementing — what goes wrong if you skip it
- related_controls — cross-framework linkages
- common_tools — practical tooling references
Python
Python
Phase 2 — Building the RAG pipeline
Typescript
Typescript
Typescript
The precision problem — and why it changes everything
The semantic resolver — precision as a design requirement
Typescript
Typescript
Typescript
What comes back from the database
## A.8.24 — Use of Cryptography
**Domain:** Cryptography and Key Management
**What it requires:** [control_text — the standard's exact language]
**Purpose:** [why this control exists]
**Why implement it:** [business case]
**Implementation steps:**
1. Define cryptographic policy: algorithm standards, key lengths, approved protocols
2. Identify data requiring encryption — at rest, in transit, in use
3. Implement key lifecycle management...
**What auditors look for:** [audit_focus]
**Evidence required:**
- Cryptographic policy document
- Key management procedure
- Evidence of encryption implementation (e.g. disk encryption configs, TLS certificate inventory)
**Maturity levels:**
- Tier 1: Ad-hoc encryption with no documented policy
- Tier 2: Encryption applied to sensitive data with informal key management
- Tier 3: Documented cryptographic policy, formal key lifecycle, regular review
- Tier 4: Automated key rotation, cryptographic agility, continuous compliance monitoring
That's not generated from model weights. That's structured data, fetched from the database, injected as context. The final answer the user sees is the model synthesising this into a readable, conversational response — but the facts come from the database.
The version enforcement is hardcoded into the context string itself:
Typescript
System prompt design — topic guard and scope enforcement
Typescript
Production metrics
- ISO 27001:2022: 123 controls, 100% field coverage across all 18 fields
- NIST CSF 2.0: 106 controls, 100% field coverage
- Control ID accuracy: zero hallucinated IDs in production testing across 23 verified sessions
- Response grounding: every response backed by structured database records
- Version compliance: no CSF 1.1 IDs, no ISO 2013 IDs in any response
