Безопасность данных¶
English · Русский
Почему синтетические данные всё равно нужно проверять¶
Отсутствие копирования строк — важная гарантия, но не доказательство анонимности. Имена таблиц, поля, агрегаты, редкие сочетания, бизнес-категории и вручную записанные правила могут раскрывать контекст. Эвристика не всегда понимает специфичный для организации идентификатор. Профиль и spec тоже нуждаются в review перед передачей.
Генератор не сертифицирует differential privacy, k-anonymity, защиту от всех атак повторной идентификации или юридическое соответствие. Безопасность назначения оценивает владелец данных.
Обязательные границы¶
- Не копировать, не перемешивать и не экспортировать исходные строки как synthetic output.
- Не включать PII, credentials, токены, secret и production literals в примеры, правила, логи, исключения и provider payload.
- Читать внешнюю базу только в разрешённом scope, read-only ролью, с конечными бюджетами и TLS.
- Разделять создание локальных файлов и выполнение SQL-записи в целевой БД.
- Использовать отдельные входные и выходные пути; не обходить отказ при symlink или выходе за workspace.
- Проверять AI-предложение детерминированно, затем выполнять человеческий review точного spec.
--local-category разрешает только отдельные проверенные ограниченные enum/константы в локальных разрешённых назначениях, не исходные строки, идентификаторы, свободный текст или передачу провайдеру. Установленный allowlist — вход авторизации, а не доказательство нечувствительности содержимого.
Процедура безопасного принятия¶
- До чтения: подтвердите разрешённые файлы/таблицы/поля и назначение. Для неизвестного источника остановитесь до уточнения, не берите sample rows в чат.
- После профиля: локально проверьте метаданные и чувствительность; не публикуйте артефакт автоматически.
- После spec: проверьте identifiers, категории, даты, связи, ограничения и объём; сохраните точный fingerprint при review-first workflow.
- После генерации: выполните валидацию, проверьте manifest и бизнес-отчёт, оцените полезность и риск раскрытия.
- Перед передачей: подтвердите получателя, среду и разрешение; отправляйте только разрешённый результат. Нельзя автоматически пересылать исходные данные внешнему AI даже для диагностики.
Для каждой проверки критерий успеха — явный подтверждённый scope или отчёт; при неопределённости прекратите зависимую операцию и запросите недостающий факт. Подробные исполнимые шаги и ошибки: agent workflows.
Trino default aggregate-only инструменты отделены от explicit opt-in run_safe_select. Последний возвращает ограниченный row-shaped результат и не гарантирует отсутствия всех исходных значений. Он не нужен для генерации и не может быть её источником строк.
Дополнительно: Safety Model, Threat Model, ограничения.
Трансформация не является синтетической генерацией¶
В 1.6.0 отдельная opt-in трансформация создаёт labelled mixed-origin артефакты один к одному. Перед preserve или preserve fallback нужны явное field-scoped non-sensitive решение, отсутствие conflicting sensitivity, комментарий оператора и свежий локальный controlling-TTY receipt для exact snapshot. Sensitive/unknown/disputed поля не разрешаются; DECIMAL preservation по умолчанию заблокирован. Receipt не выдаёт агент или MCP.
Явные substitute/replace_text mappings имеют отдельный контракт: replacement может совпасть с другим исходным значением, включая sensitive permutation. Это не разрешает implicit copying, source-row reuse в генерации или раскрытие literals в логах/provider/MCP. Такой выход защищают как потенциально чувствительный; synthetic=true/source_rows_copied=false не следует приписывать ему по аналогии с генератором. См. отдельный workflow.
Ограничения и неподтверждённые свойства¶
| Область | Подтверждённая граница | Что нельзя обещать |
|---|---|---|
| Повторяемость | Явный seed и одинаковое окружение | Одинаковые байты на любых версиях/ОС |
| Профиль | Ограниченные метаданные и наблюдения | Полную статистическую модель исходных данных |
| Правила | Только формализованные поддерживаемые ограничения | Сохранение неизвестных бизнес-законов |
| Связи | Кандидаты с confidence/status, проверка сгенерированных ссылок | Что любая найденная связь имеет верный бизнес-смысл |
| CSV-папка | Ограниченная выборка и distinct tracker | Точную уникальность после overflow; lower_bound — лишь нижняя граница |
| Identifier pool | Синтетическое число ключей и детерминированное циклирование | Сохранение исходных ID, частот или row mappings |
| Время | При отсутствии границ fallback 2020-01-01 / 2025-01-01 | Что fallback — измеренный период источника |
| Приватность | Content guards и запрет копирования строк | Сертификат анонимности, юридическое соответствие |
| SQL source | Ограниченный single-table SELECT, no-row schema и агрегаты | JOIN, CTE, arbitrary SQL или source-row export |
| SQL output | Генерация файла | Автоматическую загрузку в БД или проверенное исполнение SQL |
| Workspace | Проверка путей generator MCP | OS sandbox, сетевую изоляцию, защиту от владельца процесса |
| Файлы | Staging и recovery некоторых interrupted approvals | Полную crash/power-loss durability нескольких файлов как одной транзакции |
| AI | Ограниченные proposals, детерминированная валидация, review | Достоверность всех рекомендаций или auto-approval |
| Selective transformation | Зарегистрированные local/MCP consumers с exact snapshot и receipt gates | Что регистрация разрешает набор, выдачу approval агентом или анонимность mixed-origin output |
OpenAI и GigaChat adapters имеют статус experimental. load_test — режим генерации, а не распределённая нагрузочная платформа; edge не доказывает покрытие всех границ вашей системы. Для negative/mixed проверяйте ожидаемые нарушения.
Не подтверждено этим аудитом: новая установка из индекса, Windows/Linux, живые PostgreSQL/Trino, вызовы OpenAI/GigaChat, конкретный MCP-клиент, исполнение SQL и восстановление после реального падения. Для подтверждения нужны согласованные изолированные среды и отдельные проверки. Локальные fakes и SDK tests не заменяют эти проверки.
Текущие ограничения numeric evidence, relationship utility и live acceptance перечислены в known issues. Они не отменяются passing report или локальным примером. Границы аудита приведены в отчёте.