
# Інтерактивна інформаційна панель доказової провенції на основі Mermaid для аудиту в реальному часі

## Вступ  

Анкети безпеки, аудити відповідності та оцінки ризику постачальників традиційно є вузьким місцем для швидкозростаючих SaaS‑компаній. Хоча ШІ може сформувати відповіді за секунди, аудитори та внутрішні рецензенти все ще питають: *«Звідки ця відповідь? Чи змінилася вона після останнього аудиту?»* Відповідь лежить у **доказовій провенції** — здатності простежити кожну відповідь до її джерела, версії та ланцюжка затвердження.

Нова функціональна платформа Procurize впроваджує **інтерактивну панель Mermaid**, яка візуалізує доказову провенцію в режимі реального часу. Панель працює на базі **динамічного графа знань про відповідність (DCKG)**, який постійно синхронізується зі сховищами політик, документальними репозиторіями та зовнішніми потоками даних про відповідність. За рахунок представлення графа у вигляді інтуїтивної діаграми Mermaid, команди безпеки можуть:

* **Навігувати** по походженню кожної відповіді одним кліком.
* **Перевіряти** актуальність доказів за допомогою автоматичних сповіщень про відхилення політик.
* **Експортувати** готові до аудиту знімки, які вбудовують візуальну провенцію в звіти про відповідність.

У наступних розділах розбираються архітектура, модель Mermaid, шаблони інтеграції та кроки впровадження кращих практик.

---

## 1. Чому провенція важлива в автоматизованих анкетах  

| Проблемна точка | Традиційне рішення | Залишковий ризик |
|-----------------|--------------------|------------------|
| **Застарілі відповіді** | Ручні нотатки «остання зміна» | Пропущені зміни політик |
| **Непрозоре джерело** | Текстові підказки | Аудитор не може перевірити |
| **Хаос версійного контролю** | Окремі Git‑репо для документів | Несинхронні знімки |
| **Навантаження на співпрацю** | Ланцюжки електронних листів про затвердження | Втрачені затвердження, дублювання роботи |

Провенція усуває ці прогалини, **пов’язуючи кожну ШІ‑згенеровану відповідь з унікальним вузлом доказу** у графі, який фіксує:

* **Документ‑джерело** (політика, зовнішня атестація, контрольний доказ)
* **Хеш версії** (криптографічний відбиток, що гарантує незмінність)
* **Власник / Затверджувач** (особа або бот)
* **Мітка часу** (автоматичний UTC‑час)
* **Прапорець відхилення політики** (генерується автоматично службою виявлення відхилень у реальному часі)

Коли аудитор клікає на відповідь у панелі, система миттєво розгортає вузол, показуючи всю вищезазначену метадані.

---

## 2. Основна архітектура  

Нижче — високорівневий діаграму Mermaid конвеєра провенції. У діаграмі використані **подвійні лапки** у мітках вузлів, як того вимагає специфікація.

```mermaid
graph TD
    subgraph AI Engine
        A["LLM Answer Generator"]
        B["Prompt Manager"]
    end
    subgraph Knowledge Graph
        KG["Dynamic Compliance KG"]
        V["Evidence Version Store"]
        D["Drift Detection Service"]
    end
    subgraph UI Layer
        UI["Interactive Mermaid Dashboard"]
        C["Audit Export Service"]
    end
    subgraph Integrations
        R["Policy Repo (Git)"]
        S["Document Store (S3)"]
        M["External Compliance Feed"]
    end

    B --> A
    A --> KG
    KG --> V
    V --> D
    D --> KG
    KG --> UI
    UI --> C
    R --> V
    S --> V
    M --> KG
```

**Ключові потоки**

1. **Prompt Manager** підбирає контекстно‑залежний запит, який посилається на релевантні вузли KG.
2. **LLM Answer Generator** створює чернеткову відповідь.
3. Відповідь **реєструється** в KG як новий *Answer Node* із зв’язками до базових *Evidence Nodes*.
4. **Evidence Version Store** записує криптографічний хеш кожного вихідного документу.
5. **Drift Detection Service** постійно порівнює збережені хеші з актуальними снапшотами політик; будь‑яка невідповідність автоматично позначає відповідь для перегляду.
6. **Інтерактивна панель** читає KG через GraphQL‑endpoint, генеруючи код Mermaid «на льоту».
7. **Audit Export Service** пакує поточний SVG Mermaid, JSON‑провенцію та текст відповіді в один PDF‑пакет.

---

## 3. Створення панелі Mermaid  

### 3.1 Перетворення даних у діаграму  

UI‑шар запитує KG за конкретним ідентифікатором анкети. Відповідь включає вкладену структуру:

```json
{
  "questionId": "Q-101",
  "answer": "We encrypt data at rest using AES‑256.",
  "evidence": [
    {
      "docId": "policy-iso27001",
      "versionHash": "0x9f2c...",
      "approvedBy": "alice@example.com",
      "timestamp": "2025-11-20T14:32:00Z",
      "drift": false
    },
    {
      "docId": "cloud‑kbs‑report",
      "versionHash": "0x4c1a...",
      "approvedBy": "bob@example.com",
      "timestamp": "2025-09-05T09:10:00Z",
      "drift": true
    }
  ]
}
```

Клієнт‑сайд рендерер перетворює кожен запис доказу у під‑граф Mermaid:

```mermaid
graph LR
    A["Answer Q‑101"] --> E1["policy‑iso27001"]
    A --> E2["cloud‑kbs‑report"]
    E1 -->|hash: 0x9f2c| H1["Hash"]
    E2 -->|hash: 0x4c1a| H2["Hash"]
    E2 -->|drift| D["⚠️ Drift Detected"]
```

UI накладає візуальні підказки:

* **Зелений вузол** – доказ актуальний.
* **Червоний вузол** – виявлено відхилення.
* **Іконка замка** – криптографічний хеш підтверджений.

> **Примітка:** Посилання на *policy‑iso27001* відповідає стандарту ISO 27001 — детальніше у офіційній специфікації: [ISO 27001](https://www.iso.org/standard/27001).

### 3.2 Інтерактивні можливості  

| Можливість | Взаємодія | Результат |
|------------|-----------|-----------|
| **Клік по вузлу** | Клацання на будь‑якому вузлі доказу | Відкриває модальне вікно з попереднім переглядом документу, різницею версій і коментарями затвердження |
| **Переключення виду відхилень** | Перемикач у панелі інструментів | Підсвічує лише вузли, у яких `drift = true` |
| **Експорт знімка** | Кнопка «Export» | Генерує SVG + JSON‑пакет провенції для аудиторів |
| **Пошук** | Введення ID документу або email власника | Автоматично фокусується на відповідному під‑графі |

Усі взаємодії виконуються **на боці клієнта**, без зайвих запитів до серверу. Сторінка зберігає генерований код Mermaid у прихованому `<textarea>` для простого копію‑вставки.

---

## 4. Інтеграція провенції у існуючі процеси  

### 4.1 Верифікаційний ворота у CI/CD  

Додайте крок у ваш пайплайн, який **завершує збірку**, якщо будь‑яка відповідь у майбутньому релізі має невирішене відхилення. Приклад GitHub Action:

```yaml
name: Evidence Provenance Gate
on: [pull_request]
jobs:
  provenance-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Drift Scanner
        run: |
          curl -s https://api.procurize.io/drift?pr=${{ github.event.pull_request.number }} \
          | jq '.drifted | length > 0' && exit 1 || exit 0
```

### 4.2 Сповіщення у Slack / Teams  

Налаштуйте **Drift Detection Service** надсилати короткий фрагмент Mermaid у канал, коли виявляється відхилення. Підтримувані боти автоматично рендерять діаграму, надаючи лідерів безпеки миттєвий огляд.

### 4.3 Автоматизація юридичного огляду  

Юридичні команди можуть додавати **ребро «Legal Sign‑Off»** до вузлів доказу. Панель тоді показуватиме іконку замка поруч із вузлом, сигналізуючи, що доказ пройшов юридичний чек‑ліст.

---

## 5. Безпека та конфіденційність  

| Питання | Заходи захисту |
|----------|----------------|
| **Витік чутливих документів** | Зберігайте необроблені файли у зашифрованих бакетах S3; панель відображає лише метадані та хеш, а не вміст файлу. |
| **Підробка даних провенції** | Використовуйте підписи у стилі **EIP‑712** для кожної транзакції графа; будь‑яка модифікація анулює хеш. |
| **Розташування даних** | Розгорніть KG та сховище доказів у тому ж регіоні, що й ваші основні дані відповідності (EU, US‑East тощо). |
| **Контроль доступу** | Ставте на користь RBAC модуля Procurize: лише користувачі з правом `provenance:read` можуть бачити панель; `provenance:edit` — лише для затверджень. |

---

## 6. Реальний ефект: кейс‑стаді  

**Компанія:** SecureFinTech Ltd.  
**Сценарій:** Квартальний **[SOC 2](https://secureframe.com/hub/soc-2/what-is-soc-2)** вимагав доказів для 182 контрольних пунктів шифрування.  
**До панелі:** Ручне збирання займало 12 днів; аудитори сумнівалися у актуальності доказів.  
**Після панелі:**  

| Показник | До впровадження | Після впровадження |
|----------|------------------|---------------------|
| Середній час підготовки відповіді | 4,2 год | **1,1 год** |
| Переробка через відхилення | 28 % відповідей | **3 %** |
| Оцінка задоволеності аудитора (1‑5) | 2,8 | **4,7** |
| Час експорту аудиторського пакету | 6 год | **45 хв** |

Провенція скоротила підготовчий цикл аудиту на **70 %**, а автоматичні сповіщення про відхилення заощадили приблизно **160 люд.-годин на рік**.

---

## 7. Крок‑за‑кроком: посібник впровадження  

1. **Увімкніть синхронізацію графа знань** — під’єднайте ваш Git‑репо політик, сховище документів і зовнішні потоки даних у налаштуваннях Procurize.  
2. **Активуйте службу доказової провенції** — увімкніть «Evidence Versioning & Drift Detection» у консолі адміністратора платформи.  
3. **Налаштуйте панель Mermaid** — додайте `dashboard.provenance.enabled = true` у файл `procurize.yaml`.  
4. **Визначте робочі процеси затвердження** — за допомогою “Workflow Builder” прикріпіть кроки «Legal Sign‑Off» та «Security Owner» до кожного вузла доказу.  
5. **Навчіть команди** — проведіть 30‑хвильову живу демонстрацію, охопивши навігацію вузлами, обробку відхилень і процес експорту.  
6. **Вбудуйте в auditor‑портали** — використайте наданий IFrame‑фрагмент, щоб розмістити панель у зовнішньому порталі аудиту.  

```html
<iframe src="https://dashboard.procurize.io/q/2025-Q101"
        width="100%" height="800"
        style="border:none;"></iframe>
```

7. **Контролюйте метрики** — стежте за “Drift Events”, “Export Count” та “Avg. Answer Time” у аналітичній панелі Procurize, щоб виміряти ROI.

---

## 8. Плановані поліпшення  

| Елемент дорожньої карти | Опис |
|--------------------------|------|
| **Прогнозування відхилень ШІ** | Використання LLM для аналізу журналів змін політик і передбачення відхилень ще до їх появи. |
| **Крос‑тенантова провенція** | Федеративний режим KG, що дозволяє компаніям‑партнерам переглядати спільні докази без розкриття самих документів. |
| **Навігація голосом** | Інтеграція з Procurize Voice Assistant, щоб рецензенти могли запитати: «Покажи джерело відповіді 34». |
| **Живе співробітництво** | Реальний час спільного редагування вузлів доказів з індикаторами присутності, вбудованими безпосередньо у Mermaid. |

---

## 9. Висновок  

Інтерактивна панель доказової провенції на базі Mermaid від Procurize перетворює непрозоре поле автоматизації анкет безпеки на прозорий, аудиту‑готовий та колаборативний процес. Поєднавши відповіді, згенеровані ШІ, з живим графом знань про відповідність, організації отримують **миттєву видимість ланцюжка**, **автоматичне виявлення відхилень** та **готові до аудиту артефакти** — без втрати швидкості.

Впровадження цього візуального шару провенції не лише скорочує цикли аудиту, а й підвищує довіру регуляторів, партнерів та клієнтів, демонструючи, що ваші заяви про безпеку підкріплені **незмінними, актуальними доказами в реальному часі**.