AIInputProfile, masking и consent


НАЧАЛО >> Документация модуля AI >> AIInputProfile, masking и consent📄 Скачать в DOCX


AIInputProfile описывает, какие данные AI-операция может получить перед вызовом prompt renderer, модели или инструмента. Профиль принадлежит модулю AI, но доменный модуль поставляет ссылку на него из AIOperationDefinition и передает безопасный контекст сборки.

1. Что Описывает Профиль

2. Сборка Входного Пакета

AI/BuildInputPackage выполняет dry-run сборки входного пакета. В запросе передаются:

Результат содержит decision: notRequired, ready, blocked, requiresConsent или dryRunOnly, а также включенные источники, исключенные источники, примененные masking rules, required consent, blockers, warnings, diagnostic codes и безопасный payload. Метод не вызывает модель, tool executor, provider adapter и не записывает доменные данные.

3. Проверки Безопасности

Каждый переданный источник проходит source-level Security decision. Если решение не передано или Security запретил чтение, источник исключается, а операция получает безопасный отказ. AI не повышает права пользователя через service account и не реализует параллельный механизм прав.

recordField-источники должны иметь fieldKey и metadata FieldConfiguration. Если metadata нет, пакет блокируется: AI не должен угадывать физические поля доменного модуля.

Скрытые поля, private comments, закрытые вложения, quarantined файлы, запрещенные классы данных, секреты и данные без права просмотра не попадают в prompt payload, audit envelope, Observability signals, cache, RAG или TestA expected results.

4. Masking И Consent

Masking выполняется до формирования prompt payload. Для чувствительных классов personal, service, secret, closed действие keep считается ошибкой настройки, если профиль требует masking.

Внешняя передача по умолчанию запрещена. Профиль может разрешить конкретные runtime classes, но sensitive/external сценарий должен вернуть requiresConsent, пока не передан отдельный consentDecision. Consent на передачу входных данных не означает согласие применить AI-результат к записи.

Consent decision фиксирует actor, operation key, source object, input profile key, data classes, external target class, срок действия, scope и trace id. Полный payload, закрытый текст и секреты в consent не сохраняются.

5. Preflight И Диагностика

AI/PreflightOperation учитывает AIInputProfile: если входные данные нельзя собрать безопасно, решение возвращается до вызова модели. В decision.input попадает краткое объяснение: profile key, included/excluded/masked counts, required consent и diagnostic codes.

AI/CheckGovernanceHealth проверяет profiles, битые inputProfileKey, пустые обязательные поля, missing Help/TestA, recordField без field key, source без прав, чувствительный источник без masking и слишком permissive external-transfer policy.

TestA-сценарии AI.__call.BuildInputPackage, AI.__call.PreflightOperation и AI.__call.CheckGovernanceHealth проверяют safe package, hidden/private/closed source denial, masking персональных данных, requiresConsent, trace propagation и отсутствие raw payload в audit/signals.

6. Границы Модулей

AI владеет input profile runtime, data-class policy для AI-входов, masking/redaction перед AI-вызовом, consent policy, dry-run входного пакета, explainable input decision и provider-проверками HealthCheck/TestA.

Security владеет правами и field/view security. FieldConfiguration владеет field keys и metadata полей. FT владеет файлами, extracted text и quarantine. Secrets владеет секретами. TraceContext, Observability, HealthCheck и TestA остаются владельцами своих общесистемных контрактов.

Доменные модули публикуют task-specific AI operations, передают безопасные source values и применяют подтвержденный результат. Они не должны передавать в AI полный record, private comments, закрытые вложения или raw prompt payload в обход AIInputProfile.