
# Интерактивная панель происхождения доказательств на основе Mermaid для аудитов вопросов в реальном времени

## Введение  

Вопросники по безопасности, аудиты соответствия и оценки рисков поставщиков традиционно становятся узким местом для быстро развивающихся SaaS‑компаний. Пока ИИ может подготовить ответы за секунды, аудиторы и внутренние проверяющие всё равно спрашивают: *«Откуда взялся этот ответ? Менялся ли он с прошлого аудита?»* Ответ кроется в **происхождении доказательств** — возможности проследить каждый ответ до его источника, версии и цепочки утверждения.

Новый набор функций Procurize представляет **интерактивную панель Mermaid**, визуализирующую происхождение доказательств в реальном времени. Платформа работает на базе **Dynamic Compliance Knowledge Graph (DCKG)**, который постоянно синхронизируется с хранилищами политик, документами и внешними потоками данных о соответствии. Отображая граф в виде понятной схемы Mermaid, команды по безопасности могут:

* **Навигировать** по родословной каждого ответа одним щелчком.
* **Проверять** актуальность доказательств через автоматические оповещения о дрейфе политик.
* **Экспортировать** готовые к аудиту снимки, встраивая визуальное происхождение в отчёты о соответствии.

Далее разберём архитектуру, модель Mermaid, паттерны интеграции и рекомендации по внедрению.

---

## 1. Почему происхождение важно в автоматизированных вопросниках  

| Проблема | Традиционное решение | Оставшийся риск |
|----------|----------------------|-----------------|
| **Устаревший ответ** | Ручные пометки «последнее обновление» | Пропуск изменений в политике |
| **Неясный источник** | Текстовые сноски | Аудитор не может проверить |
| **Хаос в контроле версий** | Отдельные репозитории Git для документов | Несогласованные снимки |
| **Нагрузка из‑за сотрудничества** | Email‑цепочки по утверждениям | Потерянные согласования, дублирование работы |

Происхождение устраняет эти пробелы, **привязывая каждый ИИ‑сгенерированный ответ к уникальному узлу доказательства** в графе, где фиксируются:

* **Исходный документ** (политика, стороннее подтверждение, контрольное доказательство)
* **Хеш версии** (криптографический отпечаток, гарантирующий неизменность)
* **Владелец / Утверждающий** (человек или бот)
* **Временная метка** (автоматическое время в UTC)
* **Флаг дрейфа политики** (генерируется сервисом Real‑Time Drift Engine)

При клике аудитора на ответ в панели система мгновенно раскрывает узел, показывая все указанные метаданные.

---

## 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. **Сервис экспорта аудита** упаковывает текущий SVG Mermaid, JSON‑провенанс и текст ответа в один PDF‑пакет.

---

## 3. Создание панели Mermaid  

### 3.1 Преобразование данных в диаграмму  

UI‑слой запрашивает у KG данные по конкретному ID вопросника. Ответ включает вложенную структуру:

```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. **Включите синхронизацию графа знаний** — привяжите репозиторий политик, хранилище документов и внешние потоки соответствия в настройках 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. **Встроите в аудиторские порталы** — используйте предоставленный 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** превращает непрозрачный процесс автоматизации вопросов безопасности в прозрачный, проверяемый и совместный опыт. Связывая ответы, сгенерированные ИИ, с живым графом соответствия, организации получают **мгновенную видимость родословной**, **автоматическое смягчение дрейфа** и **готовые к аудиту артефакты** — всё без компромиссов в скорости.

Внедрение этой визуальной provenance‑слой не только ускоряет циклы аудита, но и укрепляет доверие регуляторов, партнёров и клиентов, подтверждая, что ваши заявления о безопасности подкреплены **неизменными, актуальными доказательствами в реальном времени**.