Цифровой детектив: Как проверять людей, компании и информацию по открытым источникам

- -
- 100%
- +
— Понятно, что фразу про Нижние Сады взяли из этого выступления, — сказала Вера. — А в полной записи она стоит внутри предупреждения. Лидия не признавалась, что направляла людей в опасную зону. Она объясняла, что это сделает карта.
— Заголовок утверждает обратное.
— Заголовок не становится правдой оттого, что к нему прикрепили её лицо.
Вера снова открыла короткий фрагмент. На этот раз следила не за Лидией, а за краями кадра. В начале изображение было чуть зернистее оригинала, потом выравнивалось. В нижнем углу на миг вспыхнул белый пиксель. Между репликами слышался короткий щелчок, а в паузе — звук, похожий на вдох.
— Можно было взять официальный файл, обрезать и поставить новое время, — сказал Лев. — Голос заново создавать не пришлось бы.
— Можно было. Но следы правки ещё не называют нам человека, который её сделал.
— Ты даже слово «смонтировали» произносишь так, будто оно может обидеться.
Лев откинулся на спинку стула. Его взгляд задержался на титре «Лидия знала».
— Я однажды подписал заключение, не проверив, приложили ли к нему всю карту, — сказал он. — Одного пропуска хватило, чтобы документ выглядел убедительно.
Вера наконец посмотрела на него, а не на экран. В голосе Льва не было оправдания; он будто снова ставил подпись под тем заключением.
— Ты сейчас пытаешься меня утешить? — спросил он.
— Нет. И не собираюсь делать вид, будто ошибка была пустяком. Но мы не должны повторять её — теперь уже с чужой историей.
На экране продолжалась полная запись. Лидия, убрав листы, отвечала на вопрос из зала.
Вера сохранила три изображения: страницу культурного центра с датой и ссылкой, страницу программы с пунктом о выступлении Лидии и кадр полной записи, где она указывала на карту. Отдельно — кадр короткого ролика с титром. Под каждым снимком Вера внесла адрес и время проверки. В заметках разнесла наблюдения по разным строкам: полный файл размещён на официальной странице; фрагмент снят в том же зале; в нём пропущены вопрос председателя, отрицание и предупреждение о неверной карте; надпись «Записано 19.03.2026, 00:43» не сообщает, когда именно снимали или загружали ролик.
Лев следил за экраном, пока она печатала.
— Если мы напишем, что видео смонтировано, это будет обосновано?
— Напишем, что опубликованный ролик выборочно обрывает выступление и меняет его смысл. Источник фрагмента с высокой вероятностью — запись слушаний. А способ обработки и тот, кто её сделал, требуют отдельной проверки.
— Даже если профиль выложившего ролик существует давно?
— Да.
— Даже если под роликом всё время стоит одно и то же имя?
Вера на секунду прикрыла глаза. Три года назад она привязала лицо с фотографии к ложному публичному профилю. Совпадений ей тогда хватило, открытые сведения показались удостоверением личности, а опровержение появилось лишь после того, как человека уже затравили.
— Учётная запись — это след, — сказала она. — Не готовый ответ о том, кто за ней стоит.
— Времени на осторожность у нас немного.
Вера взглянула на календарь в углу экрана. До голосования по срочному контракту оставался день. Завтра, девятнадцатого октября, в шесть вечера городской совет должен был решить, продлевать ли работу подрядчика. Испытание системы назначили на двадцатое, в 04:20. По прогнозу, к восьми утра уровень воды в Нижних Садах мог стать опасным.
— Именно поэтому ошибаться нельзя, — сказала она.
Лев повернул к ней монитор с программой слушаний.
— Внизу есть протокол и приложения. Может, там указан номер версии карты, которую она показывала.
Вера прокрутила страницу культурного центра. Под видеозаписью и правда находились ещё две ссылки: «Протокол» и «Материалы заседания». Она открыла первую. PDF оказался сканом; страницы шли неровно, одна была чуть перекошена, словно её положили на стекло копировального аппарата не с первого раза.
В конце протокола перечислялись приложения. Лист с картой значился под номером два. Вера увеличила строку: «Схема маршрутов эвакуации, один лист». Ниже стояла отметка, что копия заверена.
— Забирай страницу, — сказал Лев. — Завтра запросим архивную версию.
Вера сохранила файл и прокрутила к последнему листу. Внизу теснились три круглые печати, частично наложенные друг на друга. Чернила на самой нижней были темнее остальных, а край оттиска пересекал строку с названием приложения.
Она увеличила изображение.
На печатях различались три наименования: городская комиссия, культурный центр и «Маяк Инжиниринг». Край третьей закрывал часть даты заверения.
Лев наклонился к экрану.
— Подрядчик заверял протокол?
Вера промолчала. Сохранила страницу целиком, не обрезая печатей и не меняя контраст, затем вернулась к ролику. Под ним всё ещё стояло имя учётной записи, а рядом — время, которое ничего не говорило о человеке за экраном.
На мониторе три печати лежали одна на другой, словно каждая пыталась закрыть предыдущую.
Три печати
Три печати
— Не режь изображение, — сказал Лев.
Вера уже навела курсор на панель кадрирования, но остановилась. На мониторе три круглые печати теснились у нижнего края протокола. Тёмный оттиск «Маяк Инжиниринг» заходил на строку с названием приложения, другой закрывал последние цифры даты. Стоило обрезать страницу — и получилась бы аккуратная картинка, из которой исчезло всё, что могло ей противоречить.
— Я и не собиралась.
Она сохранила скан целиком. В строке состояния экрана светилось: 18 октября 2026 года, 15:53. Вера сделала копию файла, записала адрес страницы и время скачивания, затем открыла исходник ещё раз, чтобы убедиться: при сохранении ничего не сдвинулось. На листе с картой по-прежнему значилось: «один лист». Под строкой стояла отметка о заверении.
Она отправила страницу на печать, забрала лист из принтера в редакционном коридоре и положила рядом с распечатками.
— Подрядчик удостоверяет приложение к протоколу комиссии, — сказал Лев. — Звучит как услуга, которую забыли внести в смету.
— Или как печать на копии, которую ему передали. Мы не знаем, кто держал оригинал и что именно заверял.
Лев посмотрел на неё поверх оправы. У рта обозначилась складка.
— Ты каждый раз оставляешь обвинению запасной выход.
— Не обвинению. Человеку, которого мы ещё не нашли.
Вера увеличила оттиск, не меняя контраст. Чернила распадались на пиксели. Внутренний обод печати «Маяка» пересекал тонкую линию карты; по скану нельзя было понять, лежала ли печать на исходном листе или на копии.
Она свернула PDF и открыла городскую страницу закупок. Лев достал из папки распечатки контрактных карточек — собирал их ещё тогда, когда думал, что расследование упрётся в один неудачно оформленный договор. Поля листов были исписаны его мелким почерком.
— Если печати поставили не случайно, надо выяснить, где эти трое пересекались до протокола. Не в зале заседаний — в платежах, поставках, доступе к материалам.
— И в датах.
Лев раскрыл блокнот.
— Даты хотя бы не обижаются, когда их проверяют.
— Зато их легко принять за доказательство.
— У меня было много лет, чтобы оценить твою нежность к бумагам.
Он сказал это сухо, но взгляд на мгновение задержался на её руке. Вера прижала ладонью край распечатки и выровняла лист, хотя тот и так лежал ровно.
В городском портале нашлась карточка контракта на модернизацию системы оповещения. Исполнитель — ООО «Порог-Системы». Сумма, срок, заказчик, номер процедуры. Внизу — перечень документов и приложения с безобидными названиями: календарный план, спецификация оборудования, порядок взаимодействия с соисполнителями.
— Вот, — Лев отметил нужную строку. — Контракт заключили в июне. Компания существовала задолго до конкурса, адрес не меняла. Скучная история.
— Запиши, что проверили регистрационные сведения и не нашли перемен. И откуда взяли копию.
Он помедлил, потом вывел на полях ссылку и время доступа. Ручка нажала слишком сильно: на бумаге продавилась черта.
В приложении к контракту «Порог-Системы» значился соисполнитель — ООО «Рубеж-Сервис». Ему поручали техническое обслуживание оборудования в Нижних Садах. Суммы и подробного перечня работ в карточке не было; файл числился приложением к уведомлению о привлечении третьих лиц.
Лев перечитал строку.
— Промежуточное звено.
— Пока только название в приложении.
— У тебя любой мост начинается с доски, которую ещё не проверили на гвозди.
— А у тебя любой гвоздь немедленно становится мостом.
Он тихо усмехнулся и обвёл слово «соисполнитель» тонким прямоугольником.
В карточке «Рубеж-Сервиса» стояла дата регистрации — шестое мая. Тендер объявили тринадцатого. Между ними помещалась неделя и несколько часов: компания появилась на свет в коротком коридоре перед закупкой.
— Семь дней, — сказал Лев.
— Этого мало, чтобы объявить её созданной под тендер. Документы могли готовить заранее, фирму могли открыть для другой работы. Или просто ждали публикации закупки.
— Три версии.
— Лучше три версии, чем наша догадка, переодетая в факт.
Вера сохранила карточку. Юридический адрес «Рубеж-Сервиса» находился в восточной части города, а для официальной корреспонденции был указан общий электронный адрес. Она переписала его в блокнот и открыла сведения о «Маяк Инжиниринг».
Юридический адрес «Маяка» оказался на другом конце Зареченска. Компания работала с городскими заказчиками не первый год. Вера пробежала глазами сведения о руководстве, пока не дошла до контактов для официальных запросов, — и замерла.
— Лев.
Он пододвинул стул.
— Что?
— Сравни адрес.
Вера вывела на экран обе карточки. Два названия, два юридических адреса, один и тот же ящик для официальной корреспонденции.
Лев снял очки, протёр их краем рубашки и снова надел.
— Совпадает.
— Совпадение, — поправила Вера. — Не контроль.
— Я ещё не успел сказать «контроль».
— Но уже посмотрел так, будто собирался.
Лев придвинул к себе распечатки.
— Общий бухгалтер, юридический представитель, обслуживающее агентство. Или старый контакт в карточке. Или компании связаны. Ни одна версия пока не отвечает на вопрос, кто заверял карту.
— И даже связь не говорит, кто распоряжался людьми.
Вера открыла обе страницы рядом и сделала снимок так, чтобы в кадр попали названия организаций и адресная строка сайта. Сохранила отдельно от PDF: совпадение следовало оставить заметным, но не превращать в графику, которая выглядела бы убедительнее источников.
Лев смотрел на экран. Ему хотелось протянуть линию от «Маяка» к «Рубеж-Сервису», а оттуда — к «Порог-Системам». Ручка замерла над блокнотом.
— Почему ты так боишься провести линию? — спросил он.
— Потому что линию потом превращают в стрелку. А стрелка указывает на человека.
Лев опустил ручку.
— Я не прошу назвать виновного. Хочу понять, что именно они делали вместе.
На ноутбуке дёрнулся край страницы. Вера обновила карточку; текст загрузился снова, и её пальцы задержались над клавишей сохранения.
Три года назад ей тоже хватило нескольких публичных сведений, чтобы сложить гладкую историю. Профиль с фотографией, комментарии, отметка о работе в бригаде. Она нашла настоящего человека и опубликовала его имя, не проверив, кто создал страницу. Ошибка прожила в сети дольше, чем исправление. С тех пор любой аккуратный узор напоминал ей, как легко случайное совпадение приобретает форму приговора.
— У «Маяка» есть ещё один городской контракт, — сказал Лев, возвращая её к экрану. — Культурный центр. Оцифровка записей общественных слушаний.
Он развернул карточку, лежавшую под нижней распечаткой. Контракт касался переноса аудио- и видеоматериалов в электронный архив, подготовки копий для гражданского доступа. Среди результатов значились индекс выступлений, временные отметки и цифровые файлы.
Вера взглянула на три печати в сохранённом протоколе.
— Культурный центр хранит записи, «Маяк» их оцифровывает. «Порог-Системы» получает городской контракт, «Рубеж-Сервис» указан среди соисполнителей.
— А городской комитет заверяет протокол с картой.
— Уже похоже на рисунок. Общего основания, которое связывает все линии, всё равно нет.
Лев постучал ногтем по карточке культурного центра.
— Или есть четыре основания, каждое из которых совершенно законно.
Он произнёс это без насмешки. Вера услышала знакомую досаду: Лев слишком хорошо знал, как полной может выглядеть бумага, если не заглянуть за неё.
На странице закупок мелькнуло уведомление: один из файлов временно недоступен. Вера нажала на ссылку. Вместо приложения открылась пустая страница с надписью «Объект не найден». Ни объяснения, ни даты удаления.
— Сбой? — спросил Лев.
— Возможно.
— Удобный сбой.
— Удобство — не причина.
Он явно хотел возразить, но сдержался. Название приложения оставалось на месте: «Перечень исходных материалов». Вера сохранила страницу с сообщением об ошибке, номером закупки, ссылкой и временем обращения. Спецификация к тому же контракту скачивалась. Она сохранила и её, не меняя имени файла, которое присвоил портал, а рядом внесла в записи адрес и время загрузки.
— По крайней мере, эта открывается, — сказал Лев.
— Сейчас.
Когда он потянулся к мыши, Вера накрыла тачпад ладонью.
— Не обновляй всё подряд. Сначала сохраним то, что есть.
— Я не собирался стирать следы.
— Знаю.
Она услышала собственную резкость и убрала руку. Лев вернулся к распечаткам, больше не пытаясь соединить компании ручкой.
— Нужна архивная версия, — сказал он. — Не только портал.
— Завтра запросим. Сегодня проверим, что ещё осталось в открытом доступе.
Лев оглядел редакцию. За стеклянной перегородкой пустовал стол ночного выпуска; у окна темнела забытая кружка. В коридоре катили тележку с пачками газет, колёса глухо постукивали на стыках пола.
— Едем в муниципальный архив?
— Там можно проверить старые карточки и связанные вложения. Если часть приложений исчезла, надо понять какие. Архивный экземпляр протокола запросим утром.
Лев посмотрел на сохранённый скан.
— Потеряем полчаса на дорогу.
— До голосования чуть больше двадцати шести часов. Полчаса дешевле, чем ещё одна версия карты, которую мы не видели.
Он сложил распечатки в папку. Вера закрыла ноутбук, предварительно убедившись, что протокол и снимки карточек сохранены локально, убрала его в чехол и смотала кабель зарядки. В коридоре пахло мокрой бумагой и кофе. Лев придержал дверь, пропуская её; пройдя, Вера заметила, что он на секунду оглянулся на светящийся монитор. Три печати на экране превратились в едва заметные кружки.
— Если к утру пропадёт и сама карточка закупки, — сказал он, — ты хотя бы успеешь сказать, что мы её видели.
— Я хочу сказать больше. Где именно мы её видели и в каком виде.
— В этом твой талант: даже тревогу снабжаешь сноской.
— А ты слишком хорошо знаешь, что бывает с выводом без сноски.
Лев не ответил. На лестнице их шаги смешались с гулом вентиляции.
В центре муниципальных архивов пахло каменной пылью, мокрыми пальто и холодным металлом. Вера устроилась за столом в зале открытого доступа и подключила ноутбук к публичному Wi-Fi. Лев поставил рядом папку. За стеклянной перегородкой пустовала стойка выдачи; дальше темнели стеллажи с архивными коробками. До закрытия оставалось достаточно времени, если портал не начнёт выпадать из сети.
Пока загружалась страница закупок, Лев разложил распечатки веером.
— Не начинай с печатей, — сказала Вера. — Сначала проверим то, что можно повторить: контракт, приложение, регистрационные записи. Потом вернёмся к протоколу.
— А я думал, ты предложишь начать с пропавшего файла.
— Он не расскажет, откуда исчез. Сначала поймём, как назывался и к чему относился.
Лев придвинул ей карточку закупки.
Вера сверила номер процедуры, дату подписания и сумму с копией из редакции, затем записала источник в блокнот. Профиль «Порог-Систем» показывал несколько прежних городских контрактов, стабильный адрес и один спор о сроках исполнения, закрытый без расторжения договора. Компания не возникла накануне конкурса; ничего в её истории не объясняло, почему подрядчик оказался рядом с предупреждением Лидии и спорной картой.
— Фирма давно в системе, — сказал Лев. — Это снимает соблазн назвать её временной оболочкой.
— Снимает один соблазн. Остальные вопросы остаются.
— Тебе когда-нибудь хотелось просто решить, что всё ясно?
— Хотелось. Поэтому я и не решаю.
Лев провёл пальцем по дате контракта. Под ногтем осталась синяя полоска от свежей печати, которой он помечал документы.
— Решение городского совета завтра в шесть. Если они одобрят срочный контракт, систему испытают в ночь с понедельника на вторник, в четыре двадцать. К восьми в Нижних Садах ждут опасный уровень воды. Мы не можем прийти туда с пустой папкой, полной оговорок.
— Лучше пустая папка, чем чужое имя, приколотое не к тому листу.
Лев поднял глаза. Челюсть у него напряглась.
— Я понимаю.
Он сказал это тише обычного. Вера не ответила сразу. Его старая ошибка давно лежала между ними, хотя редко возникала в разговоре целиком. Когда-то Лев подписал сводное заключение о безопасности городской системы, не заметив, что к нему не приложили важную часть карты. Вера не знала, что он чувствовал, когда видел теперь слово «приложение», но понимала, почему он каждый раз проверял перечень вложений дважды.
Лев сам открыл карточку протокола комиссии. В разделе приложений сохранился перечень, но не содержимое. Второй лист назывался «Схема маршрутов эвакуации, один лист». Дата заверения и здесь расплылась под печатями.
— В моём заключении тоже стояло «комплект получен», — сказал Лев. — Я проверил реестр. Все позиции были на месте.
— А сами листы?
— Не все.
Он снял очки и потёр переносицу. В тишине читального зала щелчок оправы прозвучал неожиданно громко.
— Я подписал заключение по ведомости, — добавил он. — Мог открыть папку целиком.
Вера осторожно закрыла вкладку.
— Ты тогда заметил, что листа не хватает?
— Нет.
Он не смягчил ответ и не попросил снять с него вину. В его голосе слышалась усталость человека, который больше не прятал её за формулировками. Вера почувствовала, как сводит пальцы. Ей хотелось сказать, что он не мог предусмотреть подмену каждого листа, но она не знала, какая часть вины принадлежала ему, а какая — тем, кто отправил неполный комплект.
— Мы ещё не знаем, связана ли эта карта с той, — сказала она.
— Знаю.
Он снова надел очки и отвернулся к распечаткам.
Вера открыла карточку «Рубеж-Сервиса» и сверила сведения с редакционной копией. Дата регистрации — 6 мая 2026 года, за неделю до публикации конкурсной документации. Юридический адрес не совпадал ни с адресом «Порог-Систем», ни с адресом «Маяка». Зато контактная почта совпадала с указанной в корпоративной карточке «Маяк Инжиниринг».
— Запиши: общий адрес для корреспонденции в открытых корпоративных сведениях, — сказала Вера. — Не общий офис, не общий владелец.
— Ты всё ещё оставляешь им запасной выход.
— У компаний бывают общие подрядчики, бухгалтеры, бывшие сотрудники. Иногда за совпадением стоит связь, иногда — чужая небрежность. Пусть источники скажут за себя.
Лев переписал её формулировку в блокнот.
В архивной карточке контракта культурного центра обнаружился полный перечень материалов, переданных на оцифровку. Среди них значились записи слушаний о подтоплении Нижних Садов. Вера нашла заседание, на котором выступала Лидия Воронцова. Карточка указывала номер сессии и общий объём записи, но ссылка на исходное приложение вела к знакомой надписи: «Объект не найден».
— Та же запись, что в коротком ролике? — спросил Лев.
— Номер совпадает с полной записью, которую мы смотрели. Но здесь только заказ на оцифровку.
— Значит, у «Маяка» был исходник.
— Значит, материалы передавали подрядчику. Кто ещё получил к ним доступ, мы не видим. Культурный центр, архив, сотрудники подрядчика — круг широкий.
Она почувствовала сухость во рту и упёрлась пальцами в край ноутбука. Запись могла расширить список тех, кто имел доступ к словам Лидии, но не указывала на конкретного монтажёра. Вера не хотела подменять его имя названием компании лишь потому, что так проще объяснить происходящее.
— «Маяк» получил материалы, «Рубеж» связан с ним почтой, «Порог» передал «Рубежу» часть работ, — сказал Лев. — Это уже не три случайных названия на разных страницах.
— Нет. Но ответа, кто подготовил ложную подпись и вырезал слова Лидии, у нас по-прежнему нет.
— А печати?
— Показывают, что их оттиски оказались на одном листе. Этого достаточно, чтобы искать дальше.
Лев опустил взгляд на распечатку. Пальцы легли рядом с перечнем приложений, не закрывая его.
— Если найдём оригинал, я сравню его со своим заключением.
— Не в одиночку.
— Я и не собирался.
Он произнёс это ровно, без раздражения. Вера поняла, что он принял её осторожность не за недоверие, а за условие, с которым ему придётся работать.
Она снова открыла список приложений контракта «Порог-Систем». Теперь не загружались два файла. «Перечень исходных материалов» не открывался и в редакции; ссылка на спецификацию, которую Вера успела скачать, теперь вела на пустую страницу. Локальная копия оставалась на ноутбуке.
— Ты успела сохранить? — спросил Лев.
— Спецификацию — да. Перечень — нет. Он не открывался ни разу.
Лев наклонился к экрану. Его взгляд остановился на номере приложения и дате публикации.
— Может, переносят старый архив. На портале были жалобы на переезд хранилища.
— Журнала изменений в открытом доступе нет. Мы не знаем, исчезли файлы сегодня, месяц назад или их никогда не было в хранилище.
Вера сохранила страницу с ошибкой ещё раз, теперь вместе с адресной строкой и системным временем. Лев переписал название приложения и номер закупки, затем сфотографировал экран, не пытаясь увеличить текст до нечитаемых пикселей.
В зале стало тише: дверь в коридор закрылась, отсекая гул вентиляции. У Веры затекли плечи. Она потянулась к кружке, обнаружила её пустой и откинулась на спинку стула. Лев вынул из сумки бутылку воды и подвинул к ней.
— Ты сегодня ела?
— Кофе считается?
— Только если в твоей редакции кофе выращивают в виде бутербродов.
Вера отпила. Вода оказалась холодной и отдавала пластиком.
— Мы нашли то, ради чего приехали, — сказала она. — Связи, которые можно проверить. Не готовый ответ.
— Иногда это одно и то же.
— Для тебя — возможно.
Лев сложил распечатки в папку, оставив сверху страницу с тремя печатями. На бумаге она выглядела темнее, чем на экране; дата читалась чуть яснее, но последние цифры всё равно терялись под круглыми оттисками.
— Сохрани её отдельно, — сказал он. — Не хочу, чтобы исходный файл затерялся среди остальных.
— Уже. И скан, и рабочая копия.
— Хорошо.
Вера проверила сохранённые названия по блокноту: карточки закупок, корпоративные сведения «Маяка» и «Рубеж-Сервиса», перечень соисполнителей, страница недоступного приложения, спецификация. Напротив каждого источника стояли ссылка и время доступа.
На городской странице обновилась строка состояния. Она вернулась к карточке договора и снова нажала на приложение. Надпись осталась прежней, только номер объекта исчез.
— Зафиксируй, — сказал Лев.
— Уже.
Он взглянул на часы. Было чуть за пять; открытая часть архива закрывалась через час. До голосования оставалось меньше суток; испытание было назначено на раннее утро вторника, и ночь накануне не обещала быть спокойной.
— Запросим документ сегодня, — сказал Лев. — Ответа до понедельника не будет.
— Зато останется отметка о времени. Утром позвоним в архив.
— А к шести придём в совет с тремя компаниями, исчезнувшей ссылкой и печатями, которые ничего не доказывают.
— С точностью, которой у них, возможно, не будет.
Лев убрал ручку в карман. Вера дождалась, пока файлы окончательно сохранятся, закрыла ноутбук и отсоединила кабель. Блокнот и телефон отправились в сумку, распечатку с печатями она вложила между листами плотного картона, чтобы не смять в дороге.
За стеклянной дверью сумерки уже набрали густоту. Вера задержалась у окна и увидела в отражении себя и Льва — по разные стороны стола, разделённого бумагами и десятками открытых вкладок, которые теперь существовали лишь в сохранённых копиях.
У стойки выдачи опустили металлическую створку. В мутном стекле отразился лист с печатями, который Вера держала под рукой. Один оттиск пересекал другой; на миг показалось, будто сама бумага пытается скрыть, где начинается каждый.


