
# Realaus laiko politikos nuokrypio įspėjimai su DI pagrįstu žinių grafu

## Įvadas

Saugumo klausimynai, atitikties auditai ir tiekėjų įvertinimai yra kiekvieno B2B SaaS sandorio svarių vartų kontrole.  
Tačiau patys dokumentai, kurie atsako į šiuos klausimynus – saugumo politikos, valdymo sistemos ir reguliavimo atitikimo žemėlapiai – nuolat keičiasi. Vienas politikos pakeitimas gali paversti dešimtis anksčiau patvirtintų atsakymų neteisingais, sukuriant **politikų nuokrypį**: tarpą tarp to, ką atsakymas teigia, ir to, ką faktiškai teigia dabartinė politika.

Tradiciniai atitikties darbo procesai remiasi rankiniais versijų patikrinimais, el. pašto priminimais arba ad‑hoc skaičiuoklių atnaujinimais. Tokie metodai lėti, linkę į klaidas ir blogai skalėja, kai didėja sistemų (pvz., [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), GDPR, CCPA, …) bei reguliacinių pokyčių skaičius.

**Procurize** sprendžia šią problemą integruodama **DI pagrįstą žinių grafiką** į platformos šerdį. Grafas nuolat įkelia politikos dokumentus, susieja juos su klausimyno elementais ir siunčia **realio laiko nuokrypio įspėjimus**, kai šaltinio politika skiriasi nuo įrodymo, panaudoto ankstesniame atsakyme. Rezultatas – gyvas atitikties ekosistema, kurioje atsakymai lieka tikslūs be rankinio dingimo.

Šiame straipsnyje nagrinėjama:

* Kas yra politikos nuokrypis ir kodėl jis svarbus.  
* Procurize žinių grafu paremto įspėjimų variklio architektūra.  
* Kaip sistema integruojama su esamomis DevSecOps vamzdynų grandimis.  
* Kiekybiniai privalumai ir realaus pasaulio atvejo analizė.  
* Ateities kryptys, įskaitant automatizuotą įrodymų regeneravimą.

---

## Supratimas apie politikos nuokrypį

### Apibrėžimas

> **Politikos nuokrypis** – situacija, kai atitikties atsakymas nurodo politikos versiją, kuri nebe yra oficiali ar naujausia versija.

Yra trys dažniausi nuokrypio scenarijai:

| Scenarijus | Trigeris | Poveikis |
|------------|----------|----------|
| **Dokumento peržiūra** | Politikos nuostata keičiama (pvz., naujas slaptažodžių sudėtingumo reikalavimas). | Esamas klausimyno atsakymas cituoja pasenusią taisyklę → klaidingas atitikties teiginys. |
| **Reguliavimo atnaujinimas** | [GDPR](https://gdpr.eu/) prideda naują duomenų apdorojimo reikalavimą. | Ankstesnei GDPR versijai susieti kontrolės elementai tampa nepakankami. |
| **Tarpų tarp sistemų nesutapimas** | Vidinė „Duomenų saugojimo“ politika atitinka ISO 27001, bet ne SOC 2. | Atsakymai, kurie pakartoja tą patį įrodymą, sukelia prieštaravimus tarp sistemų. |

### Kodėl nuokrypis pavojingas

* **Audito išvados** – Auditoriai dažnai prašo „naujausios versijos“ nuorodų į politiką. Nuokrypis lemia neatitiktis, baudas ir sutarties vėlavimus.  
* **Saugumo spragos** – Pasenę kontrolės elementai gali nebe mažinti rizikos, kurią jie buvo sukurti valdyti, ir sukelti įsilaužimus.  
* **Operacinės išlaidos** – Komandos praleidžia valandas sekant pakeitimus per saugyklas, dažnai praleisdamos subtilius redagavimus, kurie atveria atsakymų netikslumą.

Mano rankinis nuokrypio aptikimas reikalauja nuolatinės budrumo, ko sparčiai augančioms SaaS įmonėms, tvarkančioms dešimtis klausimynų per ketvirtį, neįmanoma.

---

## DI pagrįstas žinių grafų sprendimas

### Pagrindinės sąvokos

1. **Erdvės atvaizdavimas** – Kiekviena politikos nuostata, kontrolė, reguliavimo reikalavimas ir klausimyno elementas tampa grafų mazgu.  
2. **Semantiniai ryšiai** – Briaunos fiksuoja *„įrodymas‑už“*, *„susietas‑su“*, *„paveldimas‑nuo“* ir *„konfliktuoja‑su“* ryšius.  
3. **Versijavimas** – Kiekvienas dokumento įkėlimas sukuria naują versijuotą po‑grafą, išsaugant istorinį kontekstą.  
4. **Kontekstiniai įterpimai** – Lengvas LLM konvertuoja teksto panašumą, leidžiant žymiai susieti panašias nuostatas, kai formulavimas šiek tiek pasikeičia.

### Architektūros apžvalga

```mermaid
flowchart LR
    A["Document Source: Policy Repo"] --> B["Ingestion Service"]
    B --> C["Versioned Parser (PDF/MD)"]
    C --> D["Embedding Generator"]
    D --> E["Knowledge Graph Store"]
    E --> F["Drift Detection Engine"]
    F --> G["Real‑Time Alert Service"]
    G --> H["Procurize UI / Slack Bot / Email"]
    H --> I["Questionnaire Answer Store"]
    I --> J["Audit Trail & Immutable Ledger"]
```

* **Įkėlimo paslauga** stebi Git saugyklas, SharePoint aplankus arba debesų saugyklas dėl politikos atnaujinimų.  
* **Versijuojantis analizatorius** išgauna nuostatų antraštes, identifikatorius ir meta‑duomenis (įsigaliojimo data, autorius).  
* **Įterpimo generatorius** naudoja pritaikytą LLM, kad sukurtų vektorius kiekvienam mazgui.  
* **Žinių grafų saugykla** – Neo4j suderinama duomenų bazė, leidžianti apdoroti milijardus ryšių su ACID garantijomis.  
* **Nuokrypio aptikimo variklis** nuolat vykdo diferencijos algoritmą: palygina naujus mazgų įterpimus su tais, kurie yra susieti su aktyviais klausimyno atsakymais. Jei panašumo koeficientas nukrenta žemiau konfigūruojamo slenksčio (pvz., 0,78), nuokrypis žymimas.  
* **Realio laiko įspėjimų paslauga** siunčia pranešimus per WebSocket, Slack, Microsoft Teams arba el. paštą.  
* **Audito takelis ir nemutoma knyga** registruoja kiekvieną nuokrypio įvykį, jo šaltinio versiją ir atliktą sprendimo veiksmą, užtikrinant atitikties patikimumą.

### Kaip įspėjimai skleidžiasi

1. **Politikos atnaujinimas** – Saugumo inžinierius pakeičia „Incidentų reagavimo laiką“ iš 4 val. į 2 val.  
2. **Grafų atnaujinimas** – Nauja nuostata sukuria „IR‑Clause‑v2“ mazgą, susietą su ankstesniu „IR‑Clause‑v1“ per *„pakeistas‑už“* ryšį.  
3. **Nuokrypio nuskaitymas** – Variklis randa, kad atsakymas ID #345 cituoja „IR‑Clause‑v1“.  
4. **Įspėjimo generavimas** – Aukšto prioriteto įspėjimas: „Atsakymas #345 dėl „Vidutinio reagavimo laiko“ cituoja pasenusią nuostatą. Reikalingas peržiūrėjimas.“  
5. **Vartotojo veiksmas** – Atitikties analitikas atidaro UI, mato skirtumą, atnaujina atsakymą ir spaudžia **„Patvirtinti“**. Sistema įrašo veiksmą ir atnaujina grafų briauną, nurodančią „IR‑Clause‑v2“.

---

## Integracija su esamomis įrankių grandimis

### CI/CD kabliukas

```yaml
# .github/workflows/policy-drift.yml
name: Policy Drift Detection
on:
  push:
    paths:
      - 'policies/**'
jobs:
  detect-drift:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Upload new policies to Procurize
        run: |
          curl -X POST https://api.procurize.io/ingest \
               -H "Authorization: Bearer ${{ secrets.PROCURIZE_TOKEN }}" \
               -F "files=@policies/**"
```

*Kai politika failas pasikeičia, darbo eiga siunčia jį į Procurize įkėlimo API, iš karto atnaujinant grafiką.*

### DevSecOps skydelis

| Platforma | Integracijos metodas | Duomenų srautas |
|-----------|---------------------|-----------------|
| **Jenkins** | HTTP webhook | Siunčia politikos diferencijas į Procurize, gauna nuokrypio ataskaitą |
| **GitLab** | Nuorodų CI skriptas | Laikosi politikos versijų ID GitLab kintamuosiuose |
| **Azure DevOps** | Paslaugos jungtis | Naudoja Azure Key Vault saugiam token’ų saugojimui |
| **Slack** | Bot programėlė | Publikuoja nuokrypio įspėjimus kanale #compliance‑alerts |

Grafas taip pat palaiko **dvipusį sinchronizavimą**: įrodymas, sugeneruotas iš klausimyno atsakymų, gali būti atsiųstas atgal į politikos sandėlį, leidžiant „politika pagal pavyzdį“ kūrimą.

---

## Matomi privalumai

| Rodiklis | Prieš DI‑grafą | Po DI‑grafų |
|----------|----------------|-------------|
| **Vidutinis klausimyno atsakymo laikas** | 12 d. | 4 d. (66 % sumažėjimas) |
| **Nuokrypių susijusių audito išvadų skaičius** | 3 per ketvirtį | 0,4 per ketvirtį (87 % sumažėjimas) |
| **Rankų valandų, skiriamų politikos versijų patikrinimui** | 80 h/ketv. | 12 h/ketv. |
| **Vidinis atitikties pasitikėjimo indeksas** | 73 % | 94 % |

**Kodėl tai svarbu**

* Greitesnis atsakymo laikas tiesiog verčia trumpesnes pardavimo ciklus, didinant sėkmės rodiklius.  
* Mažesnis audito išvadų skaičius sumažina koregavimo išlaidas ir saugo įmonės reputaciją.  
* Mažesnės rankinės pastangos leidžia saugumo analitikams susikoncentruoti į strategiją, o ne kasdienius tvarkaraščius.

---

## Realio pasaulio atvejis: FinTech startuolis „SecurePay“

**Fonas** – SecurePay apdoroja daugiau nei 5 mlrd. USD per metus ir turi atitikti [PCI‑DSS](https://www.pcisecuritystandards.org/pci_security/), SOC 2 ir ISO 27001. Ankstesnė atitikties komanda valdė 30+ klausimynų rankiniu būdu, skirdama ~150 valų per mėnesį politikos patikrinimui.

**Įgyvendinimas** – Diegta Procurize žinių grafų modulį, susiejus jį su GitHub politikos sandėliu ir Slack kanalu. Gairėse nustatyta, kad įspėjimai generuojami tik kai panašumo koeficientas krenta žemiau 0,75.

**Rezultatai (6 mėn.)**  

| KPI | Pradinė būklė | Po įgyvendinimo |
|-----|----------------|-----------------|
| Klausimyno atsakymo greitis | 9 d. | 3 d. |
| Aptikti politikos nuokrypiai | 0 (neaptikti) | 27 (visi išspręsti per ≤2 h) |
| Auditoriaus išvados – neatitikimai | 5 | 0 |
| Komandos pasitenkinimas (NPS) | 32 | 78 |

Automatinis nuokrypio aptikimas išskleidė paslėptą „Duomenų šifravimo požiūrio“ nuostatų pakeitimą, kuris galėjo sukelti PCI‑DSS neatitiktį. Komanda ištaisė atsakymą dar prieš auditą, išvengdama galimų baudų.

---

## Geriausios praktikos diegiant realaus laiko nuokrypio įspėjimus

1. **Apibrėžkite detalius slenksčius** – Nustatykite panašumo slenksčius pagal sistemą; reguliavimo nuostatos dažnai reikalauja griežtesnio atitikimo nei vidinės procedūros.  
2. **Žymėkite kritines kontrolės sritis** – Aukšto prioriteto įspėjimus teikite raktinėms kontrolėms (pvz., prieigos valdymas, incidentų reagavimas).  
3. **Skirkite „Nuokrypio savininką“** – Priskirkite asmenį arba komandą, atsakingą už įspėjimų triage, kad išvengtumėte įspėjimų nuovargio.  
4. **Naudokite nemutomą knygą** – Kiekvienas nuokrypis ir sprendimas saugomas nekeičiama knyga (pvz., blokų grandinė) ateities auditams.  
5. **Periodiškai pertikrinkite įterpimus** – Kas ketvirtį atnaujinkite LLM įterpimo modelį, kad jis atspindėtų besikeičiančią terminologiją ir išvengtų modelio nuokrypio.

---

## Ateities planas

* **Automatinė įrodymų regeneracija** – Kai nuokrypis aptinkamas, sistema pasiūlys naujus įrodymų fragmentus, sugeneruotus per Retrieval‑Augmented Generation (RAG) modelį, sumažindama sprendimo laiką iki sekundžių.  
* **Federaciniai grafai tarp organizacijų** – Įmonės, veikiančios keliose teisinėse struktūrose, galės dalintis anonimizuotomis grafų struktūromis, leidžiančiomis kolektyviai aptikti nuokrypius, išlaikant duomenų suverenumą.  
* **Prognozuojamas nuokrypio numatymas** – Analizuojant istorinį pokyčių modelį, DI prognozuos nurodys galimus būsimius politikos pakeitimus, leidžiančius komandoms iš anksto atnaujinti klausimyno atsakymus.  
* **Suderinimas su NIST CSF** – Vykdoma darbo grupė, siekianti tiesiogiai susieti grafų briaunas su [NIST Cybersecurity Framework (CSF)](https://www.nist.gov/cyberframework), padedančia organizacijoms, remiančioms rizikos valdymu paremtą požiūrį.

---

## Išvada

Politikos nuokrypis yra nematoma grėsmė, kuri pakenkia bet kurio saugumo klausimyno patikimumui. Modeliuodama politikos, kontrolės ir klausimyno elementus kaip **semantinį, versijavimą atitinkantį žinių grafiką**, Procurize suteikia **momentinius, veiksmingus įspėjimus**, kurie palaiko atitikties atsakymus sinchronizuotus su naujausiomis politikomis ir reglamentais. Tai lemia greitesnį atsakymų laiką, mažesnį auditų išvadų skaičių ir matomą pasitikėjimo padidėjimą tarp suinteresuotų šalių.

Priimdami šį DI valdomą požiūrį, atitiktį paverčiame iš reaktinio spąstų į proaktyvų pranašumą – leidžiant SaaS įmonėms greičiau sudaryti sandorius, sumažinti riziką ir koncentruotis į inovacijas, o ne į „skaičiuoklių“ meną.