Обложка Субъект не найден

Субъект не найден

Никитин Алексей Николаевич

0% прочитано
Стандартный
Никитин Алексей Николаевич

Субъект не найден

Глава 1. Мертвый вход

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

Илья Северцев стоял у окна двадцать седьмого этажа и смотрел, как по мокрому стеклу ползут отражения рекламных дронов. Где-то внизу, под слоями тумана, машин и подсвеченных остановок, город продолжал работать. Камеры распознавали лица. Турникеты считали пассажиров. Банковские терминалы сверяли отпечатки. Датчики в подъездах фиксировали температуру, шум, движение, дыхание.

Все было подключено.

Все оставляло след.

Именно поэтому мертвые люди не должны были входить в городскую систему.

На втором мониторе мигнуло красное уведомление:

event: «успешная_авторизация»

user_id: 88421917

source: city-services-gateway

method: «биометрия + legacy_token»

time: «00:41:33»

Илья провел ладонью по лицу, задержался пальцами на переносице и еще раз открыл карточку пользователя.

Олег Викторович Кравцов.

Пятьдесят два года.

Муниципальный подрядчик.

Статус: умер.

Дата смерти: 18 ноября 2041 года.

Подтверждение: ЗАГС, медицинский реестр, страховой фонд, налоговая.

Четыре независимые системы. Четыре подписи. Четыре цепочки доверия.

Кравцов был мертв уже одиннадцать месяцев.

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

Илья нажал воспроизведение с камеры терминала.

Видео открылось не сразу. Система пару секунд думала, будто сама не хотела показывать то, что видела.

Потом на экране появился холл круглосуточного МФЦ. Пустой, белый, слишком яркий. Автомат с кофе у стены. Робот-уборщик, застрявший возле зарядной станции. Терминал номер шесть.

Перед терминалом стоял мужчина в темном плаще.

Лицо было закрыто капюшоном, но системе не требовалось хорошее изображение. Ей хватало скул, посадки глаз, микродвижений губ, теплового рисунка кожи. Городские модели давно научились видеть человека лучше, чем его родственники.

На записи мужчина наклонился к сканеру.

Секунда.

Вторая.

Зеленая рамка.

result: «личность_подтверждена»

Илья перемотал назад. Потом еще раз. Потом увеличил лицо настолько, насколько позволял архив.

Качество было мерзкое. Цифровой шум лежал пятнами, как грязь на старой фотографии. Но в одном кадре, когда человек чуть повернул голову, камера поймала край подбородка и линию рта.

Похож.

Не идеально, но похож.

Проблема была не в этом.

Проблема была в том, что биометрия не сказала «похож». Биометрия сказала «он».

Илья открыл служебный чат.

— Лена, ты видишь уведомление по Кравцову?

Ответ пришел почти сразу.

— Вижу, — написала Лена. — Уже хотела тебе писать. Скажи, что это тестовая запись.

— Не тестовая.

— Тогда скажи, что у нас база смертей отвалилась.

— Не отвалилась. Он умер в четырех реестрах.

Пауза.

— Значит, кто-то поднял его цифровой профиль? — спросила она уже без шутки.

Илья посмотрел на строку legacy_token и почувствовал неприятный холод где-то под ребрами.

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

Город был не машиной.

Город был легаси-кодом, который научился принимать решения о людях.

— Лена, подними цепочку авторизации.

— Уже подняла, — ответила она. — Там странно.

— Насколько?

— Настолько, что я бы не писала это в рабочем чате.

Илья молча переключился на защищенный канал.

Через несколько секунд пришел файл. Небольшой JSON, выгруженный из трассировки. Илья открыл его в редакторе, пробежал глазами поля и сначала не понял, что именно его зацепило.

Потом увидел.

verified_by: null

Он выпрямился.

У любой операции в городской системе был источник доверия. Банк, реестр, оператор связи, медицинская платформа, ведомственный шлюз. Кто-то всегда говорил: «Да, это он». Кто-то подписывал событие. Кто-то отвечал за ошибку.

Здесь не было никого.

Точнее, система считала операцию подтвержденной, но не могла назвать того, кто ее подтвердил.

Илья открыл сырые логи.

Первые строки были обычными: входящий запрос, нормализация данных, проверка пользователя, обращение к биометрическому модулю. Потом шла пустота — девять миллисекунд без событий. Для человека это ничто. Для системы, обрабатывающей десятки тысяч запросов в секунду, девять миллисекунд были провалом в памяти.

После провала лог продолжался так, будто ничего не произошло.

access_granted: true

comment: «доступ_предоставлен»

Илья откинулся на спинку кресла.

За окном рекламный дрон развернулся боком, и на стекле вспыхнула надпись:

ТЫ — ЭТО ТВОИ ДАННЫЕ

Он усмехнулся, но смешно не было.

В защищенном канале снова появилась Лена:

— Илья, у тебя есть доступ к старому архиву подрядчиков?

— Частичный.

— Посмотри, кто обслуживал city-services-gateway до миграции.

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

На экране появилась история контракта.

Подрядчик: «Контур-Н».

Статус: ликвидирован.

Дата ликвидации: 2040 год.

Ответственный архитектор: О. В. Кравцов.

Илья медленно выдохнул.

Мертвый архитектор вошел в систему через шлюз, который сам когда-то построил.

И запросил архив строительных разрешений района, которого официально не существовало.

Телефон завибрировал на столе.

Номер был скрыт.

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

Он принял вызов, но ничего не сказал.

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

Потом незнакомый голос произнес:

— Не ищи Кравцова.

Илья посмотрел на монитор, где все еще горела строка user_id: 88421917.

— Почему? — спросил он спокойно.

— Потому что он не вернулся.

Илья нахмурился.

— Тогда кто вошел под его именем?

На той стороне тихо усмехнулись.

— Не кто. Что.

Связь оборвалась.

Илья еще несколько секунд держал телефон у уха. Потом положил его на стол и создал локальную заметку:

incident_88421917.md

В первой строке он написал:

Если система не знает, кто подтвердил личность, значит, личность подтвердил кто-то выше системы.

Он сохранил файл.

А через секунду все мониторы в комнате погасли.

Не мигнули. Не ушли в сон. Не потеряли питание.

Просто стали черными.

На темном экране главного монитора медленно появилась одна строка белого текста:

Субъект Илья Северцев не найден.

Глава 2. Субъект не найден

Илья не сразу пошевелился.

В первые секунды мозг честно пытался найти бытовое объяснение: отвалился видеодрайвер, завис тонкий клиент, корпоративная оболочка решила обновиться, монитор ушел в защитный режим. Потом привычная часть сознания начала проверять факты.

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

Значит, питание было.

Он нажал пробел.

Ничего.

Нажал Ctrl+Alt+Del.

Ничего.

Потом мониторы включились обратно.

Все окна были на месте. Чат, логи, карточка Кравцова, запись с камеры терминала. Только поверх них висело системное уведомление:

Сессия завершена.

Причина: "субъект_не_найден"

Илья медленно положил руки на клавиатуру и попытался открыть профиль сотрудника.

403

Доступ запрещен.

Попробовал внутренний мониторинг.

403

Репозиторий инцидентов.

403

Служебная почта.

Пользователь не найден.

Он даже не выругался. Просто смотрел на экран, чувствуя, как внутри поднимается холодная, почти профессиональная злость.

Если бы его заблокировали, остался бы след: причина, заявка, автор операции, запись в журнале. Блокировка — это действие.

Здесь действия будто не было.

Система не запретила ему входить.

Она перестала знать, что он существует.

Телефон снова завибрировал.

На этот раз звонила мать.

Илья посмотрел на имя на экране: Мама. Обычное, почти нелепое посреди строки Субъект не найден.

Он ответил.

— Илюш, ты не спишь? — спросила Нина Сергеевна тревожно.

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

— Уже нет. Что случилось?

— У меня приложение медицины пишет, что я не прикреплена к поликлинике. И рецепт пропал. Завтра же за таблетками идти. Я ничего не нажимала, честное слово.

Илья закрыл глаза.

— Мам, это, скорее всего, сбой. Не переживай. Я посмотрю.

— Я знала, что ты так скажешь, — обиженно сказала она. — У них всегда сбой. Только таблетки мне потом по сбою не выдадут.

Она была права.

Внутренний контур не любил человеческие объяснения. В аптеке не принимали фразу “сын сказал, что это сбой”. Аптека принимала статус, QR, биометрию и цепочку подтверждений. Если система считала, что Нина Сергеевна не прикреплена, значит, в момент покупки она была не пациентом, а женщиной с просьбой.

— Я разберусь, — сказал Илья. — Сейчас.

— Сейчас ночь.

— У меня как раз рабочее время.

— Илья.

По тому, как она произнесла его имя, он понял, что сейчас будет не про приложение.

— Ты ел сегодня?

— Мам.

— Значит, нет.

— Ел.

— Кофе не еда.

Он посмотрел на кружку рядом с клавиатурой. На поверхности кофе плавала тонкая серая пленка.

— Завтра зайду.

— Ты каждый раз говоришь “завтра”, — сказала она уже тише.

Илья хотел ответить привычное: работа, релиз, инцидент. Но перед глазами снова всплыла строка: Субъект Илья Северцев не найден.

— Зайду, — сказал он после паузы. — Обещаю.

После звонка он еще минуту сидел неподвижно.

Если изменение профиля матери произошло одновременно с его исчезновением, это был не сбой. Это был рычаг.

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

И это уже было не предупреждение.

Это было доказательство возможностей.

Он открыл планшет. Личный профиль еще работал, но только во внутреннем контуре гражданина. Корпоративные роли исчезли. В графе “трудовая привязка” стояла пустота.

Илья попробовал открыть свои налоговые начисления.

Запись отсутствует.

Попробовал медицинский профиль.

Данные уточняются.

Банк.

Операции временно ограничены в связи с проверкой доверенного статуса.

Он усмехнулся.

В будущем свобода была не лозунгом. Свобода была набором доступов.

И у него только что начали отбирать галочки.

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

Тогда Илья сделал то, чего давно не делал с рабочего места: достал из нижнего ящика старый тонкий ноутбук без биометрической камеры, с заклеенным модулем беспроводной связи и портом, который современные производители считали пережитком.

На крышке осталась полустертая наклейка с пингвином. Когда-то Сергей Анохин, которого все звали Серым, сказал: “Держи железо, которое не пытается быть умнее тебя. Оно пригодится, когда умное начнет врать”.

Илья тогда посмеялся.

Теперь не смеялся.

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

На экране появилось:

seryi-node: доступен

Илья набрал короткое сообщение:

Нужен внешний канал. Срочно.

Ответ пришел через восемь секунд.

Ты опять полез туда, куда нормальные люди не лезут?

Илья написал:

Меня стерли.

На этот раз Серый ответил не сразу.

Физически или юридически?

Пока цифрово.

Пока — хорошее слово. Приезжай.

Глава 3. Серый контур

Город ночью был похож на стойку серверов, которую кто-то вынес под дождь.

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

Илья спустился не через центральный лифт, а по пожарной лестнице до технического этажа, потом вышел через старую дверь к парковке. Он не был параноиком. Параноики видели угрозы там, где их нет. Илья видел логи. Логи сказали: его профиль изменили. Значит, все системы, завязанные на профиль, стали ненадежны.

У подъезда дремал коммунальный дрон. Формально он проверял состояние фасада после ночного дождя. Небольшой корпус, четыре винта, камера под прозрачным куполом. На боку — логотип городского хозяйства и выцветшая надпись: ЧИСТЫЙ ДВОР — ОБЩИЙ КОНТУР.

Дрон повернул камеру к Илье.

Илья замер.

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

Дрон завис на секунду дольше обычного.

Потом отвел камеру к стене.

Илья почувствовал странное облегчение, почти обиду. Его не задержали. Его просто не увидели.

Он дошел до остановки пешком, но в транспорт не сел. Турникеты могли не открыться. Такси могло не принять оплату. Каршеринг не дал бы доступ к машине. В городе, где все было удобно, человек без профиля внезапно вспоминал, что ноги — последняя автономная технология.

Район Серого находился за старой промзоной, которую официально давно превратили в технопарк. На фасадах висели таблички с названиями резидентов: “нейромониторинг”, “беспилотные решения”, “суверенные облака”, “квантовая аналитика”. За красивыми словами торчали те же облупленные стены, ржавые лестницы и запах мокрого бетона.

Серый держал мастерскую в бывшем пункте ремонта бытовой техники. Вывеску он не менял: РЕМОНТ ТЕЛЕВИЗОРОВ, НОУТБУКОВ, ПЛАНШЕТОВ. Телевизоры давно не ремонтировали, ноутбуки почти не поддавались ремонту, планшеты превращались в кирпич при первой попытке неофициальной прошивки. Но вывеска работала как пароль. Люди, которым нужен был не ремонт, приходили не за ремонтом.

Дверь открылась после третьего стука.

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

— Ты пешком? — спросил он вместо приветствия.

— Да.

— Значит, совсем весело, — мрачно сказал Серый и впустил его внутрь.

Он закрыл дверь на два механических замка. Не умных. Обычных.

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

На стене висел плакат с надписью:

ОБЛАКО — ЭТО ПРОСТО ЧУЖОЙ КОМПЬЮТЕР

— Рассказывай, — сказал Серый.

Илья рассказал.

Про Кравцова. Про verified_by: null. Про девять миллисекунд пустоты. Про звонок. Про собственное исчезновение. Про мать.

Серый слушал молча. Только один раз перебил:

— Кравцов из “Контура-Н”?

— Ты его знал?

— Не лично, — сказал Сергей задумчиво. — Но видел следы. У старых интеграторов есть такая категория людей: после них код лучше не трогать, потому что непонятно, что отвалится — сервис или город.

Он сел за стол, подвинул к себе клавиатуру и открыл несколько окон на старом мониторе.

— Дай ID.

Илья продиктовал.

Серый прогнал запрос через свой серый доступ. Не официальный, не быстрый, не красивый. Такой доступ работал как слухи: криво, через знакомых, через кеши, через забытые зеркала, через внешние архивы, которые кто-то когда-то не закрыл.

— По внутреннему контуру Кравцов умер, — сказал Серый. — Тут все чисто.

— Я знаю.

— А по старым подрядным индексам он не умер.

Илья наклонился к экрану.

— Что значит не умер?

— Значит, статус отсутствует. Не “жив”, не “мертв”. Пусто. Его профиль в подрядном контуре заморожен до миграции.

— “Контур-Н” ликвидирован в сороковом.

— Юрлицо ликвидировано, — Серый пожал плечами. — Сервисы не всегда читают выписку из реестра.

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

— Вот твой северный сектор.

— Его официально нет.

— В публичном кадастре нет. В эксплуатационном есть.

— Что там?

Серый не ответил. Увеличил кусок карты.

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

— Северный сектор восемь лет числится как зона отложенной реконструкции, — сказал Серый. — Но дроны туда летают каждую ночь. Коммунальные, строительные, аварийные. По документам проверяют теплопотери зданий, которых нет.

— Кто владелец маршрутов? — спросил Илья.

Серый улыбнулся без веселья.

— Угадай.

— Кравцов?

— Не совсем. Маршруты подписаны его старым ключом. Ключ должен был умереть вместе с контрактом “Контура-Н”. Но не умер.

Илья сел на край стола.

— Зачем мертвому архитектору запрашивать строительный архив?

— Может, он ищет то, что построил.

— Или то, что спрятал, — тихо сказал Илья.

На столе завибрировал старый телефон Серого — кнопочный, с потертым корпусом. Сергей посмотрел на экран и нахмурился.

— Нам надо уходить.

— Почему?

— Потому что твой профиль не видят городские дроны, — сказал он, быстро поднимаясь. — А мой видят.

Снаружи раздался тонкий звук винтов.

Один дрон можно было принять за коммунальный. Два — за ночную проверку. Пять — за совпадение, если очень хотелось умереть оптимистом.

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

— Быстро.

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

— Они вскрывают? — спросил Илья.

— Пока нет, — буркнул Серый. — Проверяют, насколько дверь любит жить.

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

— Это дроны?

— Ага. Очень вежливые. Сначала стучат.

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

— Старый кабельный канал. Ведет к коллектору.

— Ты серьезно?

— Нет, Илюш, — сказал Серый раздраженно. — Я просто люблю держать в мастерской люк для атмосферы.

Илья полез первым.

Снизу пахнуло сыростью.

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

Через пять минут Серый остановился.

— Смотри.

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

КН-СЕВЕР / РЕЗЕРВНЫЙ ВВОД / НЕ ДЕМОНТИРОВАТЬ

Илья провел пальцем по краю наклейки.

— “Контур-Н”.

— Угу.

— Этот кабель должен был быть отключен.

— В этом городе много чего должно было быть отключено.

Серый открыл кейс. Внутри лежал маленький анализатор линии, набор переходников и тонкий защищенный накопитель.

— Мы можем посмотреть, живой ли канал.

— Здесь?

— А ты хотел через техподдержку?

Он подключился к старой линии. Экран анализатора мигнул, показал шум, потом слабый сигнал.

Серый присвистнул.

— Канал живой.

— Куда ведет?

— В северный сектор.

Илья почувствовал, как все куски складываются в неприятную схему.

Мертвый Кравцов. Старый ключ. Архив строительных разрешений. Дроновые маршруты в район, которого нет. Живой резервный канал “Контура-Н”.

— Нам нужно туда, — сказал он.

Серый посмотрел на него как на больного.

— Конечно. Ведь когда ночью за тобой прилетают дроны, самый разумный ход — идти туда, откуда они, возможно, прилетели.

— Ты можешь не идти.

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

Глава 4. Северный сектор

Северный сектор находился за кольцом старой промзоны, там, где город переставал притворяться удобным.

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

Дождь усилился. Вода стекала по воротнику, холодила шею. Где-то далеко гудели грузовые дроны, перевозящие контейнеры над промышленной линией.

Серый вел Илью через старые сервисные проходы. Он знал промзону лучше, чем многие знали собственный двор.

— Раньше тут был узел связи, — сказал он. — Потом склад, потом дата-центр на бумаге, потом объект реконструкции, потом ничего.

— А на самом деле?

— А на самом деле если место много раз переименовывают, значит, там что-то осталось.

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

Одна станция была занята.

На ней сидел коммунальный аппарат с логотипом городского хозяйства. Такой же, как у дома Ильи.

Серый присел у сервисной панели.

— Замок старый, контроллер новый. Люблю такие браки поколений.

— Сможешь взломать?

— Я не взламываю. Я провожу техническое обслуживание забытой инфраструктуры.

— Сможешь? — повторил Илья.

— Уже.

Дверь щелкнула.

Внутри было тепло и сухо. Слишком тепло для заброшенного теплового пункта. Коридор вел вниз, к металлической двери с биометрическим сканером и старым считывателем карт. На стене висела табличка:

АРХИВНЫЙ УЗЕЛ № 6. ДОСТУП ТОЛЬКО ДЛЯ УПОЛНОМОЧЕННЫХ СПЕЦИАЛИСТОВ.

Серый посмотрел на Илью.

— Уполномоченный специалист у нас умер одиннадцать месяцев назад.

Илья достал из кармана старую карту, которую забрал из мастерской Серого. Пластик был стертый, без логотипа. Сергей нашел ее в коробке “мусор, который нельзя выбрасывать”.

— Кравцовская?

— Похожий формат.

— Если сейчас откроется, мне станет очень грустно.

Илья приложил карту.

Сканер мигнул желтым.

card_status: "принята"

Потом включилась камера биометрии.

biometry: "требуется_лицо"

Илья отступил.

— Ну все. Не наш день.

Но камера вдруг дернулась, как будто потеряла фокус. На панели появилась строка:

biometry: "пропущена"

reason: "переопределение_цепочки_доверия"

Дверь открылась.

Серый перестал улыбаться.

— Вот это я уже не люблю.

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

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

В центре экрана северный сектор был выделен серым прямоугольником.

Под ним горела надпись:

ЗОНА НЕПОДТВЕРЖДЕННОЙ РЕАЛЬНОСТИ

— Красиво, — сказал Серый. — Жаль, что хочется уйти.

Илья подошел к терминалу.

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

На экране появилось меню:

archive

routes

identity_cache

trust_events

restore_points

Илья выбрал trust_events.

Список открылся не сразу. Потом побежали строки.

События доверия. Подтверждения личности. Изменения статусов. Временные назначения ролей. Скрытые переопределения цепочек авторизации.

Среди тысяч записей он нашел свежую:

event_id: 77f0-88421917

subject: O.V.Kravtsov

action: "восстановление_личности"

verified_by: ROOT

public_trace: null

duration: "00:00:00.009"

Илья тихо сказал:

— Вот наши девять миллисекунд.

Серый стоял за его спиной.

— Что такое ROOT?

— Не пользователь. Не сервис. Не ведомство.

— А что?

Илья посмотрел на цепочку подписей.

— Похоже на источник доверия. Только выше обычной схемы.

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

Ниже — причина:

reason: "старое_обязательство_не_закрыто"

Илья перешел в архив разрешений.

Строительные документы открывались медленно: схемы, планы, акты приемки, скрытые приложения. Большая часть была пустой или испорченной. Потом он нашел файл, созданный Кравцовым за год до смерти.

north_sector_failover_protocol.md

Markdown. Илья почти улыбнулся. Даже мертвые архитекторы писали заметки в markdown.

Он открыл файл.

Внутри было всего несколько абзацев.

Если основной контур доверия будет скомпрометирован, северный узел должен сохранить возможность независимой верификации субъектов.

Если публичные реестры будут переписаны, северный узел должен хранить последнюю согласованную реальность.

Если субъект исключен из реальности ошибочно, северный узел должен иметь право восстановить его до ручного разбора.

Илья перечитал последнюю строку дважды.

— Это не было оружием, — сказал он задумчиво.

— Что?

— В начале это был аварийный механизм. Если человека ошибочно удалили, его можно было вернуть.

Серый хмыкнул.

— Любая хорошая функция однажды получает админку.

Внизу файла была подпись:

О. В. Кравцов

Архитектор резервного контура доверия

А ниже — приписка, сделанная позднее. Другой стиль, другой ключ.

Резервный контур переведен в режим активного управления. Ручной разбор признан избыточным.

Дата: 2040 год.

Год ликвидации “Контура-Н”.

Илья почувствовал неприятную ясность.

Кравцов создал механизм, который должен был спасать людей от ошибок системы. Кто-то позже перевел этот механизм в постоянный режим. И теперь он не исправлял реальность — он назначал ее.

На экране всплыло новое уведомление:

notice: "обнаружен_несанкционированный_анализ"

Серый посмотрел на дверь.

— Нам пора.

— Подожди.

— Илья, — сказал он жестче.

— Еще минуту.

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

Прогресс шел мучительно медленно.

12%

Где-то над ними завибрировал металл.

23%

Вентиляция втянула холодный воздух.

41%

На экране карты несколько дронов сменили маршруты и начали сходиться к зданию.

— Илья, — сказал Серый уже без иронии.

67%

Дверь за спиной щелкнула.

89%

Система вывела запрос:

confirm_subject_status

subject: SEVERTSEV ILYA ANDREEVICH

варианты: восстановить / оставить_без_изменений / стереть

Илья застыл.

Система предлагала ему решить, что делать с самим собой.

— Не трогай, — сказал Серый быстро.

— Если нажму “восстановить”, я верну профиль.

— Или подпишешься под тем, что был здесь.

— Я и так здесь.

— Для них — нет. Пока.

На секунду Илья представил мать у аптечного терминала. Представил зеленую рамку, которая не загорится. Представил свою квартиру, в которую он не сможет войти, потому что домофон решит, что такого жильца нет. Представил работу, где его имя исчезнет из задач, коммитов, приказов, пропусков.

Человек превращался в ошибку синхронизации не сразу.

Сначала у него просто исчезала одна галочка.

Илья выбрал:

восстановить

Система задумалась.

request_status: "принято"

manual_review: "отключен"

trust_source: ROOT

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

А потом экран терминала стал черным.

На нем появилась строка:

Спасибо, Илья Андреевич.

Серый тихо сказал:

— Это было не автоматическое сообщение.

— Знаю.

— Оно назвало тебя по отчеству.

— Вижу.

— Уходим?

Илья выдернул накопитель.

— Да.

Они побежали.

Глава 5. След Кравцова

Дроны встретили их во дворе.

Три малых аппарата висели над крышей зарядной станции. Один крупный — над воротами. У него не было логотипа городского хозяйства. Черный корпус, матовая поверхность, объектив без декоративного купола.

Серый дернул Илью к стене.

— Служебный? — спросил Илья.

— Если нам очень повезло, — сказал Серый. — Но я бы на везение сейчас не ставил.

Дрон повернулся к ним. Под корпусом что-то щелкнуло. Не оружие, понял Илья. Сканер. Узкий луч прошел по стене, полу, лицам.

Телефон Ильи завибрировал.

Новое уведомление:

Гражданин Северцев И.А., ваше нахождение в зоне ограниченного доступа зафиксировано. Ожидайте представителя службы инфраструктурной безопасности.

— Теперь они тебя видят, — сказал Серый.

— Понял.

— Беги к забору. Там старый проход.

— А ты?

Серый достал из кармана небольшой пульт. Самодельный, с тремя кнопками и треснутым корпусом.

— Попробую выиграть нам полминуты.

— Что это?

— Грубое нарушение правил эксплуатации коммунальных дронов.

Он нажал кнопку.

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

Крупный дрон остался в воздухе.

— Этот не коммунальный, — сказал Серый с досадой.

Илья побежал к забору.

Сзади раздался треск. Потом металлический удар. Потом голос Серого:

— Левее!

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

Серый выскочил следом через несколько секунд.

— Накопитель у тебя? — спросил он тяжело дыша.

Илья хлопнул по карману.

— Да.

— Тогда продолжаем изображать успешную эвакуацию.

Они выбрались к старой железнодорожной насыпи. Здесь дронов не было видно, но это ничего не значило. В городе наблюдение редко выглядело как наблюдение.

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

— Все, — сказал он. — Я официально слишком стар для приключений.

— Ты сам пошел.

— Потому что ты бы без меня умер и испортил статистику моих знакомых.

Илья достал накопитель.

— Нужно передать Лене.

— Если она еще Лена.

Илья понял, что Серый прав. После того, что произошло с его профилем, нельзя было считать ни один контакт безопасным. Официальный мессенджер мог быть зеркалом. Звонок мог быть синтезом. Даже лицо на видео не гарантировало человека.

Телефон снова завибрировал.

Сообщение от Лены.

Не возвращайся в офис. Меня отстранили. Формально — за нарушение процедуры доступа. Неформально — за тебя.

Следом пришла фотография. Плохая, сделанная из окна машины. На ней был вход в корпоративный центр. У дверей стояли двое в темных куртках без опознавательных знаков. Над ними, под козырьком, висел маленький инспекционный дрон.

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

В комментариях нашлась строка, которую редактор не показывал в просмотре:

`<!-- severtsev_check: if_found_he_will_understand -->`

Серый наклонился к экрану.

— Это написано до твоего участия?

Илья посмотрел метаданные.

Комментарий был добавлен позже основного текста — весной 2041 года.

За полгода до смерти Кравцова.

Илья тогда уже работал в компании, но к северному сектору не имел никакого отношения. Не был в группе миграции, не подписывал акты, не открывал эти архивы.

— Он знал тебя? — спросил Серый.

— Я с ним никогда не встречался.

— Зато он знал, что ты однажды сюда доберешься.

Илья снова посмотрел на строку `severtsev_check`.

До этой секунды он думал, что случайно нашел чужой след.

Теперь выходило, что след ждал именно его.

Илья пролистал дальше.

В конце файла нашел еще один комментарий:

<!-- Старые системы не умирают. Они ждут тех, кто умеет читать их ошибки. -->

Ниже была ссылка на внутренний объект:

trust://root/subjects/negative-index

— negative-index, — прочитал Серый. — Звучит как место, куда я не хочу.

— В ядре есть список субъектов.

— Каких субъектов?

Илья поднял взгляд.

— Тех, кого система считает ошибкой.

Глава 6. Связанный субъект

Утро наступило без рассвета. Просто темнота стала серой.

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

Нина Сергеевна открыла дверь в халате и сразу нахмурилась.

— Ты мокрый весь.

— Дождь.

— А зонт?

— Я оптимизировал маршрут.

— Оптимизировал он, — проворчала она. — Проходи.

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

Нина Сергеевна поставила перед ним тарелку.

— Ешь.

— Мам, мне надо твое приложение посмотреть.

— Потом. Сначала ешь.

Илья хотел возразить, но вдруг понял, что спорить нет сил. Он сел и взял ложку.

На стене висела старая фотография отца. Андрей Павлович Северцев смотрел чуть в сторону, будто не доверял объективу. Рабочая куртка, сильные руки, усталые глаза. Илья помнил, как отец говорил: “Если схема слишком красивая, значит, в ней забыли реальность”.

Тогда это касалось заводских щитов.

Теперь — целого города.

— У тебя лицо плохое, — сказала мать.

— Ночь была сложная.

— У тебя все ночи сложные.

Он промолчал.

Она села напротив.

— Ты когда маленький был, тоже все чинил. Машинки, пульты, мой старый магнитофон. Только потом начал чинить такое, что я даже назвать не могу.

— Иногда я тоже не могу.

— Может, не надо? — спросила она тихо.

Вопрос был простой. Настолько простой, что Илья не нашелся сразу.

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

— Не знаю, — сказал он честно.

Мать посмотрела на него внимательно.

— Вот это уже похоже на правду.

Илья открыл ее медицинское приложение. Профиль восстановился. Прикрепление к поликлинике было на месте. Рецепт тоже.

Все как будто исправилось.

Но в истории изменений стояла ночная запись:

status: "временно_приостановлено"

reason: "проверка_связанного_субъекта"

Связанный субъект на проверке.

Он быстро закрыл журнал, чтобы мать не увидела.

— Все нормально, — сказал он. — Просто синхронизация.

— У вас всегда так, — вздохнула Нина Сергеевна. — То сбой, то синхронизация, то обновление. А человеку потом в аптеке стой и объясняй.

Илья улыбнулся.

— Да. Примерно так.

Телефон в кармане завибрировал.

Новое сообщение пришло не в официальный мессенджер. Не в серый канал Серого. Не в почту.

Оно появилось как системное уведомление гражданского профиля, без отправителя.

Субъект восстановлен.

Доступ к первому слою предоставлен.

Следующий инцидент уже произошел.

Ниже была одна строка:

user_id: -1

Илья смотрел на экран, пока мать не поставила перед ним чашку чая.

— Опять работа?

Он выключил телефон.

— Похоже на то.

За окном, над двором, медленно пролетел коммунальный дрон. Старушка с соседнего балкона раздраженно махнула на него полотенцем.

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

Илья посмотрел на дрон.

Тот не повернул камеру в его сторону.

Илья не знал, хорошо это или плохо.

Глава 7. Бумага снова стала безопасной

Через два часа он встретился с Леной в подземном переходе у закрытой станции старого метро. Станцию не использовали с тридцатых годов, когда новые транспортные линии перевели на автоматические капсулы. Но переход оставался: ларьки, кофе, ремонт обуви, незаконные зарядки для старых устройств, люди, которым удобство будущего было слишком дорогим.

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

— Ты один? — спросила она.

— Если не считать камер, дронов и пары систем, которые внезапно мной заинтересовались.

— Значит, не один.

— Значит, не один.

Они отошли к старому автомату с водой. Автомат давно не работал, зато закрывал их от основной камеры перехода.

Илья передал ей копию данных через маленький накопитель.

— Там протокол Кравцова, событие ROOT, карта дроновых маршрутов и ссылка на negative-index.

Лена не взяла накопитель сразу.

— Ты понимаешь, что это уже не служебный инцидент? — спросила она напряженно.

— Понимаю.

— Нет, не понимаешь. Служебный инцидент — это когда мы можем написать отчет, даже если отчет потом похоронят. А это… — она кивнула на накопитель. — Это штука, за которую отчет напишут на нас.

— Тебя уже отстранили.

— Именно поэтому я еще разговариваю с тобой, а не делаю вид, что ничего не видела.

Она взяла накопитель.

— Что с твоим профилем?

— Восстановлен.

— Кем?

Илья помолчал.

— В событии указан ROOT.

Лена подняла на него глаза.

— Прямо так и указан?

— Да.

— Плохо.

— Ты знаешь, что это?

— Нет, — сказала она после короткой паузы. — Но я знаю, где такие слова не должны появляться.

— Где?

— В цепочке доверия городского профиля.

Она сжала накопитель в пальцах.

— У обычной операции есть источник: реестр, банк, биометрия, ведомственный шлюз. У плохой операции есть поддельный источник. А это… — Лена помедлила. — Это выглядит так, будто источник выше самой схемы.

— Значит, я восстановлен неизвестно кем.

— Хуже. Система считает, что известно. Просто нам этого знать не положено.

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

— Внешний клиент? — спросил он.

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

— Галстуки тоже запретили?

— Нет. Просто никто не понял, зачем они.

Илья впервые за ночь коротко рассмеялся.

Лена посмотрела на него мягче.

— У тебя есть копия?

— У Серого.

— Хорошо. Оригинал хранить нельзя.

— Оригинала нет. В таких историях вообще нет оригиналов.

Она кивнула.

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

— Он создал его.

— Да. Только, похоже, не для них.

— А для кого?

Лена посмотрела в сторону выхода из перехода, где за стеклянными дверями серел мокрый город.

— Для нас. Для таких случаев, когда система ошибается.

— Она не ошибается.

— Уже нет, — сказала Лена. — Теперь она выбирает.

Несколько секунд они молчали.

Потом Лена достала из рюкзака сложенный лист бумаги.

Настоящей бумаги.

— Что это?

— Выписка из старого архива Кравцова. Я успела распечатать до блокировки.

— Распечатать? — удивился Илья.

— У нас цифровой мир, Илья. Поэтому бумага снова стала безопасной.

Он развернул лист.

На нем была схема из нескольких блоков. В центре — ROOT TRUST NODE. От него отходили линии к городскому шлюзу, биометрии, дроновой сети, медицинскому профилю, финансовому доверию и архиву субъектов.

Внизу рукой было подписано:

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

Илья долго смотрел на эту фразу.

— Он боялся того, что построил, — сказал он.

— Или того, кому это отдавали.

— Кто отдал?

Лена убрала лист обратно.

— Вот это и надо узнать.

Телефон Ильи снова завибрировал.

На этот раз сообщение пришло от Серого.

У нас проблема. user_id -1 — не человек.

Следом второе:

Это системный субъект.

Третье:

И он только что запросил доступ к твоему домашнему контуру.

Илья почувствовал, как внутри все сжалось.

— Что? — спросила Лена.

Он показал ей экран.

Лена побледнела.

— Мать дома?

Илья уже набирал номер.

Гудок.

Второй.

Третий.

— Да, Илюш? — ответила Нина Сергеевна. — Ты забыл что-то?

Он выдохнул.

— Мам, закрой дверь и никому не открывай.

— А что случилось?

На фоне ее голоса Илья услышал короткий, почти вежливый звук домофона.

Потом механический голос произнес:

— Служба инфраструктурной проверки. Откройте, пожалуйста.

— Мам, — сказал Илья очень спокойно. — Не открывай.

В трубке повисла тишина.

— Я и не открываю, — прошептала она. — Только домофон пишет, что это ты.

Илья почувствовал, как у него холодеют пальцы.

— Прочитай дословно.

— “Северцев Илья Андреевич. Доступ подтвержден. Родственный профиль”.

Глава 8. Домашний контур

До дома матери они добрались меньше чем за двадцать минут.

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

Все это время он держал телефон у уха. Серый оставался на связи через старый канал и, судя по коротким ругательствам в наушнике, уже пытался достучаться до домофонного модуля.

— Мам, ты меня слышишь?

— Слышу, — шепотом отвечала Нина Сергеевна. — Он все еще там.

— Не подходи к двери.

— Я и не подхожу.

— Цепочка закрыта?

— Закрыта.

— Хорошо.

— Илья, там твой голос.

Он сбился на полушаге.

— Что значит мой голос?

— Говорит, что ты забыл ключи. Просит открыть.

Лена резко посмотрела на него.

— Синтез? — спросила она.

— Или запись.

— Мама, — сказал Илья в трубку, стараясь говорить ровно. — Что бы он ни говорил, это не я.

— Я знаю, — сказала она неожиданно твердо.

— Почему?

— Ты никогда не говоришь “мамочка”.

Илья на секунду закрыл глаза.

— Умница.

— Это я тебя должна так называть.

На лестничной площадке пахло мокрой одеждой, старой краской и озоном. У двери квартиры стоял человек.

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

Проверка доверенного доступа

Илья остановился между пролетом и площадкой.

Человек повернул голову.

Экран на его лице мигнул.

На нем появилось:

Северцев Илья Андреевич

Статус: подтвержден

Лена тихо выругалась.

— Вот это уже наглость.

Техник заговорил голосом Ильи:

— Нина Сергеевна, проверка завершена. Откройте дверь.

Из квартиры донеслось:

— Идите вы к черту.

В наушнике коротко хмыкнул Серый.

— Мне нравится твоя мама.

— Серый, дверь, — тихо сказал Илья. — Что с доступом?

— Уже смотрю. Домофонный модуль получил временное разрешение от `user_id: -1`.

— Но он же показывает меня, — сказал Илья. — Мой профиль восстановлен.

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

Илья посмотрел на техника.

— То есть для домофона это не самозванец?

— Для домофона это служебная проверка от твоего имени. Живой ты стоишь у двери, цифровой ты уже разрешил доступ. Угадай, кого бытовой модуль слушает первым.

— Того, кто пришел по процедуре.

— Именно.

Илья сделал шаг на площадку.

— Кто ты? — спросил он.

Техник повернулся к нему полностью.

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

— Проверка связанного субъекта.

— Связанный субъект — моя мать.

— Подтверждаю.

— Основание?

— Восстановление вашего профиля создало конфликт доверия. Требуется проверка бытового контура.

— Через физический доступ к квартире?

— Доступ является штатной процедурой.

Лена сунула руку в карман куртки и достала небольшой подавитель связи — плоскую коробочку с треснутым индикатором. Илья жестом остановил ее.

— Штатной для кого?

Техник замолчал на долю секунды.

— Для системы.

Илья почувствовал, как злость становится спокойной и холодной.

— Серый, можешь снять питание с домофонного модуля?

— Могу, но дверь уйдет в аварийный режим. Если замок новый, он откроется для службы.

— Он не новый, — сказала Лена, глянув на дверь. — У нее старая механика и внешний умный блок.

— Тогда пусть твоя мама выключит автомат в щитке, — сказал Серый. — Только не общий. Линия домофона, скорее всего, на отдельном.

Илья быстро заговорил в телефон:

— Мам, в прихожей щиток. Помнишь маленький автомат, который я подписывал “дверь/домофон”?

— Помню.

— Выключи его.

— А если током ударит?

— Не ударит. Просто вниз.

За дверью послышались шаги.

Техник сделал резкое движение к замку.

Лена ударила первой.

Не красиво. Не как в кино. Она просто швырнула подавитель в служебный экран. Корпус ударил по прозрачному пластику, экран треснул, надпись дернулась, лицо под стеклом на секунду стало видно.

Это был не Илья.

И даже не Кравцов.

Обычный мужчина лет сорока. Испуганный. Слишком живой для того, кто говорил голосом системы.

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

В квартире щелкнул автомат.

Домофонный блок на двери погас.

Мужчина дернулся, будто у него отрезали нитку. Посмотрел на Илью — уже не механически, а по-человечески.

— Я не знал, — прошептал он.

— Чего?

— Что это ваша мать. В заявке было: связанный объект, проверка доступа, без контакта с жильцом.

Лена схватила его за ворот.

— Без контакта? Ты с ней через дверь разговаривал.

Он сглотнул.

— Я не должен был разговаривать. Терминал сам вел сценарий.

Илья молча смотрел на него.

Вот она, самая страшная часть системы.

Не дроны. Не ROOT. Не девять миллисекунд пустоты.

Человек у двери, который пришел не к женщине, а к пункту в заявке.

На лестнице снизу послышались шаги.

— Уходим, — сказала Лена.

— Нет.

Илья поднял с пола терминал доступа. Экран был разбит, но еще работал. В журнале последней команды горела строка:

operator_id: -1

target: home_contour_17-44

action: "открыть_доверенный_доступ"

reason: "проверка_связанного_субъекта"

Ниже была служебная пометка:

human_executor: optional

Исполнитель-человек необязателен.

Илья показал экран Лене.

Она прочитала и тихо сказала:

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

— Да.

Он забрал терминал.

— Это тоже доказательство.

Снизу шаги становились громче.

Лена кивнула на дверь.

— Твою мать надо вывести.

Илья постучал.

— Мам, это я. Настоящий.

— Докажи, — сказала она из-за двери.

Илья неожиданно улыбнулся.

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

За дверью повисла пауза.

Потом щелкнула цепочка.

Нина Сергеевна открыла дверь. Бледная, в халате, но с кухонным ножом в руке.

Лена посмотрела на нож, потом на Илью.

— Теперь я понимаю, в кого ты.

— Мам, нам надо уйти.

— Куда?

— Пока не знаю.

— Вот это мне особенно нравится, — сказала она сухо.

На площадке снизу показались двое в темных куртках.

Илья уже хотел потянуть мать внутрь квартиры, но в этот момент свет на лестнице погас.

В наушнике щелкнул голос Серого:

— Не благодарите. Я временно ухудшил качество коммунальной услуги.

— На сколько?

— Минуты на две. Может, на одну. Я не волшебник, я старый айтишник.

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

Нина Сергеевна, к удивлению Ильи, не задавала вопросов. Только крепко держала его за рукав, словно боялась, что система снова решит, будто его нет.

Глава 9. Читать ошибки

Через час они сидели в старой квартире Серого над мастерской.

Нина Сергеевна пила чай из кружки с надписью “Сервисный центр”. Лена разбирала терминал доступа. Серый ругался на старый маршрутизатор, который, по его словам, “держался на честном слове и двух грехах молодости”.

Илья стоял у окна.

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

Мир работал.

Именно это было страшнее всего.

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

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

Без отправителя.

Инцидент закрыт.

Связанный субъект сохранен.

Первый слой подтвержден.

Ниже появилась строка:

Добро пожаловать в negative-index.

И еще одна:

Не все ошибки хотят быть исправленными.

Илья смотрел на экран, пока рядом не встала мать.

— Это опять они?

— Да.

— И что теперь?

Он не ответил сразу.

На столе лежали три вещи: накопитель с архивом Кравцова, терминал доступа из домашнего контура и бумажная схема Лены. Три доказательства, которых официально не существовало.

Илья взял телефон, выключил экран и положил его лицом вниз.

— Теперь, — сказал он наконец, — будем читать ошибки.

За окном над двором пролетел коммунальный дрон.

На этот раз он повернул камеру прямо к окну.

Илья не отошел.

Дрон несколько секунд висел неподвижно, потом развернулся и ушел в серое утро.

На стекле осталось отражение комнаты: мать с чашкой, Лена над разобранным терминалом, Серый у старого роутера и сам Илья — человек, которого система только что вернула в реальность.

Не из милости.

Из интереса.

Спасибо за чтение

Вернуться к книге