
# Kontextuel Evidensanbefalingsmotor for Automatiserede Sikkerhedsspørgeskemaer

**TL;DR** – En kontekst‑bevidst evidensanbefalingsmotor (CERE) kombinerer store sprogmodeller (LLM'er) med en kontinuerligt opdateret vidensgraf for at give revisorer og sikkerhedsteams netop den evidens, de har brug for – præcis når de har brug for den. Resultatet er en 60‑80 % reduktion i manuel søgningstid, højere svarnøjagtighed og en compliance‑workflow, der skalerer med hastigheden i moderne SaaS‑udvikling.

---  

## 1. Hvorfor en Anbefalingsmotor er den Manglende Brik

Sikkerhedsspørgeskemaer, [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) readiness‑tjek, [ISO 27001](https://www.iso.org/standard/27001) revisioner og leverandørrisikovurderinger deler alle et fælles smertepunkt: **jagten på den rette evidens**. Teamene vedligeholder typisk et omfattende lager af politikker, revisionsrapporter, konfigurations‑snapshots og tredjeparts‑attesteringer. Når et spørgeskema ankommer, skal en compliance‑analytiker:

1. **Parse spørgsmålet** (ofte i naturligt sprog, nogle gange med branchespecifik jargon).  
2. **Identificere kontrolområdet** (fx “Access Management”, “Data Retention”).  
3. **Søge i lageret** efter dokumenter, der opfylder kontrollen.  
4. **Kopiere‑/indsætte eller omskrive** svaret og tilføje kontekstuelle bemærkninger.

Selv med sofistikerede søgeværktøjer kan den manuelle løkke optage flere timer pr. spørgeskema, især når evidensen er spredt på tværs af flere sky‑konti, ticketsystemer og ældre fildelinger. Den fejl‑prægede proces skaber compliance‑fatigue og kan føre til missede deadlines eller unøjagtige svar – begge dele er dyre for en hurtigt voksende SaaS‑virksomhed.

Enter **CERE**: en motor, der automatisk frembringer de mest relevante evidens‑elementer *så snart spørgsmålet indtastes*, drevet af en blanding af semantisk forståelse (LLM'er) og relationel ræsonnement (vidensgraf‑traversering).

---  

## 2. Grundlæggende Arkitekturpiller

CERE er bygget på tre tæt koblede lag:

| Lag | Ansvar | Nøgle‑teknologier |
|-------|----------------|------------------|
| **Semantisk Intent‑Lag** | Omformer rå spørgeskema‑tekst til en struktureret intention (kontrolfamilie, risikoniveau, påkrævet artefakttype). | Prompt‑engineered LLM (fx Claude‑3, GPT‑4o) + Retrieval‑Augmented Generation (RAG) |
| **Dynamisk Vidensgraf (DKG)** | Gemmer enheder (dokumenter, kontroller, aktiver) og deres relationer, kontinuerligt opdateret fra kildesystemer. | Neo4j/JanusGraph, GraphQL‑API, Change‑Data‑Capture (CDC) pipelines |
| **Anbefalingsmotor** | Udfører intention‑styrede graf‑forespørgsler, rangerer mulige evidenser og returnerer en kort, tillids‑score‑mærket anbefaling. | Graph Neural Network (GNN) for relevans‑scoring, forstærknings‑lærings‑loop for feedback‑inkorporering |

Nedenfor er et Mermaid‑diagram, der visualiserer dataflowet.

```mermaid
flowchart LR
    A["Bruger indsender spørgsmål i spørgeskema"]
    B["LLM fortolker intention\n(Kontrol, Risiko, Artefakttype)"]
    C["DKG opslag baseret på intention"]
    D["GNN relevans‑scoring"]
    E["Top‑K evidens‑elementer"]
    F["UI viser anbefaling\nmed tillid"]
    G["Brugerfeedback (godkend/afvis)"]
    H["RL‑loop opdaterer GNN‑vægt"]
    A --> B --> C --> D --> E --> F
    F --> G --> H --> D
```

*Alle node‑etiketter er omsluttet af dobbelte anførselstegn som påkrævet.*

---  

## 3. Fra Tekst til Intention: Prompt‑Engineered LLM

Det første skridt er at *forstå* spørgsmålet. En omhyggeligt udformet prompt udtrækker tre signaler:

1. **Kontrol‑identifikator** – fx “ISO 27001 A.9.2.3 – Password Management”.  
2. **Evidens‑kategori** – fx “Policy Document”, “Configuration Export”, “Audit Log”.  
3. **Risiko‑kontekst** – “High‑Risk, External Access”.

Et eksempel på en prompt (holder kort af sikkerhedshensyn) ser sådan ud:

```
Du er en compliance‑analytiker. Returner et JSON‑objekt med felterne:
{
  "control": "<standard‑ID og titel>",
  "evidence_type": "<policy|config|log|report>",
  "risk_tier": "<low|medium|high>"
}
Spørgsmål: {question}
```

LLM‑output valideres mod et skema og sendes derefter til DKG‑forespørgsels‑builderen.

---  

## 4. Den Dynamiske Vidensgraf (DKG)

### 4.1 Entitets‑model

| Entitet | Attributter | Relationer |
|--------|------------|---------------|
| **Dokument** | `doc_id`, `title`, `type`, `source_system`, `last_modified` | `PROVIDES` → `Control` |
| **Kontrol** | `standard_id`, `title`, `domain` | `REQUIRES` → `Evidence_Type` |
| **Aktiv** | `asset_id`, `cloud_provider`, `environment` | `HOSTS` → `Document` |
| **Bruger** | `user_id`, `role` | `INTERACTS_WITH` → `Document` |

### 4.2 Real‑Time‑Synk

Procurize integrerer allerede med SaaS‑værktøjer som GitHub, Confluence, ServiceNow og cloud‑provider‑API’er. En CDC‑baseret mikrotjeneste overvåger CRUD‑begivenheder og opdaterer grafen med sub‑sekund‑latens, mens den bevarer **auditabilitet** (hver kant bærer et `source_event_id`).

---  

## 5. Graf‑Drevet Anbefalingssti

1. **Anker‑node‑valg** – intentionens `control` bliver start‑node.  
2. **Sti‑ekspansion** – En bredde‑først‑søgn (BFS) udforsker `PROVIDES`‑kanter begrænset til den `evidence_type`, som LLM’en returnerede.  
3. **Feature‑udtræk** – For hvert kandidat‑dokument bygges en vektor ud fra:  
   - Tekst‑lighed (embedding fra samme LLM).  
   - Temporal friskhed (`last_modified`‑alder).  
   - Brugs‑frekvens (hvor ofte dokumentet blev refereret i tidligere spørgeskemaer).  
4. **Relevans‑scoring** – En GNN aggregerer node‑ og kant‑features og producerer en score `s ∈ [0,1]`.  
5. **Rangering & Tillid** – De top‑K dokumenter sorteres efter `s`; motoren udgiver også en tillids‑procent (fx “85 % sikker på, at denne politik opfylder forespørgslen”).

---  

## 6. Menneske‑i‑Loop‑Feedback‑Loop

Ingen anbefaling er perfekt fra starten. CERE indsamler *godkend/afvis* beslutninger og eventuelle fritekst‑kommentarer. Disse data driver et forstærknings‑lærings‑ (RL) loop, der periodisk fin‑tunerer GNN‑politiksnetværket, så modellen tilpasser sig organisationens subjektive relevans‑præferencer.

RL‑pipeline kører natligt:

```mermaid
stateDiagram-v2
    [*] --> IndsamlFeedback
    IndsamlFeedback --> OpdaterBelønninger
    OpdaterBelønninger --> TrænGNN
    TrænGNN --> ImplementerModel
    ImplementerModel --> [*]
```

---  

## 7. Integration med Procurize

Procurize tilbyder allerede et **Unified Questionnaire Hub**, hvor brugere kan tildele opgaver, kommentere og vedhæfte evidens. CERE kobles på som en **smart felt‑widget**:

- Når analytikeren klikker *“Tilføj Evidens”*, udløser widgetten LLM‑DKG‑pipeline’en.  
- Anbefalede dokumenter vises som klikbare kort, hver med en **“Indsæt citation”**‑knap, der automatisk genererer markdown‑referencen formateret til spørgeskemaet.  
- For multi‑tenant‑miljøer respekterer motoren **tenant‑niveau datapartitioner** – hver kundes graf er isoleret, hvilket garanterer fortrolighed, samtidig med at tvær‑tenant‑læring muliggøres på en privatlivs‑bevarende måde (via federeret gennemsnit af GNN‑vægte).

---  

## 8. Konkrete Fordele

| Måling | Baseline (Manuel) | Med CERE |
|--------|-------------------|-----------|
| **Gennemsnitlig evidens‑søgetid** | 15 min pr. spørgsmål | 2‑3 min |
| **Svarnøjagtighed (audit‑beståelsesrate)** | 87 % | 95 % |
| **Team‑tilfredshed (NPS)** | 32 | 68 |
| **Compliance‑efterspørgsels‑efterslæb** | 4 uger | 1 uge |
| **Pilot‑resultat** | – | En fintech med ca. 200 ansatte rapporterede **72 % nedskæring** i behandlingstid på spørgeskemaer og **30 % færre revisions‑runder** efter den første måned. |

---  

## 9. Udfordringer & Afhjælpninger

| Udfordring | Afhjælpning |
|-----------|------------|
| **Cold‑start for nye kontroller** – ingen historisk evidens‑reference. | Fyld grafen med standard‑politik‑templates, og brug transfer‑learning fra lignende kontroller. |
| **Dataprivatliv på tværs af tenants** – risiko for lækage ved deling af model‑opdateringer. | Benyt **Federated Learning**: hver tenant træner lokalt, kun model‑vægt‑deltaer aggregeres. |
| **LLM‑hallucinationer** – fejlagtig identifikation af kontrol‑ID’er. | Validér LLM‑output mod et **kanonisk kontrol‑register** (ISO, SOC, NIST) før graf‑forespørgsel. |
| **Graf‑drift** – forældrede relationer efter cloud‑migrationer. | CDC‑pipelines med **eventual consistency**‑garantier og periodiske graf‑sundhedstjek. |

---  

## 10. Fremtidsplan

1. **Multimodal Evidens‑Retrieval** – Inkludér skærmbilleder, konfigurations‑diagrammer og video‑walkthroughs ved hjælp af vision‑aktiverede LLM’er.  
2. **Predictive Regulation Radar** – Fuse real‑time regulatoriske feeds (fx GDPR‑ændringer) for proaktivt at berige DKG med kommende kontrolændringer.  
3. **Explainable AI‑Dashboard** – Visualiser, hvorfor et dokument fik sin tillids‑score (sti‑spor, feature‑bidrag).  
4. **Self‑Healing Graph** – Auto‑detect orphan‑noder og rekonsilier dem via AI‑drevet entitets‑resolution.

---  

## 11. Konklusion

**Kontekstuel Evidensanbefalingsmotor** (CERE) forvandler den ressource‑tunge kunst at besvare sikkerhedsspørgeskemaer til en datadrevet, næsten‑øjeblikkelig oplevelse. Ved at kombinere LLM‑semantisk parsing med en levende vidensgraf og en GNN‑drevet rangordnings‑lag, leverer CERE den rette evidens på det rette tidspunkt med målbare gevinster i hastighed, nøjagtighed og compliance‑tillid. Efterhånden som SaaS‑organisationer fortsætter med at skalere, vil sådan intelligent assistance ikke længere være et “nice‑to‑have” – den vil blive grundstenen i en robust, revisionsklar drift.

---