
# Dynamické mapování smluvních ustanovení pomocí AI pro bezpečnostní dotazníky

## Proč je mapování smluvních ustanovení důležité

Bezpečnostní dotazníky jsou vstupní bránou pro B2B SaaS obchody. Typický dotazník klade otázky jako:

* *„Šifrujete data v klidu? Uveďte odkaz na ustanovení ve své Smlouvě o službě.“*  
* *„Jaká je doba odezvy na incident? Citujte příslušné ustanovení ve svém Dodatku o zpracování dat.“*  

Odpovědi na tyto dotazy vyžadují nalezení přesného ustanovení v moři smluv, dodatků a politických dokumentů. Tradiční manuální přístup má tři zásadní nedostatky:

1. **Časová náročnost** – Bezpečnostní týmy stráví hodiny hledáním správného odstavce.  
2. **Lidské chyby** – Nesprávná reference na ustanovení může vést k mezerám v souladu nebo selhání auditu.  
3. **Zastaralé odkazy** – Smlouvy se vyvíjejí; staré číslování ustanovení se stává neplatným, ale odpovědi v dotaznících zůstávají beze změny.  

Engine **Dynamic Contractual Clause Mapping (DCCM)** řeší všechny tři problémy tím, že promění repozitáře smluv na prohledávatelný, samo‑udržující se znalostní graf, který pohání AI‑generované odpovědi v reálném čase.

---

## Základní architektura DCCM enginu

Níže je vysoká úroveň toku DCCM pipeline. Diagram používá syntaxi **Mermaid** pro ilustraci toku dat a rozhodovacích bodů.

```mermaid
stateDiagram-v2
    [*] --> IngestContracts: "Ingestování dokumentů"
    IngestContracts --> ExtractText: "OCR a extrakce textu"
    ExtractText --> Chunkify: "Sémantické chunkování"
    Chunkify --> EmbedChunks: "Vektorové embedování (RAG)"
    EmbedChunks --> BuildKG: "Konstrukce znalostního grafu"
    BuildKG --> UpdateLedger: "Záznam do účetního deníku"
    UpdateLedger --> [*]

    state AIResponder {
        ReceiveQuestion --> RetrieveRelevantChunks: "Vektorové vyhledávání"
        RetrieveRelevantChunks --> RAGGenerator: "Retrieval‑Augmented Generation"
        RAGGenerator --> ExplainabilityLayer: "Citace a skóre důvěry"
        ExplainabilityLayer --> ReturnAnswer: "Formátovaná odpověď s odkazy na ustanovení"
    }

    [*] --> AIResponder
```

**Klíčové komponenty vysvětleny**

| Komponenta | Účel | Technologie |
|------------|------|-------------|
| **IngestContracts** | Načítání smluv, dodatků, SaaS podmínek z cloudového úložiště, SharePointu nebo GitOps repozitářů. | Event‑driven Lambda, S3 spouštěče |
| **ExtractText** | Převod PDF, skenů a Word souborů na surový text. | OCR (Tesseract), Apache Tika |
| **Chunkify** | Rozdělení dokumentů na semanticky koherentní úseky (obvykle 1‑2 odstavce). | Vlastní NLP splitter založený na nadpisech a hierarchii odrážek |
| **EmbedChunks** | Kódování každého úseku do hustého vektoru pro podobnostní vyhledávání. | Sentence‑Transformers (all‑MiniLM‑L12‑v2) |
| **BuildKG** | Vytvoření grafu vlastností, kde uzly = ustanovení, hrany = reference, povinnosti nebo související standardy. | Neo4j + GraphQL API |
| **UpdateLedger** | Zaznamenání neměnné provenance pro každý přidaný nebo změněný úsek. | Hyperledger Fabric (append‑only ledger) |
| **RetrieveRelevantChunks** | Vyhledání top‑k podobných úseků pro daný dotaz z dotazníku. | FAISS / Milvus vektorová DB |
| **RAGGenerator** | Kombinace získaných úseků s LLM pro generování stručné odpovědi. | OpenAI GPT‑4o / Anthropic Claude‑3.5 |
| **ExplainabilityLayer** | Připojení citací, skóre důvěry a vizuálního úryvku ustanovení. | LangChain Explainability Toolkit |
| **ReturnAnswer** | Vrácení odpovědi v UI Procurize s klikacími odkazy na ustanovení. | React front‑end + Markdown rendering |

---

## Retrieval‑Augmented Generation (RAG) a smluvní přesnost

Standardní LLM mohou halucinovat, když jsou dotázány na smluvní reference. Zakotvením generování na *reálných* úsecích smlouvy DCCM engine zaručuje faktickou přesnost:

1. **Vložení dotazu** – Text dotazu z dotazníku je převeden na vektor.  
2. **Top‑k retrieval** – FAISS vrátí nejvíce podobných úseků smlouvy (výchozí k = 5).  
3. **Prompt engineering** – Vybrané úryvky jsou vloženy do systémového promptu, který LLM nutí explicitně citovat zdroj:

```
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** – Engine analyzuje výstup LLM, ověří, že každá citovaná smlouva existuje v grafu, a připojí skóre důvěry (0–100). Pokud skóre spadne pod konfigurovatelný práh (např. 70), odpověď je označena pro lidskou kontrolu.

---

## Vysvětlitelný účetní deník

Auditoři požadují důkazy **kde** každá odpověď vznikla. DCCM engine zapisuje **kriptograficky podepsaný záznam v deníku** pro každou mapovací událost:

```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..."
}
```

Tento deník:

* Poskytuje neměnnou auditní stopu.  
* Umožňuje **zero‑knowledge proof** dotazy, kdy regulátor může ověřit existenci citace bez odhalení celé smlouvy.  
* Podporuje **policy‑as‑code** vynucení – pokud je ustanovení zastaralé, deník automaticky označí všechny závislé odpovědi v dotazníku k přehodnocení.

---

## Adaptace v reálném čase na „Clause Drift“

Smlouvy jsou živé dokumenty. Když je ustanovení editováno, **Change‑Detection Service** přepočítá embedování pro postižený úsek, aktualizuje znalostní graf a regeneruje záznamy v deníku pro všechny odpovědi, které odkazovaly na změněné ustanovení. Celý cyklus obvykle trvá **2–5 sekund**, takže UI Procurize vždy odráží nejaktuálnější jazyk smlouvy.

### Příklad scénáře

*Původní ustanovení* (verze 1):  
> “Data shall be encrypted at rest using AES‑256.”

*Aktualizované ustanovení* (verze 2):  
> “Data shall be encrypted at rest using AES‑256 or ChaCha20‑Poly1305, whichever is deemed more appropriate.”

Po změně verze:

1. Embedding pro úsek se obnoví.  
2. Všechny odpovědi, které dříve citovaly „Clause 2.1“, jsou znovu zpracovány RAG generátorem.  
3. Pokud aktualizované ustanovení zavádí volitelnost, může klesnout skóre důvěry, což vyvolá kontrolu bezpečnostním recenzentem.  
4. Deník zaznamená **drift event** propojující staré a nové ID ustanovení.

---

## Kvantifikované přínosy

| Metrika | Před DCCM | Po DCCM (30‑denní pilot) |
|---------|-----------|--------------------------|
| Průměrná doba na odpověď s odkazem na ustanovení | 12 min (manuální hledání) | 18 sek (AI‑poháněno) |
| Chybovost (špatně citované ustanovení) | 4,2 % | 0,3 % |
| Procento odpovědí označených k přehodnocení po změně smlouvy | 22 % | 5 % |
| Spokojenost auditorů (1‑10) | 6 | 9 |
| Celkové snížení doby zpracování dotazníku | 35 % | 78 % |

Tyto čísla ukazují, jak **jediný AI engine** může proměnit úzké hrdlo v konkurenční výhodu.

---

## Kontrolní seznam pro bezpečnostní týmy

1. **Centralizace dokumentů** – Zajistěte, aby všechny smlouvy byly uloženy v strojově čitelném úložišti (PDF, DOCX nebo prostý text).  
2. **Obohacení metadat** – Označte každou smlouvu tagy `vendor`, `type` (SA, **[DPA](https://www.dpocentre.com/what-is-a-dpa-and-why-do-you-need-one/), SLA) a `effective_date`.  
3. **Řízení přístupu** – Dejte DCCM službě pouze oprávnění ke čtení; zápis je omezen na účetní deník.  
4. **Governance politiky** – Definujte práh důvěry (např. > 80 % automatické schválení).  
5. **Human‑In‑The‑Loop (HITL)** – Přidělte compliance recenzenta pro zpracování nízkodůvěryhodných odpovědí.  
6. **Kontinuální monitorování** – Aktivujte upozornění na události „clause drift“, které překročí rizikový práh.  

Dodržení tohoto seznamu zajistí hladké nasazení a maximalizuje návratnost investice.

---

## Plán vývoje

| Čtvrtletí | Iniciativa |
|-----------|------------|
| Q1 2026 | **Vícejazykové vyhledávání ustanovení** – Využití vícejazykových embedování pro podporu smluv ve francouzštině, němčině a japonštině. |
| Q2 2026 | **Zero‑Knowledge Proof audity** – Umožní regulátorům ověřit původ citace bez zveřejnění kompletní smlouvy. |
| Q3 2026 | **Edge‑AI nasazení** – Spuštění embedding pipeline on‑premise pro vysoce regulované odvětví (finance, zdravotnictví). |
| Q4 2026 | **Generování návrhů ustanovení** – Když chybí požadované ustanovení, engine navrhne draft textu v souladu s průmyslovými standardy. |

---

## Závěr

Dynamické mapování smluvních ustanovení spojuje právní text s požadavky bezpečnostních dotazníků. Kombinací Retrieval‑Augmented Generation, sémantického znalostního grafu, neměnného účetního deníku a detekce „clause drift“ v reálném čase dává Procurize bezpečnostním týmům schopnost odpovídat s důvěrou, zkrátit dobu zpracování a uspokojit audity – a to vše automaticky udržuje smlouvy aktuální.  

Pro SaaS společnosti, které chtějí rychleji vyhrávat enterprise zakázky, se DCCM engine již neřadí k „příjemným mít“, ale k **nezbytnému** konkurenčnímu diferenciátoru.