
Полная версия
Режим невидимки

Режим невидимки
Пролог. Тень на записи
Кабинет был тесным, будто специально созданным для того, чтобы человек в нём чувствовал себя лишним. Стены, выкрашенные в бледно‑серый, почти сливались с бетонными перекрытиями; на одной из них висели три монитора, каждый показывал свой фрагмент коридора исследовательского центра — стерильно чистый, с ровными линиями плитки, с одинаковыми дверями, за которыми прятались лаборатории, серверные и комнаты для совещаний. В углу стоял старый металлический шкаф с папками, на полке — коробка с дисками, покрытая тонким слоем пыли.
За столом сидел Игорь, старший аналитик безопасности. Ему было сорок два, и большую часть своей жизни он провёл, глядя на экраны, где ничего не происходило. Именно это он и любил: отсутствие событий, предсказуемость, ровные графики, которые не прыгали без причины. Но сегодня что‑то было не так.
Он потянулся к чашке с остывшим кофе, сделал глоток, поморщился и снова уставился на центральный монитор. Там, в кадре из коридора у северного крыла, было пусто. Слишком пусто. Не просто «никто не ходит», а будто пространство ждало, когда в него кто‑то войдёт, чтобы тут же стать неправильным.
Игорь перемотал запись на десять минут назад. На экране появился человек. Обычный, ничем не примечательный: тёмная толстовка, джинсы, волосы чуть длиннее, чем принято в центре, но не настолько, чтобы это бросалось в глаза. Он шёл быстро, уверенно, как тот, кто знает, куда идёт и зачем.
— Вот ты, — тихо пробормотал Игорь, будто человек на экране мог его услышать. — Ты мне и нужен.
Он увеличил изображение, приблизил силуэт. И тут впервые заметил странность: края фигуры будто дрожали, как горячий воздух над асфальтом в июле. Контур не был чётким, он расплывался, словно камера не могла удержать фокус на этом человеке.
Игорь нахмурился, открыл панель метаданных. Имя, ID, номер пропуска — ничего. Система не распознала его. Это случалось редко, но случалось: сбой считывания, грязный пропуск, неудачный угол. Обычно внизу экрана всплывало: «Ожидание идентификации», и через пару секунд система подтягивала данные из базы. Но здесь не было даже этого.
— Ладно, — снова пробормотал Игорь. — Посмотрим дальше.
Человек прошёл мимо камеры, свернул за угол — и в этот момент произошло нечто, от чего у Игоря по спине пробежал неприятный холодок. Силуэт не просто исчез из кадра. Он будто растворился: сначала края стали совсем размытыми, потом фигура начала терять плотность, как дым, который втягивают в вытяжку. И через секунду на экране осталась только пустая стена. Ни смазанного следа, ни тени, ни намёка на то, что секунду назад здесь кто‑то был.
Камера продолжала снимать. Плитка, стыки, угол стены, дверь с табличкой «Доступ по пропускам». Всё было на месте. Только человека не было.
Игорь замер, не отрывая взгляда от экрана. Он перемотал вперёд на несколько секунд — ничего. Назад — тот же момент: человек появляется, расплывается, исчезает.
— Это невозможно, — тихо сказал Игорь, будто пытался убедить сам себя. — Даже если пропуск не считывается, система должна зафиксировать движение. Должен быть хотя бы тепловой след. Должны быть пиксели, которые двигались.
Он открыл второй монитор, вывел туда тепловую карту того же коридора. В момент, когда человек проходил мимо, на экране не было никакого всплеска температуры. Никаких аномалий. Только ровный фон, будто в коридоре никого не было.
Третий монитор показывал данные с датчиков движения. Игорь щёлкнул по графику: линия была плоской, без единого пика. Датчик не зафиксировал ни шага, ни колебания воздуха.
— Да как же так? — Игорь уже не шептал, а говорил вслух, потому что тишина в комнате начинала давить.
Он снова посмотрел на центральный экран, на тот самый кадр, где человек только начинал расплываться. Увеличил до максимума. И вдруг заметил деталь, от которой ему стало по-настоящему не по себе: в углу кадра, там, где обычно выводился ID сотрудника, была пустота. Не «Неизвестно», не «Ошибка», а просто ничего. Как будто система даже не пыталась его распознать. Как будто для неё этого человека не существовало.
Игорь потянулся к телефону, набрал внутренний номер службы технической поддержки.
— Слушаю, — голос на том конце был бодрым, привычным.
— У меня тут запись с северного коридора, — сказал Игорь, стараясь, чтобы голос звучал спокойно. — Есть движение, но система не фиксирует ID, нет данных с датчиков, нет теплового следа. И… человек исчезает. Буквально.
На том конце повисла пауза.
— Исчезает? — переспросил техник. — Как это?
— Как будто растворяется. Контур расплывается, и через секунду его нет. Ни следа, ни тени.
Ещё одна пауза. Потом вздох.
— Слушай, Игорь, ты сколько уже сидишь? Может, глаза устали? Бывает, матрица глючит, артефакты появляются. Или видеофайл битый. Скинь мне фрагмент, я гляну.
Игорь стиснул зубы. Он не был тем, кто видит глюки там, где их нет. Он видел достаточно сбоев, чтобы отличать их от… этого.
— Файл не битый, — твёрдо сказал он. — Я три раза перемотал. Один и тот же момент. И датчики молчат. Как будто его не было.
Техник помолчал, потом вздохнул уже по-другому — не раздражённо, а будто что‑то вспомнил.
— Знаешь, — тихо сказал он, — пару недель назад ребята из спецпроекта что‑то тестировали в северном крыле. Говорили, что будут работать с маскировкой цифровых следов. Может, это их тесты?
Игорь почувствовал, как внутри всё сжалось. Спецпроект. Это слово в центре произносили шёпотом, как ругательство. Туда не пускали обычных безопасников, туда не выкладывали отчёты в общую базу, туда вообще старались не смотреть.
— Они что, могут стирать людей из записей? — спросил Игорь, сам не веря, что произносит это вслух.
— Не знаю, — ответил техник. — Но если они что‑то там крутили, то лучше не лезь. Пусть сами разбираются. Если хочешь, я перешлю твой фрагмент куратору проекта. Но… честно? Лучше забудь.
Игорь хотел сказать, что не может забыть. Что он видел, как человек перестал существовать на записи. Что это не просто сбой, а что‑то неправильное, что ломает саму логику системы. Но вместо этого он только тихо ответил:
— Хорошо. Перешли.
Он положил трубку, откинулся на спинку стула и снова посмотрел на экран. Кадр застыл на моменте, когда силуэт уже почти исчез. Пустая стена, ровные линии, тишина.
И вдруг ему показалось, что в этой тишине есть что‑то большее, чем просто отсутствие звука. Будто сама система «выдохнула», когда человек пропал, будто она была рада, что его больше нет в её данных.
Игорь медленно потянулся к мышке, чтобы закрыть файл, но в последний момент замер. Он снова посмотрел на угол кадра, где должен был быть ID. Там по-прежнему ничего не было. Ни имени, ни номера, ни даже ошибки. Только пустота.
«Как будто его никогда не было», — подумал Игорь. И от этой мысли ему стало холодно, несмотря на тёплый воздух в кабинете.
Он всё-таки закрыл файл, выключил мониторы, собрал бумаги и вышел из кабинета. В коридоре было тихо, слишком тихо для центра, где всегда что‑то гудит, щёлкает, мигает. Игорь шёл по тому самому коридору, смотрел по сторонам, будто ожидал увидеть того человека снова — или хотя бы след, который он мог оставить. Но не было ничего: ни смятой плитки, ни царапины на стене, ни забытой вещи. Только ровные двери, одинаковые таблички и тишина, которая теперь казалась ему не спокойной, а насторожённой.
Когда он вышел на улицу, солнце уже садилось, окрашивая здания в оранжевый цвет. Игорь глубоко вдохнул прохладный воздух, пытаясь смыть с себя ощущение, что он только что видел что‑то, чего не должно было быть.
Но вечером, уже дома, когда он сидел на кухне и пил чай, ему вдруг вспомнился тот кадр: пустая стена, ровный пол, и место, где секунду назад был человек. И он понял, что самое страшное не в том, что человек исчез. А в том, что система даже не заметила, что он был.
На следующий день фрагмент записи пропал из архива. Файл удалили, а в журнале событий появилась пометка: «Ошибочная запись, артефакты сжатия». Игорь хотел спросить, кто это сделал, но куратор спецпроекта посмотрел на него так, что вопрос застрял в горле.
А через неделю в том же коридоре снова появилась странная тень. Она двигалась, расплывалась и исчезала, не оставляя следа. Но на этот раз в углу экрана, где раньше была пустота, мелькнул короткий звуковой сигнал — будто кто‑то пытался крикнуть, но его заглушили. И подпись к файлу изменилась: вместо имени — строка «НЕОПРЕДЕЛЕНО».
Часть 1. Видимость
Глава 1. Тестовый прогон
Лаборатория пахла озоном, пластиком и чуть‑чуть — старым кофе: запах, который въедается в стены, когда люди работают по трое суток подряд и забывают выносить кружки. В центре комнаты стоял стол с разбросанными схемами, рядом — стойка с прототипами, на которой VR‑шлем выделялся среди остального железа: массивный, угловатый, с тёмными линзами, будто не устройство, а маска.
Марк стоял перед зеркалом, которое кто‑то давно повесил на дверь кладовки, и поправлял ремешок шлема. Он улыбался, но улыбка была нервной — такой, когда хочется показать всем, что ты спокоен, хотя внутри всё поджимается от предвкушения.
— Ну, давай, — тихо сказал он шлему, будто тот мог ответить. — Покажи, на что ты способен.
Рядом, у стойки с серверами, стоял Вадим — старший инженер проекта, человек, который не верил ни в чудеса, ни в баги, только в лог‑файлы и контрольные суммы. Он смотрел на Марка с лёгкой усмешкой, в которой было больше беспокойства, чем иронии.
— Ты уверен, что хочешь это делать прямо сейчас? — спросил Вадим. — У нас ещё не все тесты пройдены. И модуль «невидимки» вообще не для открытой среды.
Марк пожал плечами, стараясь выглядеть небрежно.
— А когда будет «идеально»? Мы уже полгода сидим и смотрим, как строчки кода бегают по экранам. Надо же когда‑то проверить, работает ли это в реальности.
Вадим хмыкнул, но спорить не стал. Он знал Марка слишком давно: если тот решил, значит, сделает, даже если потом придётся откатывать систему и чинить всё вручную.
— Ладно, — сказал Вадим, открывая ноутбук. — Но только три минуты. И только в симуляции городской среды. Никаких внешних подключений, никаких камер за пределами тестового контура. Понял?
Марк кивнул, чувствуя, как внутри всё сжимается от смеси азарта и страха.
— Понял. Три минуты. Симуляция. Без внешних подключений.
Он надел шлем. Мир вокруг исчез, сменившись на цифровую проекцию: улицы, тротуары, фасады домов, светофоры, камеры на столбах — всё было выстроено с пугающей точностью, будто кто‑то сфотографировал реальный город и превратил его в код. Марк сделал шаг и почувствовал, как пол лаборатории слегка вибрирует под ногами — система тактильной обратной связи пыталась имитировать асфальт.
— Запускаю режим «невидимки», — тихо сказал Марк, нажимая виртуальную кнопку на интерфейсе.
В ту же секунду в симуляции что‑то изменилось. Камеры, которые до этого поворачивались вслед за ним, замерли. Датчики движения перестали реагировать. В интерфейсе рядом с его аватаром загорелась надпись: «Статус: невидим. Цифровой след: отсутствует».
Марк улыбнулся. Это было странно, но приятно — ощущать себя невидимым, хотя он знал, что это просто код, просто алгоритм, который говорит системе: «Не замечай меня».
Он пошёл по виртуальной улице, заглядывая в витрины, останавливаясь у светофоров, проверяя, как система на него реагирует. Ни одного уведомления, ни одного маркера, ни одного «обнаружено». Он был невидим.
Три минуты пролетели как одно мгновение. Марк снял шлем и снова увидел лабораторию: стойки, схемы, Вадима, который смотрел на него с выражением, которое Марк не мог сразу расшифровать — то ли тревога, то ли раздражение.
— Ну? — спросил Марк, снимая шлем и кладя его на стойку. — Что там в логах?
Вадим медленно закрыл ноутбук, будто не хотел показывать то, что там было.
— В логах пусто, — тихо сказал он. — Ты… ты не появляешься ни в одном отчёте за сегодня. Ни в камерах, ни в чатах, ни в отчётах о доступе. Как будто тебя вообще не было в комнате.
Марк замер, улыбка сползла с лица.
— Что значит «не было»? — переспросил он, стараясь, чтобы голос звучал спокойно. — Я же только что был здесь. Ты же видел.
Вадим посмотрел на него, и в его взгляде было что‑то, от чего Марку стало не по себе.
— Я видел, как ты надел шлем, — медленно сказал Вадим. — И видел, как снял. Но между этим… ничего. Ни одного кадра, ни одной строчки. Как будто ты исчез.
Марк рассмеялся, но смех получился нервным, натянутым.
— Это какой‑то баг, — сказал он, стараясь звучать уверенно. — Наверное, модуль «невидимки» как‑то зацепил внутренние логи. Надо откатить, проверить код.
Вадим кивнул, но не спешил открывать ноутбук.
— Может, и баг, — тихо сказал он. — Но знаешь, что самое странное? Я только что спросил у ребят из соседней комнаты, были ли они с тобой сегодня. Они сказали, что тебя не было весь день.
Марк почувствовал, как внутри что‑то сжимается, будто невидимая рука схватила его за грудь и чуть сжала.
— Они что, шутят? — спросил он, оглядываясь, будто ожидал увидеть кого‑то, кто сейчас выйдет и скажет: «Да ладно, мы просто разыграли!»
Но в лаборатории было тихо. Только гудел кондиционер, да где‑то в углу мигал индикатор на сервере.
— Не шутят, — тихо сказал Вадим. — Они искренне не помнят.
Марк подошёл к монитору, на котором выводилась запись с камеры наблюдения. На экране он увидел, как входит в лабораторию, надевает шлем… и дальше — пустота. Камера продолжала снимать пустую комнату, стойку, схемы, но не его. Как будто он растворился в воздухе.
— Этого не может быть, — тихо пробормотал Марк, глядя на экран. — Это какой‑то сбой. Ошибка в синхронизации.
Вадим положил руку ему на плечо, и этот жест был неожиданно тёплым, почти отеческим.
— Слушай, — тихо сказал он. — Давай пока не будем никому говорить. Я сам всё проверю, посмотрю логи, сравню контрольные суммы. А ты… постарайся не запускать этот режим без меня, ладно?
Марк кивнул, но внутри у него всё дрожало. Он пытался убедить себя, что это просто баг, просто ошибка в коде, которую можно исправить парой строк. Но где‑то в глубине души он понимал: это не просто сбой. Это что‑то большее. Что‑то, что стирает не только цифровой след, но и память людей.
Он отошёл к окну, посмотрел на город за стеклом: на машины, на людей, на камеры на столбах, которые смотрели на всех, кроме него. И вдруг ему стало страшно — не от того, что система ошиблась, а от того, насколько легко она могла стереть человека из реальности.
— Знаешь, — тихо сказал он, не оборачиваясь, — мне кажется, мы создали что‑то опасное.
Вадим вздохнул, подошёл к нему, встал рядом.
— Мы всегда создаём что‑то опасное, — тихо сказал он. — Вопрос в том, сможем ли мы это контролировать.
Они стояли у окна, смотрели на город, и каждый думал о своём. Марк — о том, как легко исчезнуть. Вадим — о том, как трудно потом найти того, кто стёрся из памяти системы.
Когда Марк вернулся к своему столу, он заметил на мониторе уведомление: «Обновление модуля „невидимка“: рекомендовано к установке». Он на секунду замер, потом медленно закрыл окно.
«Не сейчас», — подумал он. — «Сначала надо понять, что происходит».
Вечером, когда лаборатория опустела, Марк остался один. Он сидел перед монитором, смотрел на пустую комнату на записи камеры и пытался убедить себя, что всё в порядке. Но каждый раз, когда он смотрел на то место, где должен был быть он, ему казалось, что пустота там слишком правильная, слишком ровная — будто её специально оставили, чтобы никто не заметил, что кого‑то не хватает.
Он выключил монитор, собрал вещи и вышел на улицу. Город шумел, мигал огнями, гудел машинами, и в этом шуме было что‑то успокаивающее: здесь его видели, здесь он был реальным.
Но когда он достал телефон, чтобы вызвать такси, он вдруг заметил, что в приложении нет ни одной его поездки за сегодня. Как будто он никуда не ездил, как будто весь день не существовал.
Марк сжал телефон в руке, посмотрел на свои пальцы, на линии на коже, на шрам на запястье — старый, от велосипедной аварии, который он помнил так ясно, будто это было вчера.
«Я есть, — подумал он, глядя на шрам. — Я здесь. И я не исчез».
Но где‑то внутри, под рёбрами, всё ещё сжималось то неприятное чувство — чувство, что реальность начала сомневаться в его существовании. И это было страшнее любого кода, любого сбоя, любого бага. Потому что если система может стереть человека, то кто докажет, что он вообще был?
Глава 2. Проверка логов
Лаборатория опустела. Дневная суета сменилась вечерней тишиной, в которой каждый звук становился громче: скрип стула, тихий гул серверов, щелчок клавиши. Марк сидел перед тремя мониторами, и перед ним разворачивалась картина, которая с каждой минутой становилась всё более пугающей.
На первом экране шла перемотка записи с камеры у входа. Он видел, как люди входят и выходят: кто‑то торопится, кто‑то останавливается поправить рюкзак, кто‑то смотрит в телефон. Система автоматически помечала каждого: имя, ID, время входа, уровень доступа. Всё работало как часы — для всех, кроме него.
Он снова и снова прокручивал момент, когда сам вошёл в здание. Вот он появляется в кадре, уверенно шагает к турникету, прикладывает пропуск… и дальше — ничего. Пропуск сработал, турникет щёлкнул, но система не зафиксировала ни его лица, ни номера пропуска, ни времени прохода. Как будто он прошёл сквозь невидимую щель, которую система предпочла не замечать.
— Этого не может быть, — тихо пробормотал Марк, будто пытался убедить не экраны, а самого себя.
Рядом, на втором мониторе, бежали серверные логи. Строки текста мелькали, складываясь в историю дня: запросы, ответы, ошибки, подтверждения. Марк искал любые упоминания себя: свой логин, IP‑адрес, сессии. Он вводил разные варианты — полное имя, ник, сокращённую версию, даже старый тестовый аккаунт. Но система возвращала одно и то же: «Ничего не найдено».
Он откинулся на спинку стула, потер виски, чувствуя, как нарастает напряжение. Это был не просто сбой. Сбои бывают хаотичными: то одна строка исчезнет, то другая, то появится лишняя. А здесь была пугающая последовательность: полное, аккуратное отсутствие любых следов его присутствия.
Третий монитор показывал корпоративный мессенджер. Марк открыл свои чаты. В рабочем канале, где они обсуждали задачи проекта, не было ни одного его сообщения за сегодня. Он точно помнил, что отправлял несколько сообщений: уточнял сроки, просил Вадима проверить один из скриптов, скидывал ссылку на документацию. Но теперь этих сообщений не было. Более того, не было даже намёка на то, что он участвовал в беседе.
Марк открыл личные чаты с Вадимом. Там тоже было пусто. Ни «Привет, я на месте», ни «Посмотри логи», ни даже вчерашнего «Спокойной ночи». Как будто весь день его не существовало.
Он потянулся к телефону, разблокировал экран, открыл историю звонков. Последний вызов был вчера вечером. Сегодня — ничего. Ни входящих, ни исходящих. Он попытался вспомнить: звонил ли он кому‑нибудь? Писал? Может быть, он вообще не доставал телефон из кармана?
Но память упрямо возвращала ему детали: вот он пишет сообщение Вадиму, вот проверяет почту, вот открывает приложение такси, чтобы заказать машину после работы. Он помнил ощущение холодного стекла в руке, звук уведомления, который прозвенел, когда пришло подтверждение заказа. Он помнил всё это так ясно, что казалось невозможным, что этого не было.
И всё же экраны говорили обратное.
Марк снова вернулся к камерам. Он открыл архив с другой камеры — той, что висела в коридоре рядом с их лабораторией. На записи он снова увидел себя: вот он идёт по коридору, вот останавливается у кулера, делает глоток воды, улыбается кому‑то, кто выходит из соседней комнаты. И снова — в следующий момент его нет. Как будто система аккуратно вырезала его из кадра, оставив только фон: стены, двери, кулер.
Он увеличил изображение, пытаясь найти хоть какой‑то след: тень, блик, искажение. Но не было ничего. Даже тени.
В этот момент дверь лаборатории приоткрылась, и вошёл Вадим. Он держал в руках бумажный стаканчик с кофе и выглядел так, будто только что вернулся с улицы: волосы чуть взъерошены, куртка небрежно наброшена на плечо.
— Ты ещё здесь? — спросил Вадим, ставя стаканчик на стол. — Я думал, ты давно ушёл.
Марк медленно повернул голову, посмотрел на него. В его взгляде было не раздражение, а что‑то более глубокое — почти отчаяние.
— Посмотри, — тихо сказал Марк, указывая на мониторы. — Вот запись с камеры. Вот логи. Вот чаты. Меня нигде нет. Ни в одном отчёте, ни в одной переписке, ни в одном логе. Как будто меня не было сегодня в здании.
Вадим нахмурился, подошёл ближе, посмотрел на экраны. Он не стал сразу отмахиваться, не стал говорить, что это невозможно. Вместо этого он молча взял мышку, открыл несколько окон, проверил настройки камер, заглянул в системные журналы.
— Ладно, — наконец сказал он, откидываясь назад. — Давай проверим по‑другому. Ты сегодня заходил в систему? Входил под своим логином?
Марк кивнул.
— Конечно. Я запускал тесты, открывал репозиторий, проверял задачи в трекере.
Вадим открыл систему учёта рабочего времени. На экране появилась таблица: имена сотрудников, время входа и выхода, общее количество часов. Марк нашёл свою строку. Время входа — пусто. Время выхода — пусто. Общее время — ноль.
— Но я же входил, — тихо сказал Марк. — Я помню, как вводил пароль. Помню, как система показывала мне список задач.
Вадим посмотрел на него, и в его взгляде было сочувствие, смешанное с тревогой.
— Может, у тебя просто не засчиталось, — осторожно сказал он. — Бывает, сессия не инициализируется, если сеть лагает. Или кэш сбился.
— А камеры? — спросил Марк, голос его звучал чуть громче, чем нужно. — А чаты? А логи? Ты хочешь сказать, что везде одновременно произошёл сбой? И везде стёрлись только мои данные?
Вадим помолчал, потом тихо сказал:
— Я не говорю, что это нормально. Но давай не будем делать поспешных выводов. Давай проверим ещё кое‑что.
Он открыл систему контроля доступа к серверной. В списке были все, кто заходил туда сегодня. Имена, время, продолжительность пребывания. Марка в списке не было.
— Я заходил туда утром, — упрямо сказал Марк. — Мы вместе проверяли конфигурацию. Ты сам мне открыл дверь.
Вадим медленно кивнул.
— Да, — тихо сказал он. — Ты заходил. Я помню.
Это «я помню» прозвучало как спасательный круг. Кто‑то помнил. Кто‑то видел.
— Значит, это не моя память, — тихо сказал Марк, будто боялся спугнуть эту мысль. — Значит, проблема в системе.
Вадим снова посмотрел на экраны, потом на Марка.
— Проблема есть, — согласился он. — Но она странная. Слишком… целенаправленная. Как будто кто‑то специально стёр твои следы.
Марк вздрогнул. Мысль о том, что кто‑то мог намеренно стереть его из системы, была ещё страшнее, чем мысль о сбое.
— Кто? — тихо спросил он. — Кому это нужно?
Вадим пожал плечами, но в его жесте не было безразличия — скорее усталость от попыток найти простое объяснение.
— Не знаю, — честно сказал он. — Может, это баг модуля «невидимки». Может, он как‑то зацепил внутренние системы. Или… кто‑то тестирует что‑то ещё.
Марк снова повернулся к мониторам. Он смотрел на пустые строки, на отсутствующие записи, на аккуратные пробелы там, где должны были быть его данные. И с каждой секундой ему становилось всё страшнее не от того, что система ошиблась, а от того, насколько идеально она это сделала.
— Мне нужно больше доказательств, — тихо сказал он, больше себе, чем Вадиму. — Если это баг, он должен оставить следы. Должны быть ошибки, предупреждения, аномалии. Но здесь… здесь идеальная чистота. Как будто меня никогда не было.
Вадим кивнул.
— Тогда давай искать эти следы, — спокойно сказал он. — Давай посмотрим на более глубокие логи, на системные журналы, на бэкапы. Если что‑то стёрлось, оно могло остаться в резервных копиях.
Они работали несколько часов. Вадим открывал папки, запускал скрипты, выводил на экран строки кода, которые для обычного человека выглядели бы как бессмысленный набор символов. Марк следил за каждым словом, за каждой строкой, надеясь увидеть хоть что‑то, что подтвердит его существование.
Но везде было одно и то же: пусто. Его данные исчезали даже из бэкапов. Как будто кто‑то или что‑то шло за ними следом и аккуратно убирало все упоминания о нём.
Когда они закончили, за окном уже темнело. Город зажигал огни, и лаборатория отражалась в стекле, становясь частью этой ночной картины.









