
# Samouslužni AI asistent za usklađenost: RAG susreće kontrolu pristupa temeljenom na ulogama za sigurnu automatizaciju upitnika

U brzom svijetu SaaS‑a, sigurnosni upitnici, revizije usklađenosti i procjene dobavljača postali su rituali koji određuju ulaz. Tvrtke koje mogu brzo, točno i s jasnim revizijskim tragom odgovoriti na ove zahtjeve osvajaju poslove, zadržavaju klijente i smanjuju pravno izlaganje. Tradicionalni ručni procesi – kopiranje i lijepljenje odlomaka iz politika, traženje dokaza i dvostruka provjera verzija – više nisu održivi.

Uvodimo **Samouslužni AI asistent za usklađenost** (SSAIA). Spojivši **Retrieval‑Augmented Generation (RAG)** s **kontrolom pristupa temeljenom na ulogama (RBAC)**, SSAIA omogućuje svakom dioniku – sigurnosnim inženjerima, voditeljima proizvoda, pravnim savjetnicima i čak prodajnim predstavnicima – da preuzmu prave dokaze, generiraju kontekstualno relevantne odgovore i objave ih na usklađen način, sve iz jedinstvenog kolaborativnog centra.

Ovaj članak prolazi kroz arhitektonske stupove, tok podataka, sigurnosna jamstva i praktične korake za implementaciju SSAIA‑a u modernoj SaaS organizaciji. Također ćemo prikazati Mermaid dijagram koji ilustrira cjelokupni pipeline i zaključiti s akcijskim preporukama.

---

## 1️⃣ Zašto kombinirati RAG i RBAC?

| Aspekt | Retrieval‑Augmented Generation (RAG) | Kontrola pristupa temeljenom na ulogama (RBAC) |
|--------|--------------------------------------|----------------------------------------------|
| **Osnovni cilj** | Dohvaća relevantne odlomke iz baze znanja i integrira ih u AI‑generirani tekst. | Osigurava da korisnici vide ili uređuju samo podatke za koje su ovlašteni. |
| **Korist za upitnike** | Jamči da su odgovori ukorijenjeni u postojećim, provjerenim dokazima (politike, revizijski zapisi, testni rezultati). | Sprječava slučajno otkrivanje povjerljivih kontrola ili dokaza neovlaštenim osobama. |
| **Učinak na usklađenost** | Podržava odgovore temeljene na dokazima, što zahtijevaju [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/), itd. | Usklađuje se s propisima o privatnosti podataka koji zahtijevaju načelo najmanjih privilegija. |
| **Sinergija** | RAG isporučuje *što*; RBAC upravlja *tko* i *kako* se taj sadržaj koristi. | Zajedno pružaju **siguran, revizijski i kontekstualno bogat** radni tok generiranja odgovora. |

Kombinacija uklanja dva najveća problema:

1. **Zastarjeli ili irelevantni dokazi** – RAG uvijek dohvaća najnoviji isječak na temelju vektorske sličnosti i filtara metapodataka.  
2. **Ljudska pogreška u otkrivanju podataka** – RBAC osigurava da, na primjer, prodajni predstavnik može dohvatiti samo javne dijelove politika, dok sigurnosni inženjer može pregledati i priložiti interne izvještaje o penetracijskim testiranjima.

---

## 2️⃣ Arhitektonski pregled

Dolje je visokorazinski Mermaid dijagram koji prikazuje glavne komponente i tok podataka Samouslužnog AI asistenta za usklađenost.

```mermaid
flowchart TD
    subgraph UserLayer["User Interaction Layer"]
        UI[ "Web UI / Slack Bot" ]
        UI -->|Auth Request| Auth[ "Identity Provider (OIDC)" ]
    end

    subgraph AccessControl["RBAC Engine"]
        Auth -->|Issue JWT| JWT[ "Signed Token" ]
        JWT -->|Validate| RBAC[ "Policy Decision Point\n(PDP)" ]
        RBAC -->|Allow/Deny| Guard[ "Policy Enforcement Point\n(PEP)" ]
    end

    subgraph Retrieval["RAG Retrieval Engine"]
        Guard -->|Query| VectorDB[ "Vector Store\n(FAISS / Pinecone)" ]
        Guard -->|Metadata Filter| MetaDB[ "Metadata DB\n(Postgres)" ]
        VectorDB -->|TopK Docs| Docs[ "Relevant Document Chunks" ]
    end

    subgraph Generation["LLM Generation Service"]
        Docs -->|Context| LLM[ "Large Language Model\n(Claude‑3, GPT‑4o)" ]
        LLM -->|Answer| Draft[ "Draft Answer" ]
    end

    subgraph Auditing["Audit & Versioning"]
        Draft -->|Log| AuditLog[ "Immutable Log\n(ChronicleDB)" ]
        Draft -->|Store| Answers[ "Answer Store\n(Encrypted S3)" ]
    end

    UI -->|Submit Questionnaire| Query[ "Questionnaire Prompt" ]
    Query --> Guard
    Guard --> Retrieval
    Retrieval --> Generation
    Generation --> Auditing
    Auditing -->|Render| UI
```

**Ključni zaključci iz dijagrama**

* **Identity Provider (IdP)** autentificira korisnike i izdaje JWT koji sadrži uloge.  
* **Policy Decision Point (PDP)** procjenjuje te uloge prema matrici dozvola (npr. *Read Public Policy*, *Attach Internal Evidence*).  
* **Policy Enforcement Point (PEP)** kontrolira svaki zahtjev prema engineu za dohvat, osiguravajući da se vraćaju samo ovlašteni dokazi.  
* **VectorDB** pohranjuje vektorske reprezentacije svih artefakata usklađenosti (politike, revizijski izvještaji, logovi testova). **MetaDB** drži strukturirane atribute poput razine povjerljivosti, datuma zadnjeg pregleda i vlasnika.  
* **LLM** prima kurirani skup isječaka i upitnika, generirajući odgovor koji je **traziv** do svojih izvora.  
* **AuditLog** bilježi svaki upit, korisnika i generirani odgovor, omogućujući potpuni forenzički pregled.

---

## 3️⃣ Modeliranje podataka: Dokazi kao strukturirano znanje

Uspješan SSAIA oslanja se na dobro strukturiranu bazu znanja. Preporučena shema za svaki dokaz izgleda ovako:

```json
{
  "id": "evidence-12345",
  "title": "Quarterly Penetration Test Report – Q2 2025",
  "type": "Report",
  "confidentiality": "internal",
  "tags": ["penetration-test", "network", "critical"],
  "owner": "security-team@example.com",
  "created_at": "2025-06-15T08:30:00Z",
  "last_updated": "2025-09-20T12:45:00Z",
  "version": "v2.1",
  "file_uri": "s3://compliance-evidence/pt-q2-2025.pdf",
  "embedding": [0.12, -0.04, ...],
  "metadata": {
    "risk_score": 8,
    "controls_covered": ["A.12.5", "A.13.2"],
    "audit_status": "approved"
  }
}
```

* **Confidentiality** upravlja RBAC filterima – samo korisnici s `role: security-engineer` mogu dohvatiti `internal` dokaze.  
* **Embedding** omogućuje semantičko pretraživanje u VectorDB.  
* **Metadata** omogućuje *faceted* pretraživanje (npr. “prikaži samo dokaze odobrene za ISO 27001, rizik ≥ 7”).

---

## 4️⃣ Tok Retrieval‑Augmented Generation

1. **Korisnik podnosi upitnik** – npr. “Opišite mehanizme enkripcije podataka u mirovanju.”  
2. **RBAC zaštita provjerava ulogu korisnika**. Ako je korisnik *product manager* s pristupom samo javnim podacima, pretraga se ograničava na `confidentiality = public`.  
3. **Vektorska pretraga** dohvaća top‑k (obično 5‑7) najsemantičnije relevantnih isječaka.  
4. **Filtri metapodataka** dodatno pročišćavaju rezultate (npr. samo dokumenti s `audit_status = approved`).  
5. **LLM prima prompt**:
   ```
   Question: Opišite mehanizme enkripcije podataka u mirovanju.
   Context:
   1. [Isječak iz Policy A – detalji algoritma enkripcije]
   2. [Isječak iz arhitektonskog dijagrama – tok upravljanja ključevima]
   3. [...]
   Provide a concise, compliance‑ready answer. Cite sources using IDs.
   ```  
6. **Generiranje** daje draft odgovora s inline citatima: `Naša platforma enkriptuje podatke u mirovanju koristeći AES‑256‑GCM (Evidence ID: evidence‑9876). Rotacija ključeva se vrši svakih 90 dana (Evidence ID: evidence‑12345).`  
7. **Ljudska revizija** (opcionalno) – korisnik može urediti i odobriti. Sve izmjene su verzionirane.  
8. **Odgovor se pohranjuje** u šifrirani Answer Store, a nepromjenjivi audit zapis se zapisuje.

---

## 5️⃣ Fino‑granularna kontrola pristupa (RBAC)

| Uloga | Dozvole | Tipični slučaj uporabe |
|------|----------|------------------------|
| **Security Engineer** | Čitanje/pisanje svih dokaza, generiranje odgovora, odobravanje draftova | Dubinsko pregledavanje internih kontrola, priložiti izvješća o penetracijskim testiranjima |
| **Product Manager** | Čitanje javnih politika, generiranje odgovora (samo javni dokazi) | Izrada marketinških izjava o usklađenosti |
| **Legal Counsel** | Čitanje svih dokaza, dodavanje pravnih napomena | Osiguranje da regulatorni jezik odgovara jurisdikciji |
| **Sales Rep** | Čitanje *javnih* odgovora, zahtjev za novim draftom | Brzi odgovori na upite potencijalnih kupaca |
| **Auditor** | Čitanje svih dokaza, ali bez mogućnosti uređivanja | Provođenje treće‑strane revizija |

Fino‑granularne dozvole mogu se definirati putem **OPA (Open Policy Agent)** pravila, omogućujući dinamičku evaluaciju temeljenu na atributima zahtjeva poput *oznaka upitnika* ili *rizika dokaza*. Primjer pravila (JSON):

```json
{
  "allow": true,
  "input": {
    "role": "product-manager",
    "evidence_confidentiality": "public",
    "question_tags": ["encryption", "privacy"]
  },
  "output": {
    "reason": "Access granted: role matches confidentiality level."
  }
}
```

---

## 6️⃣ Revizijski trag i korist za usklađenost

Usklađena organizacija mora odgovoriti na tri revizijska pitanja:

1. **Tko je pristupio dokazima?** – JWT claim zapisi pohranjeni u `AuditLog`.  
2. **Koji su dokazi korišteni?** – Citatni ID‑ovi (`Evidence ID`) ugrađeni u odgovor i pohranjeni uz draft.  
3. **Kada je odgovor generiran?** – Nepromjenjivi vremenski žigovi (ISO 8601) pohranjeni u ledgeru (npr. Amazon QLDB ili blockchain‑temeljen sustav).

Ovi zapisi mogu se izvesti u CSV format kompatibilan s **SOC 2** ili konzumirati putem **GraphQL** API‑ja za integraciju s vanjskim nadzornim pločama.

---

## 7️⃣ Plan implementacije

| Faza | Milje |
|------|-------|
| **1. Osnove** | Postavljanje IdP‑a (Okta), definicija RBAC matrice, provisioniranje VectorDB & Postgres | 2 tjedna |
| **2. Ingestija baze znanja** | Izgradnja ETL cjevovoda za parsiranje PDF‑ova, markdown‑a i tablica → vektori + metapodaci | 3 tjedna |
| **3. RAG servis** | Deploy LLM‑a (Claude‑3) iza privatnog endpointa, implementacija predložaka za promptove | 2 tjedna |
| **4. UI i integracije** | Izrada web UI‑a, Slack bota i API hooked‑ova za postojeće alate (Jira, ServiceNow) | 4 tjedna |
| **5. Revizija i izvještavanje** | Implementacija nepromjenjivog audit log‑a, verzioniranje i konektori za izvoz | 2 tjedna |
| **6. Pilot i povratne informacije** | Pokretanje s timom za sigurnost, prikupljanje metrika (vrijeme odziva, stopa grešaka) | 4 tjedna |
| **7. Organizacijsko širenje** | Proširenje RBAC uloge, obuka prodaje i proizvoda, objava dokumentacije | kontinuirano |

Ključni KPI‑ovi:

* **Prosječno vrijeme odgovora** – cilj < 5 minuta.  
* **Stopa ponovne upotrebe dokaza** – % odgovora koji citiraju postojeće dokaze (cilj > 80 %).  
* **Broj incidenata usklađenosti** – broj revizijskih nalaza povezanih s greškama u upitnicima (cilj 0).

---

## 8️⃣ Primjer iz prakse: Smanjenje vremena odziva s dana na minute

**Tvrtka X** se mučila s **30‑dnevnim prosjekom** za odgovaranje na **ISO 27001** revizijske upitnike. Nakon uvođenja SSAIA‑a:

| Metrika | Prije SSAIA | Nakon SSAIA |
|--------|--------------|--------------|
| Prosječno vrijeme odgovora | 72 sata | 4 minute |
| Greške ručnog kopiranja | 12 mjesečno | 0 |
| Neskladnost verzija dokaza | 8 incidenata | 0 |
| Ocjena zadovoljstva revizora | 3,2 / 5 | 4,8 / 5 |

Izračun povrata ulaganja pokazao je **$350 k godišnje** uštedu zbog smanjenog rada i bržeg zaključivanja poslova.

---

## 9️⃣ Sigurnosna razmatranja i učvršćivanje

1. **Zero‑Trust mreža** – sve servise smjestite u privatni VPC, primijenite Mutual TLS.  
2. **Šifriranje podataka u mirovanju** – koristeći SSE‑KMS za S3, šifriranje na razini stupca za PostgreSQL.  
3. **Zaštita od prompt injectiona** – sanitizirajte korisnički unos, limitirajte duljinu tokena i predodređene sistemske promptove.  
4. **Rate limiting** – spriječite zloupotrebu LLM endpointa putem API gateway‑a.  
5. **Kontinuirano praćenje** – omogućite CloudTrail zapise, postavite detekciju anomalija na obrasce autentifikacije.

---

## 🔟 Buduća poboljšanja

* **Federativno učenje** – fino podešavanje lokalnog LLM‑a na specifičnu terminologiju tvrtke bez slanja sirovih podataka vanjskim pružateljima.  
* **Diferencijalna privatnost** – dodavanje šuma u vektore kako bi se zaštitili osjetljivi dokazi, uz zadržavanje kvalitete pretraživanja.  
* **Višejezični RAG** – automatski prijevod dokaza za globalne timove, uz očuvanje citata kroz jezike.  
* **Explainable AI** – prikaz grafova podrijetla koji povezuju svaki token odgovora s izvorom, olakšavajući reviziju.

---

## 📚 Zaključci

* **Sigurna, revizijska automatizacija** je ostvariva spajanjem RAG‑ove kontekstualne snage s RBAC‑ovom rigoroznom kontrolom pristupa.  
* **Dobro strukturirana baza dokaza** – uključujući vektore, metapodatke i verzioniranje – temelj je rješenja.  
* **Ljudski nadzor** ostaje ključan; asistent treba *predlagati*, a ne *nametati* finalne odgovore.  
* **Mjerena implementacija** osigurava da sustav donese mjerljiv ROI i povjerenje u usklađenost.

Ulaganjem u Samouslužnog AI asistenta za usklađenost, SaaS poduzeća mogu pretvoriti tradicionalno radno‑intenzivan usko grlo u stratešku prednost – isporučujući brže, točnije odgovore na upitnike uz najviše sigurnosne standarde.

---

## <span class='highlight-content'>Pogledajte</span> Also

- [Retrieval‑Augmented Generation: The Next Frontier for Enterprise AI](https://arxiv.org/abs/2005.11401)  
- [Open Policy Agent (OPA) – Policy‑as‑Code for RBAC](https://www.openpolicyagent.org)  
- [Zero‑Trust Architecture for Cloud‑Native Applications](https://www.nist.gov/publications/zero-trust-architecture)