— Не спешите, — ответил Демьян. — Мы уже знаем, что ночная выгрузка шла через порт, закреплённый за розеткой в кабинете Феликса. Подтверждение приложения и экспортный сеанс близки по времени, но это разные записи. Я пока не утверждаю, что устройство одно и то же.
Роберт кивнул.
— Правильно.
Мне не понравилось, как легко это слово прозвучало у него. Словно осторожность принадлежала ему, а не фактам.
Демьян вывел на доску четыре строки.
«Автор файла».
«Учётная запись экспорта».
«Устройство и сеанс подтверждения».
«Человек, выполнивший действие».
— Эти строки могут совпасть, — сказал он. — Могут не совпасть ни разу. Имя автора в свойствах документа не показывает, кто включил документ в пакет. Аккаунт, под которым прошёл экспорт, не доказывает, кто получил доступ к сеансу. Адрес устройства показывает технический источник, но не руки на клавиатуре.
— А факсимиле показывает, что кто-то нашёл шаблон, — сказала Нонна.
— Или система подставила его автоматически после подтверждения. Это ещё нужно отделить.
Он открыл свойства исходной технической папки. Сначала я увидела внутренний код, дату создания и номер версии. Потом имя.
«created_by: Нонна Керн».
Ниже стояло:
«last_modified_by: Нонна Керн».
Феликс подался ближе к экрану. Роберт не изменил позы, только перевернул ручку в пальцах.
— До выяснения надо временно ограничить экспортные права учётной записи Нонны, — сказал он.
Нонна сняла очки.
— Сформулируйте ещё раз. Медленнее.
— Ограничить право формировать и передавать внешние пакеты. Не доступ к производственным техкартам и не работу в цехе.
— Уже лучше. В первый раз прозвучало так, будто вы предлагаете удалить технолога из собственной работы за то, что она эту работу создала.
— Я предлагаю сохранить границы проверки.
— Тогда сначала проверьте, какую границу показывает строка.
Нонна открыла свою папку. Бумаги в ней были прошиты, на последнем листе стояли моя подпись и дата. Она положила сверху запрос на рабочую выгрузку техкарт после первой панели спорной модели.
— Вот основание, — сказала она. — После проверки посадки я запросила текущую техкарту, таблицу соседних размеров и лист исправлений. Не клиентские фотографии, не согласия и не архив заказов. Жанна разрешила рабочую копию в производственную папку.
Демьян сравнил номер запроса с журналом.
— Время совпадает с созданием исходной техкарты.
— Потому что я её создала, — сказала Нонна. — А потом исправила линию детали и сохранила новую версию. Поэтому я и created_by, и last_modified_by. Если бы вы нашли моё имя в поле «отправитель внешнего пакета», мы бы обсуждали другое действие.
— В журнале такого поля с вашим именем пока нет, — сказал Демьян.
— Вот это и запишите.
Феликс взял копию запроса.
— Почему рабочая выгрузка вообще называлась выгрузкой? Нельзя было сохранить копию без этого слова?
— Можно было назвать её «ромашкой», — ответила Нонна. — Функция всё равно извлекала утверждённые техкарты из конструкторского каталога в производственный. Внешний сервер от названия не появляется.
Демьян впервые улыбнулся, но сразу вернулся к экрану.
— Записываю отдельно: Нонна Керн является автором и последним редактором техкарты. Законный запрос подтверждает внутреннее копирование ограниченного набора для исправления посадки. Эти сведения не подтверждают формирование полного пакета и отправку наружу.
— И не опровергают, — сказал Роберт.
— Да. Не опровергают. Для этого нужны другие записи.
Нонна надела очки.
— Теперь звучит как проверка.
Экспортная роль в её профиле формально оставалась активной, хотя внешние каналы и административные сеансы уже закрыли. Демьян объяснил, что это не текущая возможность отправить архив: транспорт был заблокирован. Но при восстановлении системы роль могла снова получить право создавать внешний пакет. Временно убрать её следовало не ради наказания, а чтобы изменение не произошло автоматически.
Роберт повторил требование уже точно:
— До предварительного заключения убрать у профиля Нонны только роль внешнего экспорта.
Я открыла форму изменения прав.
— Решение принимают совладельцы, не «Контур».
— Согласен, — сказал Роберт.
Мы внесли объект ограничения: только право внешнего экспорта технических материалов. Просмотр и изменение локальных техкарт, производственные согласования, авторство и доступ Нонны к рабочим файлам сохранялись. Срок определили не календарной датой, а предварительным заключением независимого специалиста. Основанием стал номер инцидента.
Я подписала решение. Феликс подписал следом. Нонна прочла каждую строку и добавила от руки: «С объёмом ограничения ознакомлена, производственные права сохранены». Потом поставила подпись как совладелица и как человек, чьи права менялись.
Демьян передал форму провайдеру. В ответ пришло подтверждение изменения роли. Содержание файлов никто не трогал.
— Если после этого кто-то скажет, что меня отстранили от конструкций, я пришлю ему эту страницу, — сказала Нонна.
— Без клиентских данных, — напомнила Ада от своего стола.
— Условная пригодность администрации подтверждается.
Ада забрала копию решения и закрыла дверь.
Следующим документом был журнал приёма пакета в «Контуре».
Семь корневых каталогов нас уже не удивили. Мы видели их в карантинном манифесте. Новым оказалось поле назначения.
«Вложение к сделке».
Рядом стоял номер предварительного проекта и идентификатор приёмного процесса. Полный архивный пакет не попал в защищённое хранилище как случайный файл, присланный на общий адрес. Автоматический приём зарегистрировал его приложением к сделке «По себе» и «Контура».
— Кто указал тип вложения? — спросила я.
Демьян увеличил служебную строку.
— Метка пришла вместе с сопроводительной карточкой пакета. В ней стоит простая учётная отметка под вашим именем и номер проекта. После приёма система положила пакет в защищённое хранилище сделки.
— То есть «Контур» получил полный архив как часть сделки, — сказала Нонна.
Роберт ответил не сразу.
— Да. Полный пакет действительно пришёл как вложение к сделке. Мы знали, что в карантине находится пакет с семью каталогами. Сейчас уточнено, как именно его зарегистрировал приёмный процесс.
— Не «сейчас выяснилось, что архив у вас», — сказала я. — Это мы знали. Сейчас выяснилось, что ваша система приняла его не как ошибочную пересылку, а как договорное вложение.
— Верно.
Он не пытался сделать новое открытие из уже известного. За это я отметила ему одно внутреннее очко и тут же отняла за следующую фразу.
— Приёмный процесс должен был прочитать сопроводительную карточку и манифест. Личные файлы не должны были открывать.
— Не должны были или не открывали? — спросила я.
Роберт посмотрел на Демьяна.
— По действующему порядку не должны были. После карантина каждое обращение журналируется.
— А до карантина?
— Пакет находился в приёмном контуре недолго.
— Это мера времени, не ответ.
Демьян открыл журнал ролей.
— До карантина у приёмного процесса был автоматический доступ к манифесту. У сотрудников сопровождения сделки были права видеть карточку пакета и перечень верхнего уровня. Для открытия вложений требовалось отдельное действие. Я запросил полный журнал таких действий.
— Получили? — спросила Нонна.
— Пока предварительную выгрузку.
Роберт взял слово снова. На вопросы о хранении он отвечал точно. Назвал защищённый сегмент, порядок шифрования, момент перевода в карантин, режим неизменяемой копии и правило двух подтверждений для дальнейшего доступа. Даже объяснил, почему номер сделки сохранялся после блокировки.
Я спросила:
— Кто до карантина видел перечень личных записей?
— Сотрудники, назначенные на сопровождение сделки, и те, кому система открыла служебную карточку.