Задача и границы решения
Если закрытый фрагмент попал в контекст модели, просьба «не показывать секретное» уже не является надёжной границей доступа. Доступ должен контролироваться системой получения данных.
Как подойти к задаче
Свяжите документы с разрешёнными пользователями или группами. Применяйте проверку до передачи фрагментов модели. Продумайте обновление индекса при отзыве прав и исключите общий кеш ответов для разных уровней доступа.
Что проверить на практике
Проверьте одинаковый вопрос под двумя ролями, прямое упоминание закрытого документа и смену прав. В журнале поиска не должно быть лишнего содержимого, доступного широкому кругу операторов.
Какой ошибки избежать
Ошибка — скрыть ссылку, оставив текст документа в ответе. Изоляция должна охватывать поиск, генерацию, кеш и диагностику. Это отдельный критерий приёмки, а не пожелание к формулировкам.
Пример для проверки на вашем проекте
Один сотрудник имеет доступ к общему регламенту, другой — ещё и к внутренним тарифам. На одинаковый вопрос они могут получать разный доступный контекст. После отзыва прав закрытые фрагменты должны исчезнуть из поиска и кеша ответа. Тест выполняют с разными учётными записями. Нельзя считать систему безопасной только потому, что она не показывает название секретного файла.
Подготовка корпоративных знаний
Сначала выбираем актуальные источники, владельцев документов и правила доступа. Затем настраиваем разбор, индексирование и поиск. Качество найденных фрагментов оценивается отдельно от качества ответа модели. Если источники противоречат друг другу, требуется решение владельца данных: техническая система не должна незаметно выбирать корпоративное правило.
Проверяемость ответа
Ответ связывается с доступным пользователю источником. Тесты включают неизвестные вопросы, удалённые документы и разные роли. Обновление индекса и отзыв прав входят в жизненный цикл решения. После запуска нужен ответственный за актуальность базы и разбор неудачных ответов; без этого качество постепенно ухудшается.