
# Dynamisk Avtalspunktskartläggning med AI för Säkerhetsfrågeformulär

## Varför kartläggning av avtalsklausuler är viktigt

Säkerhetsfrågeformulär är grindvakter i B2B SaaS‑affärer. Ett typiskt formulär innehåller frågor som:

* *“Krypterar ni data i vila? Ange klausulreferensen från ert Service Agreement.”*  
* *“Vad är er svarstid vid incident? Ange den relevanta bestämmelsen i ert Data Processing Addendum.”*  

Att svara på dessa frågor korrekt kräver att man hittar exakt rätt klausul i ett hav av avtal, tillägg och policydokument. Den traditionella manuella metoden lider av tre kritiska nackdelar:

1. **Tidskrävande** – Säkerhetsteamen spenderar timmar på att leta rätt på rätt stycke.  
2. **Mänskliga fel** – Felaktig hänvisning kan leda till efterlevnadsgap eller revisionsmisslyckanden.  
3. **Föråldrade referenser** – Avtal förändras; gamla klausulnummer blir föråldrade, men svaren i frågeformuläret uppdateras inte.

Den **Dynamiska Avtalspunktskartläggningsmotorn (DCCM)** löser alla tre problemen genom att förvandla avtalsarkivet till en sökbar, självunderhållande kunskapsgraf som driver AI‑genererade svar i realtid.

---

## Grundläggande arkitektur för DCCM‑motorn

Nedan visas en hög‑nivå‑översikt av DCCM‑pipeline. Diagrammet använder **Mermaid**‑syntax för att illustrera dataflöde och beslutssteg.

```mermaid
stateDiagram-v2
    [*] --> IngestContracts: "Document Ingestion"
    IngestContracts --> ExtractText: "OCR & Text Extraction"
    ExtractText --> Chunkify: "Semantic Chunking"
    Chunkify --> EmbedChunks: "Vector Embedding (RAG)"
    EmbedChunks --> BuildKG: "Knowledge Graph Construction"
    BuildKG --> UpdateLedger: "Attribution Ledger Entry"
    UpdateLedger --> [*]

    state AIResponder {
        ReceiveQuestion --> RetrieveRelevantChunks: "Vector Search"
        RetrieveRelevantChunks --> RAGGenerator: "Retrieval‑Augmented Generation"
        RAGGenerator --> ExplainabilityLayer: "Citation & Confidence Scores"
        ExplainabilityLayer --> ReturnAnswer: "Formatted Answer with Clause Links"
    }

    [*] --> AIResponder
```

**Nyckelkomponenter förklarade**

| Komponent | Syfte | Teknologier |
|-----------|-------|--------------|
| **IngestContracts** | Hämtar avtal, tillägg och SaaS‑villkor från molnlagring, SharePoint eller GitOps‑arkiv. | Event‑driven Lambda, S3‑triggers |
| **ExtractText** | Omvandlar PDF, skannade filer och Word‑dokument till råtext. | OCR (Tesseract), Apache Tika |
| **Chunkify** | Delar upp dokumenten i semantiskt koherenta sektioner (vanligtvis 1‑2 stycken). | Anpassad NLP‑splitter baserad på rubriker & punktlistor |
| **EmbedChunks** | Koder varje del till en tät vektor för likhetssökning. | Sentence‑Transformers (all‑MiniLM‑L12‑v2) |
| **BuildKG** | Skapar en egenskapsgraf där noder = klausuler, kanter = referenser, skyldigheter eller relaterade standarder. | Neo4j + GraphQL‑API |
| **UpdateLedger** | Registrerar oföränderlig proveniens för varje del som läggs till eller ändras. | Hyperledger Fabric (append‑only ledger) |
| **RetrieveRelevantChunks** | Hittar top‑k liknande delar för en given frågeformulärsprompt. | FAISS / Milvus vektor‑DB |
| **RAGGenerator** | Kombinerar återvunna textstycken med LLM för att generera ett koncist svar. | OpenAI GPT‑4o / Anthropic Claude‑3.5 |
| **ExplainabilityLayer** | Lägger till citat, konfidenspoäng och en visuell snutt av klausulen. | LangChain Explainability Toolkit |
| **ReturnAnswer** | Returnerar svaret i Procurize‑UI med klickbara klausullänkar. | React‑frontend + Markdown‑rendering |

---

## Retrieval‑Augmented Generation (RAG) möter avtalsprecision

Standard‑LLM:er kan hallucinisera när de ombeds ge avtalsreferenser. Genom att grunda genereringen i *verkliga* avtalsdelar garanterar DCCM‑motorn faktamässig korrekthet:

1. **Fråge‑embedding** – Användarens frågeformulärstext omvandlas till en vektor.  
2. **Top‑k‑retrieval** – FAISS returnerar de mest liknande avtalsdelarna (k = 5 som standard).  
3. **Prompt‑engineering** – De återvunna textsnuttarna injiceras i ett systemprompt som tvingar LLM att explicit ange källan:

```
You are a compliance assistant. Use ONLY the provided contract excerpts to answer the question. 
For each answer, end with "Clause: <DocumentID>#<ClauseNumber>".
If the excerpt does not contain enough detail, respond with "Information not available".
```

4. **Post‑processing** – Motorn analyserar LLM‑utdata, validerar att varje citerad klausul finns i kunskapsgrafen och bifogar en konfidenspoäng (0–100). Om poängen faller under ett konfigurerbart tröskelvärde (t.ex. 70) flaggas svaret för manuell granskning.

---

## Förklarlig tillskrivningsjournal

Revisorer kräver bevis på *var* varje svar hämtades från. DCCM‑motorn skriver ett **kryptografiskt signerat journalposterings‑entry** för varje kartläggningstillfälle:

```json
{
  "question_id": "Q-2025-07-12-001",
  "answer_hash": "sha256:8f3e...",
  "referenced_clause": "SA-2024-08#12.3",
  "vector_similarity": 0.94,
  "llm_confidence": 88,
  "timestamp": "2025-12-01T08:31:45Z",
  "signature": "0xABCD..."
}
```

Denna journal:

* Ger ett oföränderligt revisionsspår.  
* Möjliggör *zero‑knowledge proof*-frågor där en regulator kan verifiera existensen av en citering utan att avslöja hela avtalet.  
* Stöder **policy‑as‑code**‑verkställighet – om en klausul blir föråldrad flaggas automatiskt alla beroende frågeformulärssvar för återutvärdering.

---

## Realtidsanpassning till klausuldrift

Avtal är levande dokument. När en klausul redigeras beräknar **Change‑Detection Service** om‑embeddar den berörda delen, uppdaterar kunskapsgrafen och regenererar journalposter för alla svar som refererade den ändrade klausulen. Denna loop slutförs vanligtvis inom **2–5 sekunder**, vilket säkerställer att Procurize‑UI alltid visar den senaste avtalstexten.

### Exempelscenario

*Originalklausul* (Version 1):  
> “Data shall be encrypted at rest using AES‑256.”

*Uppdaterad klausul* (Version 2):  
> “Data shall be encrypted at rest using AES‑256 or ChaCha20‑Poly1305, whichever is deemed more appropriate.”

Vid versionsändring:

1. Inbäddning för klausulen uppdateras.  
2. Alla svar som tidigare citerade “Clause 2.1” körs om genom RAG‑generatorn.  
3. Om den uppdaterade klausulen introducerar valfrihet kan konfidenspoängen sjunka, vilket får den säkerhetsansvarige att bekräfta svaret.  
4. Journalen registrerar ett **drift‑event** som länkar gamla och nya klausul‑ID:n.

---

## Kvantifierade fördelar

| Mått | Före DCCM | Efter DCCM (30‑dagars pilot) |
|------|-----------|------------------------------|
| Genomsnittlig tid för att svara på en klausul‑länkad fråga | 12 min (manuell sökning) | 18 sek (AI‑drivet) |
| Mänsklig felprocent (felciterade klausuler) | 4,2 % | 0,3 % |
| Andel svar som flaggades för omgranskning efter avtalsuppdateringar | 22 % | 5 % |
| Revisorsnöjdhet (1‑10) | 6 | 9 |
| Total minskning av frågeformulärstider | 35 % | 78 % |

Siffrorna visar tydligt hur en **enda AI‑motor** kan omvandla ett flaskhalsproblem till en konkurrensfördel.

---

## Implementeringschecklista för säkerhetsteam

1. **Dokumentcentralisering** – Säkerställ att alla avtal lagras i ett maskin‑läsbart arkiv (PDF, DOCX eller ren text).  
2. **Metadata‑förstärkning** – Tagga varje avtal med `vendor`, `type` (SA, **[DPA:n](https://www.dpocentre.com/what-is-a-dpa-and-why-do-you-need-one/)**, SLA) och `effective_date`.  
3. **Åtkomstkontroll** – Ge DCCM‑tjänsten endast läs‑behörighet; skrivbehörighet är begränsad till provenance‑journalen.  
4. **Policy‑styrning** – Definiera ett konfidens‑tröskelvärde (t.ex. > 80 % auto‑accept).  
5. **Human‑In‑The‑Loop (HITL)** – Tilldela en efterlevnadsgranskare för att handskas med låg‑konfidens‑svar.  
6. **Kontinuerlig övervakning** – Aktivera larm för klausul‑drift‑event som överskrider en riskpoängströskel.  

Genom att följa checklistan får ni en smidig utrullning och maximal avkastning på investeringen.

---

## Framtidsplan

| Kvartal | Initiativ |
|--------|-----------|
| Q1 2026 | **Flerspråkig klausulhämtning** – Utnyttja flerspråkiga inbäddningar för att stödja avtal på franska, tyska och japanska. |
| Q2 2026 | **Zero‑Knowledge Proof‑revisioner** – Låta regulatorer verifiera klausulproveniens utan att exponera hela avtalet. |
| Q3 2026 | **Edge‑AI‑distribution** – Köra inbäddningspipeline lokalt för högreglerade branscher (finans, hälsa). |
| Q4 2026 | **Generativ klausulutformning** – När en nödvändig klausul saknas föreslår motorn ett utkast som är i linje med branschstandarder. |

---

## Slutsats

Dynamisk Avtalspunktskartläggning förenar juridisk prosa med säkerhetsfrågeformulärens krav. Genom att kombinera Retrieval‑Augmented Generation med en semantisk kunskapsgraf, en oföränderlig tillskrivningsjournal och realtids‑driftdetektion, ger Procurize säkerhetsteamen möjlighet att svara med förtroende, minska svarstider och tillfredsställa revisorer – samtidigt som avtalen hålls automatiskt uppdaterade.

För SaaS‑företag som vill vinna företagsavtal snabbare är DCCM‑motorn inte längre ett “nice‑to‑have” – det är ett **måste‑att‑ha** som ger en tydlig konkurrensfördel.