
# Upravljanje usklađenošću u GitOps stilu uz automatizaciju upitnika pokretanog AI-jem

*U svijetu u kojem se sigurnosni upitnici gomilaju brže nego što programeri mogu odgovoriti, organizacije trebaju sustavan, ponovljiv i auditable način upravljanja artefaktima usklađenosti. Spojivši **GitOps** — praksu korištenja Gita kao jedinstvenog izvora istine za infrastrukturu — s **generativnim AI-jem**, tvrtke mogu pretvoriti odgovore na upitnike u kod‑slične resurse koji su versionirani, provjereni diff‑om i automatski vraćeni nazad ako regulatorka promjena poništi prethodni odgovor.*

---  

## Zašto tradicionalni radni procesi upitnika ne uspijevaju  

| Problem | Tradicionalni pristup | Skriveni trošak |
|------------|-----------------------|-------------|
| **Fragmentirano pohranjivanje dokaza** | Datoteke raširene po SharePointu, Confluenceu, e‑mailu | Duplicirani napor, izgubljeni kontekst |
| **Ručno sastavljanje odgovora** | Stručnjaci za temu tipkaju odgovore | Nedosljedan jezik, ljudske pogreške |
| **Oskudan audit trag** | Zapisi promjena u izoliranim alatima | Teško je dokazati „tko, što, kada“ |
| **Spora reakcija na regulatorne promjene** | Timovi se jure uređivati PDF‑ove | Kašnjenja u poslovanju, rizik od neusklađenosti |

Ove neefikasnosti su posebno izražene za **brzo rastuće SaaS tvrtke** koje moraju tjedno odgovarati na desetke upitnika od dobavljača, istovremeno održavajući svoju javnu stranicu povjerenja ažurnom.

## Uvođenje GitOps-a za usklađenost  

GitOps se temelji na tri stupa:

1. **Deklarativna namjera** – Željeno stanje je izraženo u kodu (YAML, JSON, itd.).
2. **Versionirani izvor istine** – Sve promjene se commitiraju u Git repozitorij.
3. **Automatsko usklađivanje** – Kontroler kontinuirano osigurava da stvarnost odgovara repozitoriju.

Primjena ovih principa na sigurnosne upitnike znači **tretirati svaki odgovor, dokaznu datoteku i referencu na politiku kao deklarativni artefakt pohranjen u Gitu**. Rezultat je repozitorij usklađenosti koji može biti:

* **Pregledano putem pull requestova** – Sudionici iz sigurnosti, pravnog odjela i inženjeringa komentiraju prije spajanja.
* **Provjereno diff‑om** – Svaka promjena je vidljiva, što olakšava uočavanje regresija.
* **Vraćanje nazad** – Ako nova regulativa poništi prethodni odgovor, jednostavan `git revert` vraća prethodno sigurno stanje.

## AI sloj: Generiranje odgovora i povezivanje dokaza  

Dok GitOps pruža strukturu, **generativni AI** isporučuje sadržaj:

* **Sastavljanje odgovora vođeno promptom** – LLM obrađuje tekst upitnika, repozitorij politika tvrtke i prethodne odgovore kako bi predložio prvi nacrt odgovora.
* **Automatsko mapiranje dokaza** – Model označava svaki odgovor relevantnim artefaktima (npr. [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) izvješća, dijagrami arhitekture) pohranjenim u istom Git repozitoriju.
* **Ocjenjivanje povjerenja** – AI procjenjuje usklađenost između nacrta i izvornog politika, izlažući numeričku vrijednost povjerenja koja se može koristiti u CI‑ju.

AI‑generirani artefakti zatim se **commitiraju** u repozitorij usklađenosti, gdje preuzima uobičajeni GitOps tijek rada.

## End‑to‑End GitOps‑AI radni tok  

```mermaid
graph LR
    A["New Questionnaire Arrives"] --> B["Parse Questions (LLM)"]
    B --> C["Generate Draft Answers"]
    C --> D["Auto‑Map Evidence"]
    D --> E["Create PR in Compliance Repo"]
    E --> F["Human Review & Approvals"]
    F --> G["Merge to Main"]
    G --> H["Deployment Bot Publishes Answers"]
    H --> I["Continuous Monitoring for Reg Changes"]
    I --> J["Trigger Re‑generation if Needed"]
    J --> C
```

*All nodes are wrapped in double quotes as required by the Mermaid specification.*

### Detaljan opis koraka  

1. **Uzimanje** – Webhook iz alata poput Procurize ili jednostavni parser e‑maila pokreće pipeline.  
2. **LLM parsiranje** – Model izvlači ključne pojmove, mapira ih na interne ID‑ove politika i sastavlja odgovor.  
3. **Povezivanje dokaza** – Korištenjem vektorske sličnosti, AI pronalazi najrelevantnije dokumente usklađenosti pohranjene u repozitoriju.  
4. **Stvaranje pull requesta** – Nacrt odgovora i poveznice na dokaze postaju commit; otvara se PR.  
5. **Ljudska kontrola** – Sudionici iz sigurnosti, pravnog odjela ili vlasnici proizvoda dodaju komentare, zahtijevaju izmjene ili odobravaju.  
6. **Spajanje i objava** – CI zadatak renderira konačni markdown/JSON odgovor i gura ga na portal dobavljača ili javnu stranicu povjerenja.  
7. **Regulatorni nadzor** – Odvojeni servis prati standarde (npr. [NIST CSF](https://www.nist.gov/cyberframework), [ISO 27001](https://www.iso.org/standard/27001), [GDPR](https://gdpr.eu/)) za promjene; ako promjena utječe na odgovor, pipeline se ponovo pokreće od koraka 2.

## Kvantificirane prednosti  

| Metrika | Prije GitOps‑AI | Nakon usvajanja |
|--------|------------------|-----------------|
| Prosječno vrijeme odgovora | 3‑5 dana | 4‑6 sati |
| Ručni napor uređivanja | 12 sati po upitniku | < 1 sat (samo pregled) |
| Auditu spremna povijest verzija | Fragmentirani, ad‑hoc zapisi | Puna Git povijest commitova |
| Vrijeme vraćanja za nevažeći odgovor | Danima pronalaženje i zamjena | Minute (`git revert`) |
| Povjerenje u usklađenost (interni rezultat) | 70 % | 94 % (AI povjerenje + ljudsko odobrenje) |

## Implementacija arhitekture  

### 1. Struktura repozitorija  

```
compliance/
├── policies/
│   ├── soc2.yaml
│   ├── iso27001.yaml          # contains the declarative ISO 27001 controls
│   └── gdpr.yaml
├── questionnaires/
│   ├── 2025-11-01_vendorA/
│   │   ├── questions.json
│   │   └── answers/
│   │       ├── q1.md
│   │       └── q2.md
│   └── 2025-11-07_vendorB/
└── evidence/
    ├── soc2_report.pdf
    ├── architecture_diagram.png
    └── data_flow_map.svg
```

*Each answer (`*.md`) contains front‑matter with metadata: `question_id`, `source_policy`, `confidence`, `evidence_refs`.*

### 2. CI/CD pipeline (primjer za GitHub Actions)  

```yaml
name: Compliance Automation

on:
  pull_request:
    paths:
      - 'questionnaires/**'
  schedule:
    - cron: '0 2 * * *' # nightly regulatory scan

jobs:
  generate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run LLM Prompt Engine
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
        run: |
          python scripts/generate_answers.py \
            --repo . \
            --target ${{ github.event.pull_request.head.ref }}

  review:
    needs: generate
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Confidence Threshold Check
        run: |
          python scripts/check_confidence.py \
            --repo . \
            --threshold 0.85

  publish:
    if: github.event_name == 'push' && github.ref == 'refs/heads/main'
    needs: review
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Deploy to Trust Center
        run: |
          ./scripts/publish_to_portal.sh
```

*The pipeline ensures that only answers exceeding a confidence threshold are merged, yet human reviewers can override.*

### 3. Strategija automatiziranog vraćanja  

Kada regulatorni skeniranje označi sukob politika, bot stvara **revert PR**:

```bash
git revert <commit‑sha> --no-edit
git push origin HEAD:rollback‑<date>
```

Revert PR prati isti put odobrenja, jamčeći da je vraćanje dokumentirano i odobreno.

## Sigurnosni i upravljački razmatranja  

| Zabrinutost | Ublažavanje |
|------------|-------------|
| Halucinacije modela | Nametnite strogo temeljeno na izvornoj politici; pokrenite skripte za provjeru činjenica nakon generiranja. |
| Curanje tajni | Pohranite vjerodajnice u GitHub Secrets; nikada ne commitirajte sirove API ključeve. |
| Usklađenost AI pružatelja | Odaberite pružatelje s [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) Type II atestatacijom; čuvajte audit zapise API poziva. |
| Nepromenjivi audit trag | Omogućite potpisivanje Git‑a (`git commit -S`) i zadržite potpisane oznake za svako izdanje upitnika. |

## Primjer iz stvarnog života: Smanjenje vremena obrade za 70 %  

*Acme Corp., srednje‑velika SaaS startup, integrirala je GitOps‑AI radni tok u Procurize u ožujku 2025. Prije integracije, prosječno vrijeme za odgovor na [SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2) upitnik bilo je **4 dana**. Nakon šest tjedana usvajanja:*

* **Prosječno vrijeme obrade** spustilo se na **8 sati**.  
* **Vrijeme ljudskog pregleda** smanjilo se s **10 sati** po upitniku na **45 minuta**.  
* **Audit zapis** prošao je od fragmentiranih e‑mail lanaca do **jedne Git povijesti commitova**, pojednostavljujući zahtjeve vanjskih revizora.

Priča o uspjehu naglašava da **automatizacija procesa + AI = mjerljivi ROI**.

## Popis najboljih praksi  

- [ ] Pohranite sve politike u **deklarativni YAML** format (npr. ISO 27001, GDPR).  
- [ ] Držite **AI biblioteku promptova** versioniranu uz repozitorij.  
- [ ] Nametnite **minimalni prag povjerenja** u CI.  
- [ ] Koristite **potpisane commitove** za pravnu odbranljivost.  
- [ ] Planirajte noćne **skeniranje regulatornih promjena** (npr. putem ažuriranja [NIST CSF](https://www.nist.gov/cyberframework)).  
- [ ] Uspostavite **politiku vraćanja** koja dokumentira kada i tko može pokrenuti revert.  
- [ ] Omogućite **javnu samo‑za‑čitanje prikaz** spojenih odgovora za klijente (npr. na stranici Trust Center).

## Smjerovi za budućnost  

1. **Višekorisnička upravljivost** – Proširite model repozitorija kako bi podržavao odvojene tokove usklađenosti po proizvodnoj liniji, svaki sa svojom CI pipelineom.  
2. **Federativni LLM-ovi** – Pokrenite LLM unutar povjerljivog računalnog okruženja kako bi se izbjeglo slanje podataka politika trećim stranama.  
3. **Redoslijed revizija temeljen na riziku** – Koristite AI pouzdanost za prioritetizaciju ljudskih revizija, usmjeravajući napor tamo gdje je model manje siguran.  
4. **Dvostruko usklađivanje** – Gurnite ažuriranja iz Git repozitorija natrag u UI Procurize‑a, omogućujući dvosmjerni jedinstveni izvor istine.  

---  

## Vidi još  

- [NIST CSF Version 2 – Framework Documentation](https://www.nist.gov/cyberframework)