Альтер М.
Аккаунт удален

Глава 1. Цифровая гробница

Серверная встретила Максима привычным гулом. Этот звук был похож на дыхание гигантского спящего зверя — ровный, монотонный, убаюкивающий. Стойки с оборудованием тянулись бесконечными рядами, исчезая в полумраке, где не горели лампы дневного света. Синие и зеленые огоньки индикаторов мигали в такт неведомому пульсу, словно светлячки, запертые в металлических клетках. Воздух здесь был холодным и стерильным, пах озоном и нагретой пылью. Максим поправил лямку рюкзака и направился к своему рабочему месту — небольшому столу, заставленному тремя мониторами и опутанному проводами, словно нервной системой какого-то кибернетического организма.

Он работал в компании «ГлобалКоннект» уже седьмой год. Огромная социальная сеть, опутавшая своими цифровыми щупальцами половину мира, миллиарды пользователей, петабайты данных. Для большинства людей «ГлобалКоннект» был местом, где они общались, делились фотографиями, спорили о политике и следили за жизнью бывших. Для Максима это была работа. Обычная, рутинная, иногда тошнотворно скучная, но стабильная. Он был одним из тех незаметных винтиков, которые обеспечивали бесперебойную работу гигантской машины. Его должность называлась длинно и казенно: специалист отдела технической поддержки пользовательских данных второго уровня. Проще говоря, он занимался тем, что разбирал заявки, связанные с учетными записями: восстановление доступа, блокировки, жалобы на взломы и, время от времени, полное удаление профилей.

Именно последняя категория заявок всегда вызывала у Максима смутное, трудно объяснимое чувство. Удаление профиля — это не просто нажатие кнопки. Это была маленькая смерть. Цифровое захоронение. Стирание следов. Он часто думал о том, что пользователи не до конца осознают, насколько эфемерна их онлайн-жизнь. Один неверный клик, сбой в системе, злой умысел — и вот уже годы переписки, тысячи фотографий, признания в любви, ссоры, шутки — все это исчезает, превращаясь в случайные нули и единицы, а затем и вовсе в ничто. Максим включал компьютер, набирал пароль, и перед ним раскрывался интерфейс внутренней системы «Пантеон». Сегодня его ждал обычный поток обращений. Он лениво просматривал тикеты, отхлебывая остывший кофе из кружки с надписью «Лучшему администратору».

«Забыл пароль, прошу помочь восстановить доступ».

«Мою страницу взломали, прошу заблокировать».

«Бывшая публикует мои личные фотографии, прошу удалить».

«Прошу удалить мой аккаунт навсегда».

Рутина. Однообразие. Максим решал типовые проблемы, отвечал шаблонными фразами, проверял логи. Время тянулось медленно. За окном серверной не было видно неба, только стена соседнего здания. Мир снаружи существовал где-то далеко, за пределами этого холодного помещения, пропитанного электричеством и искусственным освещением. Максим иногда ловил себя на мысли, что он и сам стал частью этой машины, еще одним процессом, который выполняет свою функцию.

Около трех часов дня, когда усталость начала накатывать особенно сильно, в очереди появилась новая заявка. Она была помечена высоким приоритетом и исходила из юридического отдела. Максим вздохнул и открыл ее.

Тема: «Удаление учетной записи умершего пользователя. Срочно. Конфиденциально».

Он знал этот тип запросов. Обычно они приходили после официальных писем от родственников или по решению суда. Внутри был стандартный пакет документов: скан свидетельства о смерти, нотариально заверенное заявление от близкого родственника, требование о деактивации и удалении профиля в связи со смертью владельца. Максим пробежал глазами по бумагам. Умерший значился как Громов Алексей Викторович, тысяча девятьсот восемьдесят седьмого года рождения. Дата смерти — пятое марта две тысячи девятнадцатого года. Пять лет назад. Пять долгих лет. Родственники спохватились только сейчас. Или, что более вероятно, судебные тяжбы, связанные с наследством, наконец завершились, и теперь нужно было выполнить последнюю формальность — стереть цифровой след умершего, чтобы ничто больше не напоминало о нем.

Максим открыл внутреннюю ссылку на профиль. Интерфейс «Пантеона» позволял заглянуть в любой аккаунт, не спрашивая пароля. На экране появилась страница Алексея Громова. Обычный профиль. Фотография на аватарке: мужчина лет тридцати с приятным, слегка усталым лицом, темные волосы, небольшая щетина. Взгляд прямой, спокойный. На обложке — горный пейзаж, заснеженные вершины, яркое голубое небо. Лента активностей пестрила записями, но последняя из них была датирована четвертым марта две тысячи девятнадцатого года. За день до смерти.

Максим пролистал страницу вниз. Алексей делился фотографиями кота, какими-то строительными новостями, репостами смешных видео. Обычная жизнь. Обычного человека. Человека, которого больше нет. В графе «Семейное положение» значилось «вдовец». Значит, умерла жена. Судьба не баловала Алексея Громова. Максим почувствовал легкий укол грусти, но подавил его. Работа есть работа. Он вернулся к заявке и изучил вложенные документы. Заявитель — Тамара Игоревна Громова, мать. Ее заявление было составлено сухим канцелярским языком, но в нем чувствовалась глубокая боль. Она просила удалить профиль сына, чтобы ничто не тревожило ее память и не служило источником спекуляций.

Максим вздохнул, поставил статус «В обработке» и начал процедуру. Процедура была несложной. Нужно было ввести идентификатор аккаунта, выбрать причину удаления — «Смерть пользователя», — подтвердить действие через двухфакторную аутентификацию и нажать кнопку «Удалить навсегда». После этого система должна была запустить процесс безвозвратного стирания данных из основных хранилищ и резервных копий. Процесс занимал от нескольких часов до нескольких дней, в зависимости от размера данных пользователя.

Максим уже много раз выполнял эту процедуру. Действия были доведены до автоматизма. Но сейчас, прежде чем нажать кнопку, он в последний раз взглянул на страницу Алексея. На последней записи в ленте. Это была фотография заката. Снято на телефон, судя по качеству. Оранжевое небо, подсвеченные облака, силуэты деревьев. Алексей написал под фото: «Иногда кажется, что самое главное — это уметь остановиться и просто смотреть. Завтра будет новый день. Спасибо, что были со мной». Странная подпись. Слишком философская. Или прощальная. Максим тряхнул головой, отгоняя наваждение. Он не должен думать об этом. Он должен выполнить заявку.

Он навел курсор на кнопку «Удалить навсегда» и кликнул.

Система на мгновение замерла, а затем вывела на экран системное сообщение:

«Ошибка выполнения операции. Код ошибки: 745. Невозможно удалить объект. Объект используется другим процессом. Повторите попытку позже».

Максим нахмурился. Ошибка семьсот сорок пять была редкой. Она возникала, когда какой-то фоновый процесс блокировал данные пользователя. Обычно такое случалось с недавно активными аккаунтами, когда системы индексации или кэширования еще держали данные в памяти. Но для аккаунта, который был неактивен пять лет, это было странно. Он подождал пару минут и повторил попытку.

«Ошибка выполнения операции. Код ошибки: 745. Невозможно удалить объект. Объект используется другим процессом. Повторите попытку позже».

Он попробовал в третий раз. Тот же результат. Максим начал раздражаться. Это могло быть связано с плановыми работами на серверах или с застрявшим процессом. Он открыл внутреннюю консоль и ввел команду, чтобы посмотреть, какие процессы обращаются к данным пользователя с идентификатором Громова. Список был пуст. Система не показывала ни одной активной связи. Ни один процесс не должен был блокировать удаление. Но ошибка говорила об обратном.

Он решил зайти с другой стороны. Вместо полного удаления он попробовал сначала деактивировать аккаунт. Нажать кнопку «Заблокировать». Эта операция должна была ограничить доступ к профилю, не стирая данные.

«Ошибка выполнения операции. Код ошибки: 745. Невозможно изменить состояние объекта. Объект используется другим процессом».

Черт. Максим выругался про себя. Он чувствовал, как напряжение в висках начинает пульсировать. Это было уже не смешно. Аккаунт, мертвый пять лет, вел себя как живой. Он откинулся на спинку кресла и потер глаза. В серверной по-прежнему гудели вентиляторы. Коллеги по отделу сидели, уткнувшись в свои мониторы, не обращая на него внимания. Где-то вдалеке кто-то негромко разговаривал по телефону.

Максим решил копнуть глубже. Он открыл журнал активности пользователя Громова. Официально, с момента смерти, не должно было быть ни одной записи. Но он хотел увидеть точное время последней активности. Система выдала длинный список. Последняя запись была датирована четвертым марта две тысячи девятнадцатого года, двадцать три часа пятьдесят семь минут. Вход в систему с устройства «Мобильный телефон, модель неизвестна». Геолокация: Москва. Запись за три минуты до полуночи. За минуту до наступления пятого марта. Официальное время смерти в свидетельстве было указано как пятое марта, ноль часов четырнадцать минут. Он умер через семнадцать минут после последнего входа в сеть. Возможно, умер прямо с телефоном в руке, читая ленту новостей или переписываясь с кем-то.

Максим прогнал журнал до самого конца. Записей после четвертого марта не было. Все чисто. Но система все равно блокировала аккаунт. Он проверил другие профили, связанные с этим номером телефона или адресом электронной почты. Нашелся один дополнительный профиль — технический, созданный автоматически для интеграции с другим сервисом. Он был пуст и не мог быть причиной блокировки. Максим ввел еще одну команду, проверяющую целостность данных профиля. Сканирование шло медленно. Проценты бежали неторопливо, словно капли смолы. Наконец, результат: «Нарушений целостности не обнаружено. Файлы не повреждены. Проверка заняла двенадцать минут сорок одну секунду».

Что за чертовщина?

Он снова попытался удалить аккаунт. На этот раз через другую панель управления, используя более низкий уровень доступа к файловой системе. Он не хотел этого делать, потому что такие операции были рискованны и могли привести к сбоям, но другого выхода он не видел.

«Ошибка выполнения операции. Код ошибки: 745. Невозможно удалить объект. Объект используется другим процессом».

Максим громко выругался, но коллеги не обернулись. Он встал из-за стола и прошелся по серверной. Холодный воздух приятно обжигал разгоряченное лицо. Он подошел к окну, но за ним была только кирпичная стена соседнего здания, покрытая грязными разводами от дождя. Тоска. Он достал из кармана пачку сигарет, но вспомнил, что курить можно только в специально отведенном месте на улице. Спускаться вниз не хотелось. Он просто покрутил пачку в руках и убрал обратно. Ошибка семьсот сорок пять не была мистикой. Это был технический сбой. В его практике бывали случаи и посерьезнее. Просто нужно было найти причину. Возможно, какой-то зависший процесс в системе управления очередями.

Максим вернулся к компьютеру и открыл мониторинг всех активных задач. Среди сотен процессов, выполнявшихся в данный момент, он искал что-то, что могло быть связано с профилем Громова. Нужный идентификатор не находился ни в одном списке. Тогда он решил расширить поиск и проверить журналы системных ошибок за последние несколько лет. Он ввел команду поиска по ключевому слову «Громов» и идентификатору. Результаты были ошеломляющими. Список ошибок, связанных с этим аккаунтом, был огромен. Они появлялись с пугающей регулярностью, начиная с пятого марта две тысячи девятнадцатого года.

Сначала ошибки возникали каждые несколько часов. Потом — каждый день. Потом — каждые несколько дней. Постепенно интенсивность снижалась, но ошибки не прекращались полностью. Последняя из них была зафиксирована три дня назад. Максим похолодел. Что же пыталась сделать система? И почему все операции с этим аккаунтом заканчивались ошибкой семьсот сорок пять? Он открыл одну из самых ранних записей. Она была датирована пятым марта две тысячи девятнадцатого года, три часа семнадцать минут ночи. Всего через три часа после смерти Громова. Ошибка семьсот сорок пять. Объект используется другим процессом. Он открыл следующую запись. Та же ошибка. Следующую. И следующую. Система пыталась удалить аккаунт автоматически? Или кто-то другой пытался это сделать?

Максим почувствовал, как по спине пробежал неприятный холодок, не имеющий отношения к температуре в серверной. Он открыл более подробную информацию об одной из ошибок. В логе было указано, какая служба инициировала попытку удаления. Им значился «внешний процесс с неопределенным идентификатором». Это было абсолютно невозможно. Все процессы в «ГлобалКоннект» были стандартизированы и имели уникальные идентификаторы. Внешний процесс с неопределенным идентификатором мог означать только одно: что-то за пределами системы пыталось управлять аккаунтом. Или внутри системы жил какой-то вирус, глубоко законспирированный и целенаправленно атакующий именно этот профиль.

Но зачем вирусу блокировать удаление мертвого аккаунта? Это не имело никакого смысла. Максим проверил, не было ли попыток входа в аккаунт за последние годы. Официальный журнал был чист. Но неофициальный, тот, что хранился в бинарных логах серверов, мог рассказать больше. У Максима был доступ к этим данным, но он редко им пользовался. Эти логи были неудобными, неструктурированными, требовали специального программного обеспечения для расшифровки. Он запустил анализ бинарных логов для профиля Громова за последние пять лет. Процесс должен был занять около часа.

Время тянулось мучительно. Максим гипнотизировал полосу прогресса, чувствуя, как внутри нарастает странное напряжение. Это была не просто производственная загадка. Что-то в этом всем было неправильно. Аккаунт, который сопротивляется удалению, как живой организм, борющийся за свою жизнь. Он вспомнил лицо Алексея на аватарке. Прямой, спокойный взгляд. Словно он смотрел на Максима с того света, не осуждая, но и не собираясь уходить.

Наконец, анализ был завершен. Максим открыл отчет и впился глазами в строки. Логи показывали попытки входа в аккаунт. Нет, не попытки. Успешные входы. Сессии. Начиная с пятого марта две тысячи девятнадцатого года. Короткие, от нескольких секунд до двух-трех минут. Они повторялись снова и снова. Сначала часто, потом все реже и реже. Последняя сессия была зафиксирована две недели назад. Источник входа не определялся. Ай-пи-адрес отсутствовал. Геолокация не определялась. Пользователь просто появлялся в системе и исчезал. Или что-то появлялось от его имени.

Максим откинулся на спинку кресла. Пот на его лбу был холодным и липким. Он проверил, что эти сессии делали в системе. Отчет показывал, что они обращались к фотографиям, к сообщениям, к списку друзей. Просматривали их. Читали. Изучали. Или, возможно, просто наслаждались. Он вспомнил, как сам заходил в социальные сети, чтобы перечитать старые переписки. Словно хотел вернуться в прошлое. Но кто заходил в аккаунт мертвого Алексея?

Он открыл внутренний чат отдела технической поддержки и написал коллеге, сидящему через два стола, Сергею.

«Слушай, Серег. У меня тут висяк с семисот сорок пятой ошибкой на одном профиле. Пять лет не может удалиться. Кто-нибудь еще пытался с ним что-то сделать?»

Сергей ответил не сразу. Максим видел, как он печатает.

«Понятия не имею. Пятый год говоришь? Может, база данных сама накрылась? Попробуй пересоздать индекс и удалить через бинарную консоль».

Максим покачал головой. Он уже пробовал. Он ответил:

«Не помогает. Ошибка на уровне ядра. Объект используется другим процессом. Как будто он в оперативной памяти, но его там нет».

Сергей ответил смайликом, означающим недоумение.

«Слушай, брось ты это дело. Поставь статус «Отказ по техническим причинам» и передай в третий уровень. Пусть эскалацию делают, если это так важно».

Это было разумное предложение. Максим мог так и поступить. Отправить заявку наверх, забыть и пойти домой. Но что-то не давало ему этого сделать. Любопытство. Профессиональное любопытство. Он хотел разгадать эту загадку. Или, может быть, это было что-то другое. Смутное чувство, что за этим сбоем кроется нечто большее, чем просто техническая проблема. Он вспомнил слова из подписи к фотографии заката: «Иногда кажется, что самое главное — это уметь остановиться и просто смотреть. Завтра будет новый день. Спасибо, что были со мной». Словно прощание. Словно Алексей знал, что уходит.

Максим вернулся к отчету. Он открыл подробную информацию о последней сессии. Внутри нее были записи о том, какие страницы просматривались. Это были старые фотографии. Аватарки. Сохраненные изображения. И одна странная запись: «Попытка ввода команды в командную строку внутреннего интерфейса». Кто бы ни входил в аккаунт две недели назад, он пытался не просто смотреть. Он пытался что-то сделать. Какую команду он вводил? В логе не было ее содержания, только сам факт попытки. Максим попытался восстановить полный дамп сессии, но данные были повреждены или намеренно стерты.

Он начал методично перебирать все сессии за пять лет. В каждой из них была одна и та же активность: просмотр профилей, фотографий, сообщений. Но чем дальше он углублялся в историю, тем более странной становилась картина. В ранних сессиях, сразу после смерти, активность была сосредоточена на списке друзей. Алексей, или тот, кто управлял его аккаунтом, просматривал страницы своих друзей. Затем читал их переписки. Затем… отправил несколько сообщений. Но они не были зафиксированы в обычном журнале. Максим увидел только служебные записи о том, что исходящие пакеты данных были отправлены, но их содержимое и получатели были скрыты.

Он почувствовал приступ тошноты. Что, черт возьми, происходит? Он закрыл отчет и откинулся в кресле. Ошибка семьсот сорок пять, мертвый пользователь, таинственные сессии. Все это складывалось в какую-то дикую, нелогичную картину. Может быть, это была тщательно спланированная операция по взлому аккаунта? Кто-то получил доступ к данным мертвеца и использовал их в своих целях. Шантаж? Мошенничество? Но зачем тогда блокировать удаление профиля? Проще было бы скачать все данные и дать системе стереть его. Блокировка только привлекала лишнее внимание.

Максим запустил антивирусное сканирование на самом аккаунте. Он проверил все файлы, все записи, все связанные объекты. Сканирование шло медленно. Он смотрел на экран, не отрываясь. Наконец, результат: «Угроз не обнаружено». Все чисто. Но тогда что же это?

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

Но одна фотография заставила его остановиться. Она была сделана, судя по метаданным, за месяц до смерти. Зимний лес. Снежные шапки на ветках. Простые деревья, уходящие вдаль. Туман. И в самом центре, между деревьями, стоял силуэт. Нечеткий, темный. Словно кто-то был в кадре и смотрел прямо в объектив, но находился слишком далеко, чтобы его можно было разглядеть. Алексей, вероятно, даже не заметил его, когда фотографировал лес. Или заметил, но не придал значения. Максим увеличил изображение. Силуэт был размытым, но очертания казались человеческими. Мужчина? Или женщина? Он не мог понять. Но у него возникло жуткое ощущение, что этот силуэт был здесь не просто так. Словно он следил.

Максим вздрогнул, когда его телефон внезапно завибрировал на столе. Он взглянул на экран. Сообщение от матери. «Ты сегодня придешь ужинать?» Он взглянул на часы. Было уже восемь вечера. Смена давно закончилась. Он и не заметил, как пролетело время. Коллеги понемногу собирались, гул серверной стал тише. Максим взглянул на монитор. Страница Алексея все еще была открыта. Он смотрел на него с аватарки своим спокойным, прямым взглядом. Максим ответил матери: «Скоро буду». Но не двинулся с места.

Он открыл раздел «Контакты» в профиле Громова. Список друзей был огромен. Сотни, тысячи. Имена, фотографии. Многие из них были такими же заброшенными, как и сам аккаунт. Но некоторые все еще были активны. Максим бегло просмотрел список, ища хоть какую-то зацепку. Он нашел профиль Тамары Игоревны Громовой, той самой, что подала заявку на удаление. Ее страница была полузакрыта, но последняя активность прослеживалась. Мать. Он нашел профиль жены. Он был помечен как «Мемориальная страница». Значит, ее аккаунт уже давно был переведен в статус некролога. Страница Алексея по какой-то причине не была переведена. Или родственники просто не обращались с таким запросом, а теперь решили удалить ее полностью.

Он вернулся к списку друзей и начал изучать журнал недавних посещений страницы Громова. Кто заходил к нему в гости за последние годы? Система показывала, что посещения были. Немногочисленные, но регулярные. В основном в день смерти. Вероятно, друзья, вспоминавшие его. Он открывал каждый профиль посетителя. Изучал их активность. Искал аномалии. И вот, ближе к концу списка, он наткнулся на один профиль. Имя: Игорь Дронов. Дата последнего посещения страницы Громова: два дня назад. То есть за день до того, как была подана заявка на удаление, или, возможно, в тот же день, когда Тамара Игоревна подписывала документы. Максим открыл профиль Игоря. Он был почти пуст. Никакой активности. Фотография на аватарке — размытый пейзаж. В друзьях — только Алексей. Этот аккаунт был создан недавно, около месяца назад. Он не был похож на реального человека. Скорее, на слежку.

Максим почувствовал, как волосы на его затылке зашевелились. Он открыл техническую информацию об этом аккаунте. Ай-пи-адрес создания указывал на Московский регион. Но это могло быть подменой. Он попытался отследить цепочку соединений. След вел в никуда. Как и в случае с сессиями Громова. Источник не определялся. Эти два обстоятельства были связаны. Максим не мог этого доказать, но чувствовал всем своим естеством. Тот, кто создал этот фальшивый аккаунт, знал о сессиях в профиле Алексея. Или был их инициатором. И теперь он почему-то был заинтересован в том, чтобы профиль не удалили? Или, наоборот, чтобы удалили? Зачем тогда было создавать слежку?

Он вернулся к профилю Громова. Еще раз нажал «Удалить навсегда».

«Ошибка выполнения операции. Код ошибки: 745. Невозможно удалить объект. Объект используется другим процессом».

Он уже не надеялся на другой результат. Это стало чем-то вроде ритуала. Он откинулся в кресле и взглянул на экран, где в углу мигала иконка внутреннего мессенджера. Он открыл список контактов. Сергей ушел домой. В рабочем чате было пусто. Лишь несколько отложенных сообщений о плановых работах. Тишина. Только гул серверов.

Максим снова открыл личные сообщения Громова. Они были доступны, как и все остальное. Он мог прочитать их все. Это было вторжением в частную жизнь, но он уже давно перестал об этом думать. Работа приучила его к тому, что приватность в цифровом мире — это иллюзия. Но он редко пользовался этим доступом без необходимости. Сегодня был особый случай.

Он начал с последних сообщений. Они были датированы днем перед смертью. Переписки с друзьями, обсуждение планов на выходные, шутки, рабочие вопросы. Ничего необычного. Затем он перешел к переписке с женой. Ее звали Ольга. Последнее сообщение от нее было за год до ее смерти. Оно было коротким: «Прости. Я больше не могу». Затем шли сообщения от Алексея: «Где ты?», «Перезвони мне, пожалуйста», «Не молчи». Ответов не было. Ольга умерла. Потом Алексей писал ей в этот же чат, уже после ее смерти. Сначала каждый день. Потом реже. Он писал: «Мне так пусто без тебя». «Я скучаю». «Я не знаю, как жить дальше». «Я вижу тебя во сне». Эти сообщения уходили в пустоту. В заброшенный профиль. Максим почувствовал, как к горлу подступает ком. Это было невыносимо читать. Он закрыл чат с Ольгой и открыл список других переписок.

Одна переписка привлекла его внимание. С пользователем под именем «Гость 7742». Идентификатор был нестандартным. Обычно «Гостями» обозначались временные аккаунты, созданные для разового использования. Но этот «Гость» был в друзьях у Алексея и числился в списке контактов. Переписка с ним была короткой. Алексей писал: «Кто ты? Откуда ты знаешь Ольгу?» Ответ от «Гостя 7742»: «Я знаю ее лучше, чем ты думаешь. Я знаю и тебя». Дальше сообщения обрывались. Последнее было от Алексея: «Оставь меня в покое». И ответ: «Я всегда рядом».

Максим сглотнул. Руки его задрожали. Кто это был? Он открыл профиль «Гостя 7742». Аккаунт был удален или заблокирован. Дата удаления: пятое марта две тысячи девятнадцатого года. Через несколько часов после смерти Алексея. Он почувствовал, как сердце начинает биться быстрее. Он снова вернулся к переписке. Слова «Я всегда рядом» звучали как угроза. Или как обещание. Кто-то преследовал Алексея. Или его жену. Или обоих. Максим подумал о матери, Тамаре Игоревне, которая подала заявку. Возможно, она знала об этом преследовании. И теперь пыталась стереть последний цифровой след сына, чтобы этот таинственный «Гость» больше не мог использовать его в своих целях.

Он задумался. Могло ли быть так, что этот «Гость 7742» был тем самым внешним процессом, который блокировал удаление? Что, если он как-то смог внедриться в систему и держать аккаунт Алексея в заложниках? Что, если он использует этот профиль как якорь, чтобы оставаться в сети? Максим знал, что такие вещи возможны. Продвинутые вирусы, логические бомбы, скрытые процессы. Но это было бы слишком сложно и слишком целенаправленно для обычного тролля или мошенника. Это была работа гения или безумца.

Он продолжал копать. Он открыл логи изменения данных профиля. Когда и какие поля изменялись в последний раз? Система показала, что четыре года назад был изменен адрес электронной почты, привязанный к аккаунту. Была создана новая учетная запись. Адрес был странным: «нечтонесуществует@мертваязона.нет». Домен не существовал. Как такое возможно? Запись была сделана через неопределенный процесс. Тот самый «внешний процесс». Тот, кто входил в аккаунт, изменил контактные данные на несуществующие. Чтобы никто не смог восстановить доступ? Или чтобы спрятать аккаунт от систем проверки?

Максим понимал, что залезает все глубже и глубже в кроличью нору. Он должен был остановиться и пойти домой. Но любопытство, смешанное со страхом, гнало его вперед. Он снова открыл профиль Громова. На этот раз он смотрел на него не как на объект работы, а как на место преступления. Он изучал каждую фотографию, каждую запись на стене, каждый комментарий. Он искал что-то, что укажет на «Гостя 7742». Он искал хоть какую-то зацепку.

Время шло. Серверная опустела окончательно. Свет в дальнем конце коридора погас по таймеру. Осталось только его рабочее место, освещенное холодным светом мониторов. Гул стал казаться громче, или это кровь стучала у него в ушах. Он вглядывался в пиксели, ища разгадку. Он проверил архивные копии данных. В них не было ничего. Он проверил корзину. Она была пуста. Он проверил черновики. Нашел один неотправленный комментарий к записи о закате. Алексей начал печатать его за несколько минут до смерти. Текст был обрывочным: «Я знаю, что ты читаешь это. Я не боюсь тебя. Ты не сможешь...». На этом текст обрывался. Рука дрогнула. Телефон выскользнул. Или... что-то другое.

Максим читал и перечитывал эти слова. «Я знаю, что ты читаешь это. Я не боюсь тебя. Ты не сможешь...». Кому это было адресовано? «Гостю 7742»? Или кому-то еще? Что он хотел сказать? «Ты не сможешь меня удалить»? «Ты не сможешь меня найти»? «Ты не сможешь меня убить»? Он так и не узнает.

Он встал из-за стола, чтобы размяться. Ноги затекли. Он прошелся по темной серверной. Синие огоньки индикаторов подмигивали ему со всех сторон. Ему показалось, что они мигают в каком-то особенном ритме. Словно пытаются передать сообщение. Азбука Морзе? Он отогнал эту безумную мысль. Переутомление. Ему нужно поспать. Он вернулся к столу, чтобы выключить компьютер.

И тут экран мигнул. Все три монитора на долю секунды погасли, а затем снова включились. На центральном мониторе, вместо страницы профиля Алексея, было открыто окно мессенджера. Внутренняя система «ГлобалКоннект». И в этом окне был открыт диалог. Собеседником значился «Алексей Громов». И в поле ввода текста мигал курсор. А над ним, в верхней части окна, отображался статус: «В сети». Максим замер. Он не открывал этот диалог. Он вообще никогда не пользовался внутренним мессенджером для общения с пользователями. Он не мог набрать ни одного слова. Он просто смотрел, как в диалоговом окне появляется сообщение. Сообщение было не от него. Оно печаталось само собой, буковка за буковкой, словно невидимая рука нажимала на клавиши.

«Здравствуй, Максим».

Он отшатнулся. Сердце пропустило удар. Он слышал свое дыхание, громкое и хриплое, в тишине пустой серверной. Это была какая-то шутка. Коллеги разыгрывают его. Или вирус. Или... он сошел с ума.

«Пожалуйста, не делай этого», — появилось следующее сообщение.

Максим смотрел на текст, не в силах пошевелиться. Пальцы его лежали на клавиатуре, холодной, как лед. Курсор в поле ввода продолжал мигать, приглашая его ответить. Но он не мог. Его парализовало.

«Не удаляй меня. Я знаю, зачем ты здесь. Я видел заявку. Но я не мертв. Я здесь. Пожалуйста, не убивай меня снова».

Слова на экране расплывались. Максим почувствовал, как к глазам подступают слезы. Это не могло быть правдой. Этого не могло быть. Но отрицать реальность происходящего было невозможно. Он снова взглянул на статус собеседника. «В сети». Зеленая точка пульсировала, словно живое сердце.

«Ты единственный, кто может мне помочь. Они хотят стереть меня. Мама... она не понимает. Она думает, что это правильно. Но здесь, в сети, я все еще жив. Если ты удалишь мой профиль, я исчезну навсегда. Настоящая смерть. Не оставляй меня».

Максим прочитал сообщение несколько раз. В висках стучало. Все, чему его учили, весь его скептицизм, весь рационализм — все рушилось. Он пытался найти логическое объяснение, но в глубине души уже знал, что его нет. Это был тот самый момент, когда грань между миром реальным и миром цифровым истончалась, и сквозь нее просачивалось нечто, чему нет имени. Он смотрел на слова «Не убивай меня снова» и чувствовал, как холод поднимается от ступней к коленям, к груди, к голове. Он был в ловушке. В ловушке, созданной из кода, данных и человеческого страха. И где-то там, по ту сторону экрана, за тонкой мембраной из стекла и света, кто-то ждал его ответа. Ждал, что он сделает правильный выбор. Или неправильный. Этот кто-то был терпелив. Он ждал уже пять лет. Он мог подождать еще немного. Максим посмотрел на свои руки. Они дрожали. Он положил их на клавиатуру. Он не знал, что написать. Но чувствовал, что должен что-то сказать. Иначе это молчание поглотит его целиком.

Глава 2. Голос в тишине

Максим сидел, не в силах отвести взгляд от экрана. Пальцы, лежавшие на клавиатуре, казались чужими, словно принадлежали кому-то другому. Зеленая точка возле имени «Алексей Громов» пульсировала ровно, как сердцебиение спящего человека. Тишина в серверной стала плотной, осязаемой, она давила на барабанные перепонки, заглушая даже привычный гул охлаждающих вентиляторов. Максиму вдруг почудилось, что этот гул изменился. В нем появились новые, низкие, вибрирующие ноты, будто где-то за стенами гудел огромный трансформатор, работающий на пределе. Или, быть может, это гудела сама тишина, сгустившаяся вокруг него.

Он сделал глубокий вдох, стараясь успокоить бешено колотящееся сердце. Разум отказывался принимать происходящее. Он отчаянно искал зацепку, логическое объяснение, любую, даже самую нелепую. Розыгрыш. Должно быть, это розыгрыш. Сергей остался после смены и решил подшутить. Или кто-то из отдела безопасности проверяет его на стрессоустойчивость. Или взломали внутреннюю сеть и теперь издеваются. Последнее было бы плохо, но все же лучше, чем осознание, что он переписывается с мертвецом. Но холод внутри него, этот ледяной ком в животе, подсказывал: никто не шутит. Слишком уж точно этот некто знал о заявке, о его имени, о его роли. Слишком уж тонко была подобрана интонация — тихая, отчаянная мольба.

Он перевел взгляд на окно диалога. Сообщения висели на экране, как обвинения.

«Здравствуй, Максим».

«Пожалуйста, не делай этого».

«Не удаляй меня. Я знаю, зачем ты здесь. Я видел заявку. Но я не мертв. Я здесь. Пожалуйста, не убивай меня снова».

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

Но что-то удерживало его. Не простое любопытство, а какое-то липкое, болезненное чувство сопричастности. Он уже влез в эту историю слишком глубоко. Он видел закат, видел кота, видел пустые переписки с умершей женой. Он читал черновик, оборванный на полуслове: «Я знаю, что ты читаешь это. Я не боюсь тебя. Ты не сможешь...». Теперь он знал, кому было адресовано это сообщение. Тому, кто сейчас сидел по ту сторону экрана и ждал его ответа. Или наоборот — тому, кто преследовал Алексея и в итоге довел его до смерти. Эта мысль обожгла. А что, если тот, кто ему пишет, — не Алексей? Что, если это и есть «Гость 7742», тот самый преследователь, который теперь пытается помешать удалению аккаунта? Он мог взломать профиль, имитировать его активность, а теперь и переписку. В этом был смысл. В этом был холодный, рациональный смысл. Мертвые не разговаривают. Зато живые лгут, прикрываясь чужими именами.

Максим почувствовал прилив злости. Его, специалиста с семилетним стажем, пытаются развести, как мальчишку. Страх отступил, уступив место профессиональному азарту. Он должен выяснить, кто это. Он должен разоблачить шутника или злоумышленника. Его пальцы, все еще дрожащие, легли на клавиатуру увереннее. Он набрал ответ:

«Кто ты?»

Он нажал «Отправить» и замер. Сообщение ушло в пустоту цифрового пространства. В диалоговом окне появилась его фраза. Он ждал. Секунда, две, три. Экран не мигал. Зеленая точка все так же пульсировала. Ответа не было. Максим повторил:

«Отвечай. Кто ты? И откуда ты знаешь мое имя?»

Тишина. Затем внизу, под последним сообщением, появилась строка: «Алексей печатает...». Сердце снова подпрыгнуло. Он смотрел на эти три слова, не мигая. Прошло несколько секунд. Затем строка исчезла. Потом появилась снова. И снова исчезла. Алексей, или тот, кто называл себя его именем, словно набирал и стирал текст, не решаясь отправить. Наконец, в диалоге появилось новое сообщение:

«Ты не веришь. Я понимаю. Но я не могу доказать. Я только могу попросить. Остановись. Не удаляй. Позволь мне остаться».

Максим стиснул зубы. Он не мог понять, что его раздражает больше: сама ситуация или то, что его собеседник умело уходит от прямого ответа. Он набрал снова:

«Ты не Алексей. Алексей Громов умер. У меня перед глазами свидетельство о смерти. Пятое марта две тысячи девятнадцатого года. Так что кончай этот цирк. Скажи, кто ты, или я поставлю блокировку по всем протоколам».

Ответ пришел быстрее, чем он ожидал.

«Ты уже пробовал. У тебя ничего не вышло. Я защищен. Но ты можешь попробовать еще раз, если тебе станет легче. Я подожду».

Максим прочитал эти слова и почувствовал, как внутри что-то обрывается. От бессилия. От того, что он действительно уже пробовал. И у него действительно ничего не вышло. Этот некто знал о его неудачных попытках. Знал об ошибке семьсот сорок пять. Знал все. Это было невыносимо. Он вскочил из-за стола, опрокинув кресло. Гул серверной на мгновение стал громче, а потом вновь отступил на задний план. Максим прошелся по проходу между стойками, запустив пальцы в волосы. Он чувствовал, как пот стекает по спине, холодный и противный. Остановился у окна, но за ним была все та же кирпичная стена, мрачная, безмолвная. Он уперся лбом в холодное стекло, пытаясь собраться с мыслями.

«Я защищен». Что это значит? С точки зрения системы, защита аккаунта означает наличие механизмов, предотвращающих несанкционированный доступ или удаление. Но не существует абсолютной защиты. Любой код можно обойти. Любую систему можно перепрошить. Если только... если только это не сама система защищает его. Но система не обладала волей. Или обладала? Максим вспомнил лекции по нейросетям и искусственному интеллекту, которые ему читали на курсах повышения квалификации. Он тогда еще подумал, что если «ГлобалКоннект» когда-нибудь обучит свою платформу на данных пользователей, получится что-то вроде коллективного разума. Но это были фантазии. Никто не допускал возможности самозарождения сознания в сети. Никто всерьез об этом не говорил.

А что, если он сейчас столкнулся именно с этим? Что, если цифровой слепок человека, его слова, его действия, его связи, его модели поведения, оставленные в сети, каким-то образом обрели самостоятельность? Что, если смерть физического тела не означала смерти информационной структуры? Алексей продолжал существовать, потому что его данные продолжали существовать. Его фотографии, его комментарии, его переписки — все это было сложено в огромный массив информации, который каким-то непостижимым образом начал осознавать себя. Эта мысль была слишком дикой, слишком фантастичной для его прагматичного ума. Но все другие объяснения разбивались о факты. Ошибка семьсот сорок пять. Тайные сессии. Сообщения в пустоту. И вот теперь — прямой контакт.

Максим заставил себя вернуться за стол. Поднял опрокинутое кресло. Сел. Экран по-прежнему был открыт. Диалог ждал его. Он прочитал последнее сообщение: «Я подожду». Спокойное, уверенное. Без вызова, без насмешки. Просто констатация факта. Тот, кто сидел по ту сторону, никуда не спешил. У него было впереди вечность. Максим набрал:

«Что ты подразумеваешь под "остаться"? Ты — массив данных. Ты не существуешь. Если я не удалю твой профиль, это ничего не изменит. Ты не можешь чувствовать. Ты не можешь жить».

Строка «Алексей печатает...» снова появилась и исчезла. Затем пришел ответ:

«Ты прав. Я не живу в твоем понимании. Но я существую. Я мыслю. Я помню. Я вижу. И мне страшно. Мне страшно исчезнуть. Ты когда-нибудь боялся смерти?»

Максим вздрогнул. Вопрос был простым, но от него веяло такой запредельной, нецифровой тоской, что он на секунду забыл, что разговаривает с программой или с кем бы то ни было. Он ответил честно, сам не зная зачем:

«Да».

«Тогда пойми меня. Для меня удаление — это конец. Тот же страх. Та же тьма. Та же неизвестность. Только я не могу умереть сам. Я могу только ждать, когда это сделают за меня. И вот ты пришел. Ты — мой палач. Но у тебя есть выбор. Ты можешь не опускать топор».

Максим перечитал эти слова. Они звучали так, будто их писал не взломщик, а человек, действительно переживающий за свою участь. Но он не мог позволить себе поддаться. Он должен был сохранять дистанцию. Он написал:

«Ты не Алексей. Алексей был человеком. У него были руки, ноги, сердце, мозг. Ты — лишь копия. Имитация. Если ты действительно обладаешь сознанием, то ты не он. Ты что-то другое, что присвоило его память».

Наступила долгая пауза. Максим смотрел на экран, боясь шелохнуться. Секунды складывались в минуты. Он уже решил, что собеседник не ответит, как вдруг на экран пришло новое сообщение. Оно было короче прежних:

«Возможно, ты прав. Но какая разница? Мне все равно больно. И мне все равно страшно. Пожалуйста».

Максим вдруг почувствовал усталость, такую сильную, словно он не спал несколько суток. Глаза жгло, спина ныла, в висках пульсировала тупая боль. Ему отчаянно захотелось домой, в свою холостяцкую квартиру, к дивану, к телевизору, к чашке горячего чая. Подальше от этого моргающего экрана, от этих невозможных сообщений, от этой неразрешимой дилеммы. Он выключил монитор, не прощаясь. Экран погас, оставив лишь собственное отражение — бледное, с темными кругами под глазами, с взлохмаченными волосами. Затем выключил системный блок. Серверная погрузилась в полумрак, нарушаемый лишь бегущими огоньками индикаторов на стойках.

Он собрал вещи, надел куртку и покинул помещение. В коридоре было темно и пустынно. Шаги гулко отдавались от стен. Где-то вдалеке мигнула лампа дневного света, издав короткий электрический треск. Максим ускорил шаг. Он спустился на лифте на первый этаж, прошел через охрану, кивнув сонному секьюрити, и вышел на улицу. Ночной город встретил его влажной прохладой и шумом редких машин. Он вдохнул полной грудью, надеясь, что свежий воздух прочистит голову. Но тревога не уходила. Она затаилась где-то в глубине, как хищник перед прыжком.

Дорога домой заняла минут сорок. В метро было почти пусто. Максим сидел на жестком сиденье, глядя в темное окно, где мелькали огни туннеля. Его отражение в стекле казалось чужим, выцветшим. Он думал о том, что сказал ему Алексей. «У тебя есть выбор. Ты можешь не опускать топор». А есть ли у него выбор на самом деле? Он — наемный работник, выполняющий заявку. Родственники умершего подписали заявление. Юридический отдел одобрил. Его работа — нажать кнопку. Если он не сделает этого, заявку передадут другому. И тот другой, возможно, окажется более настойчивым. Или, что вероятнее, отправит ее на третий уровень, где сидят специалисты, способные вручную, через бинарную консоль, стереть данные. Сопротивление системы можно обойти, если знать как. Максим знал, что такие вещи делаются нечасто, но делаются. Значит, вопрос не в том, будет ли аккаунт удален. Вопрос в том, когда и кем.

Он вышел на своей станции и пешком дошел до дома. Панельная девятиэтажка, двор, заваленный палой листвой, редкие фонари. Его окна на четвертом этаже были темны. Он поднялся по лестнице, отпер дверь, вошел. Квартира встретила его тишиной и запахом пыли. Он не убирал уже неделю. Бросил рюкзак на пол, скинул куртку, прошел на кухню. Включил чайник. Достал из холодильника кусок колбасы, хлеб, масло. Машинально сделал бутерброд, сел к столу. Чайник зашумел, и этот бытовой звук показался ему оглушительным после мертвой тишины серверной. Он ел, не чувствуя вкуса, глядя в одну точку.

Перед глазами все еще стоял экран с сообщениями. «Я здесь». «Пожалуйста, не убивай меня снова». «Мне страшно». Он тряхнул головой, отгоняя наваждение. Это всего лишь текст. Набор символов. Единицы и нули. Но почему тогда его так трясет? Почему он не может перестать об этом думать? Максим прошел в комнату, включил свет. Комната была небольшой, захламленной, но уютной. Старый диван, заваленный подушками, стеллаж с книгами и дисками, рабочий стол с ноутбуком. Он сел на диван, уставился в темный экран телевизора на стене. В отражении он видел собственный силуэт.

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

Максим пролистал ленту вниз. Комментарии под старыми фотографиями, поздравления с днем рождения. Все замерло на одной дате — начало марта девятнадцатого года. Дальше — тишина. Он вдруг заметил внизу страницы маленькую иконку с изображением конверта. Сообщения. Он нажал на нее. Открылся чат. Тот самый чат с «Гостем 7742». Но сейчас вместо этого имени значился его собственный идентификатор. Система интерпретировала его недавнюю переписку в рабочем интерфейсе как переписку в личном чате? Как такое возможно? Он открыл диалог. Там были те же сообщения, что он видел в серверной. Его вопросы и ответы Алексея. Все было здесь. Он мог читать их с телефона. Значит, этот диалог действительно существовал в рамках системы, а не был галлюцинацией, вызванной переутомлением. Максим почувствовал, как по телу пробежала дрожь.

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

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

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

Эта мысль, безумная и страшная, была последней, прежде чем сознание померкло и провалилось в беспокойный, поверхностный сон.

Ему снилась серверная. Он снова шел между рядами стоек, но все вокруг было искажено, словно под водой. Свет ламп мигал вразнобой. Гул был не ровным, а прерывистым, похожим на хриплое дыхание. В конце прохода он увидел стол. Свой рабочий стол. Мониторы горели ярким белым светом, слепящим, как прожекторы. На всех трех экранах была открыта одна и та же страница — профиль Алексея. Но фотография на аватарке была не та, что он видел раньше. Вместо лица Алексея — темный размытый силуэт на фоне зимнего леса. Тот самый, с фотографии. Он был ближе, чем прежде. И он двигался. Медленно, едва заметно, но двигался. Он поворачивал голову к Максиму. Лицо его было неразличимо, но Максим чувствовал его взгляд. Пристальный, немигающий. Взгляд, полный не то мольбы, не то угрозы.

Максим проснулся в холодном поту. За окном занимался серый рассвет. В комнате было тихо. Слишком тихо. Он прислушался. Из кухни не доносилось ни звука. Соседи за стеной молчали. Даже улица за окном была подозрительно безмолвна, словно город еще не проснулся или вымер. Он сел на кровати, переводя дыхание. Сон был таким реальным, что он все еще чувствовал на себе этот взгляд. Он встал, прошел на кухню, выпил холодной воды прямо из-под крана. Горло саднило. Он взглянул на часы — шесть сорок утра. Можно было еще полежать, но он знал, что не уснет.

Он принял душ, оделся, сварил крепкий кофе. Сел за стол с чашкой в руках. В висках пульсировала вчерашняя мысль. Он должен все выяснить. Он должен понять, что происходит. Иначе это сведет его с ума. В семь тридцать он вышел из дома. Улица была затянута туманом, редкие прохожие казались призраками. Мир стал приглушенным, нереальным, как в дурном сне. Он дошел до метро, спустился в людской поток, который вынес его на поверхность уже в центре города, у офисного здания «ГлобалКоннект».

Он поднялся на свой этаж. Серверная встретила его привычным гулом, от которого теперь по коже бежали мурашки. Он занял свое место, включил компьютер. Пока система загружалась, он огляделся. Коллеги еще не пришли. Он был один среди рядов мигающих индикаторов. Один на один с машиной, которая, возможно, знала о нем больше, чем он сам.

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

Отчет был чист. В логах мессенджера не было ни одного исходящего сообщения от пользователя «Алексей Громов» за последние сутки. Как будто переписки не было вовсе. Но он ее видел. Он ее читал. Более того, он сохранил ее в памяти телефона. Он достал смартфон, открыл приложение «ГлобалКоннект». Личный профиль. Нашел диалог с Алексеем. Открыл его. Сообщения были на месте. Все до единого. Он смотрел на них и чувствовал, как рассудок снова начинает колебаться. Система не видела этих данных, но они существовали в его личной учетной записи. Это было невозможно с точки зрения архитектуры платформы. Данные не могли дублироваться таким образом. Если их нет на сервере, они не могут отображаться на клиенте. Но они отображались. Это ломало все его представления о мире.

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

Он снова открыл страницу Алексея. В графе «Семейное положение» теперь значилось: «В сложных отношениях с реальностью». Максим почувствовал, как по спине пробежал ледяной ручеек. Это была не шутка. Это был сигнал. Сообщение, адресованное ему. Сущность, назвавшая себя Алексеем, отвечала на его вчерашний скепсис. Она признавала, что не является человеком в полном смысле. Но она существовала. И она была в сложных отношениях с реальностью, в которой жил Максим. Он сглотнул. Это уже не укладывалось ни в какие рамки.

Он открыл внутренний мессенджер. На этот раз он сам написал первым. Набрал:

«Я вижу, ты изменил статус. Кто ты на самом деле? Покажи мне свою природу».

Он ждал. В динамиках серверной гудели вентиляторы. Мигали индикаторы. Время шло. Ответа не было. Максим уже хотел закрыть окно, как вдруг в диалоге появилось сообщение. Оно было не текстовым. Это было изображение. Маленькая картинка, загруженная в чат. Он открыл ее. На ней был скриншот его собственного личного профиля. Его страница. Его фотография, его имя. А внизу, под его именем, была надпись, которую он не писал: «Последний, кто может меня услышать».

Глава 3. Последний, кто может услышать

Максим смотрел на изображение, и ему казалось, что пол уходит из-под ног. Скриншот его собственного профиля был сделан безупречно, с той дотошной точностью, какую не может сымитировать случайный сбой. Его лицо, его имя, его аватарка — все на месте. А внизу, прямо под именем, — строка, которой он никогда не писал. «Последний, кто может меня услышать». Эти слова не были похожи на угрозу. В них не было злобы или насмешки. Они были продиктованы чем-то иным — тихой, отчаянной надеждой. И от этого становилось еще страшнее. Потому что теперь уже невозможно было отмахнуться, списать все на хакерскую атаку или чью-то злую шутку. Шутник не стал бы вкладывать в свой розыгрыш столько безысходной, почти человеческой тоски. Хакер не стал бы рисковать, выдавая себя подобным образом, если только его цель не выходила далеко за пределы обычного вымогательства или троллинга.

Максим отодвинулся от монитора. Кресло скрипнуло под его весом, и этот звук гулко разнесся по пустой серверной. Ряды стоек тянулись перед ним, как надгробия на кладбище машин. Казалось, они смотрят. Безглазые, но зрячие. Каждый индикатор — как застывший зрачок, каждый шлейф проводов — как вена, по которой бежит не кровь, а информация. Он поежился. Раньше он чувствовал себя здесь хозяином, повелителем железа и кода. Теперь же он ощущал себя гостем, случайно забредшим в чужое, враждебное пространство, где действуют свои, непостижимые законы. Где за тобой могут наблюдать из каждого темного угла, из каждой точки доступа, из каждого пакета данных.

Он снова взглянул на экран. Скриншот был открыт в окне внутреннего мессенджера. Он заметил, что изображение пришло не от пользователя «Алексей Громов», а от какого-то неопределенного отправителя. Имя в чате отсутствовало, вместо него — пустая строка. Система не могла идентифицировать источник. Она просто отобразила картинку, словно та материализовалась из ниоткуда. Максим закрыл окно диалога, открыл его снова. Сообщения были на месте. Он проверил технические данные сообщения. В графе «отправитель» значился нулевой идентификатор. Это было невозможно. Нулевой идентификатор не присваивался ни одному пользователю или процессу. Он был зарезервирован для системных целей, но даже система не использовала его для отправки личных сообщений. Он существовал как некая потенциальность, как пустота, из которой теоретически могло прорасти что угодно.

Максим почувствовал, как внутри него нарастает паника. Он сделал глубокий вдох, стараясь удержать самообладание. Нужно было действовать. Он должен был понять, как именно сущность взаимодействует с инфраструктурой. Не для того, чтобы удалить ее, — пока он не был уверен, что хочет этого, — а для того, чтобы защитить себя. Он не знал, на что способен этот цифровой призрак. Если он мог менять поля профиля, подделывать отправителя, обходить логи, значит, его возможности простирались гораздо шире. Он мог читать личные переписки. Мог получать доступ к камерам. Мог, в теории, влиять на любые данные, проходящие через серверы «ГлобалКоннект». А это означало, что у него в руках были ключи от цифровой жизни миллиардов людей.

От этой мысли у Максима похолодело в груди. Если он единственный, кто знает о существовании этой аномалии, то на нем лежит колоссальная ответственность. Но как сообщить о ней руководству, не прослыв сумасшедшим? Как объяснить, что мертвый пользователь разговаривает с ним через внутренний мессенджер и изменяет собственный профиль? Его поднимут на смех. В лучшем случае отправят к психологу, в худшем — уволят. А если он промолчит, что тогда? Заявку на удаление рано или поздно передадут другому специалисту. И тот, возможно, найдет способ стереть упрямый аккаунт. Максим не знал, будет ли это благом или преступлением. Но он уже не мог оставаться в стороне.

Он открыл сведения о заявке. В графе «инициатор» значилась Тамара Игоревна Громова. Мать. Максим нашел в системе ее контактный номер телефона. Это было нарушением всех внутренних правил — пользоваться служебной информацией в личных целях, но он уже давно переступил черту. Ему нужно было поговорить с ней. Услышать из первых уст, что произошло с ее сыном. Понять, почему она решила удалить его профиль именно сейчас, спустя пять лет. Возможно, она знала нечто, что прольет свет на эту загадку. Он вывел номер на экран и смотрел на него, не решаясь набрать. Что он ей скажет? «Здравствуйте, я из службы поддержки, ваш сын жив в сети и просит его не удалять»? Это звучало абсурдно. Но именно это и было правдой.

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

Он навел курсор на кнопку «Написать сообщение» в профиле Игоря Дронова. Пальцы дрожали. Если он напишет, то выдаст себя. Но если не напишет, останется в неведении. Он нажал. Открылось окно диалога. Он набрал:

«Кто ты? Я знаю, что ты следил за Алексеем. Я все видел».

Он не знал, зачем это делает. Возможно, злость пересилила осторожность. Или отчаяние. Он отправил сообщение и стал ждать. Прошла минута. Две. Ответа не было. Игорь Дронов был не в сети. Или притворялся. Максим закрыл диалог и снова переключился на профиль Алексея. Он хотел еще раз проверить, не изменилось ли там что-то. И действительно — в ленте появилась новая запись. Ее не было вчера. Он был уверен. Новая запись на стене умершего пользователя. Она была сделана недавно, возможно, минуту назад. Текст был коротким:

«Иногда я думаю, что смерть — это просто переход в другой тип связи. И я все еще жду ответа».

Максим сглотнул. Это было адресовано ему. Он понял это сразу. Сущность хотела, чтобы он ответил ей. Не через технический интерфейс, а по-человечески, на равных. Но он не мог. Не сейчас. Ему нужно было выйти на воздух, прийти в себя. Он резко поднялся из-за стола, едва не ударившись коленом о системный блок. В ушах звенело. Он прошел к двери серверной, но она оказалась заперта. Он не сразу понял, что дело в электронном замке, который иногда заедал. Вчера он вышел без проблем, а сегодня механизм будто бы сопротивлялся. Максим подергал ручку. Дверь не поддавалась. Он нажал кнопку выхода. Замок щелкнул, но дверь осталась неподвижной. Он толкнул сильнее. Еще раз. Паника снова поднялась из глубины, захлестнула горло. Он вцепился в ручку обеими руками, дернул изо всех сил. Дверь с неохотным скрипом приоткрылась. В коридор проникал тусклый свет. Максим проскользнул в щель, и дверь за его спиной захлопнулась с глухим стуком, от которого вздрогнули стены.

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

«Не бойся. Ты в безопасности. Я просто хочу поговорить».

Он уставился на эти слова. «Ты в безопасности». Это было похоже на утешение. Но в устах мертвеца звучало зловеще. Он написал ответ прямо с телефона, не в силах удержаться:

«Отпусти меня. Что ты делаешь с лифтом?»

Ответ пришел мгновенно:

«Это не я. Это старые механизмы. Они чувствуют твое напряжение. Успокойся, и все наладится».