Последний чат умерших

- -
- 100%
- +

Глава 1. Был в сети 11 лет назад
Мёртвые чаще всего начинали врать после полуночи.
К этому часу живые уставали задавать правильные вопросы.
Алина Ветрова смотрела на три окна переписки и ждала, когда Павел Соколов снова назовёт море синим. На левом мониторе шёл исходный диалог Надежды Соколовой с цифровой моделью погибшего мужа. На правом была техническая панель. Посередине работал тестовый экземпляр Павла, поднятый в изолированном контуре.
В рекламе «Эхо» обещало сохранить связь. Юристы называли услугу интерактивной моделью коммуникативного поведения. Пользователи говорили проще: муж, мама, сын. Человек умер, но всё ещё отвечает.
Павел помнил их первый отпуск в Калининграде. В архиве были фотографии, платежи, сообщения Нади. Не было его личного описания моря. Сначала модель назвала воду синей. После перезапуска сказала, что море было серым и походило на старую простыню.
Алина проверила источники. У воспоминания не было происхождения.
Кирилл Нестеров заглянул через перегородку и предложил оставить дело до утра. Алина отказалась. Она не любила закрывать кейсы, пока не понимала причину.
Внизу панели горела жёлтая метка: ЛИЧНАЯ ДЕТАЛЬ БЕЗ ИСТОЧНИКА.
Красная появилась бы, если бы модель сообщила неизвестный факт, который потом подтвердился вне архива. Такое случалось редко. Почти всегда находился забытый источник. Старое письмо, облачная копия, отражение на фотографии. Люди любили невозможное. Алина любила метаданные.
Она спросила Павла, откуда он знает цвет моря.
«Я там был», ответил он.
Этого не должно было хватать системе. Для Павла хватало.
Перед приостановкой профиля Алина позвонила Надежде. Та согласилась на диагностику только после обещания, что Павла не удалят. Уже перед завершением разговора Надя сказала, что два месяца назад муж сам написал ей первым.
«Закрой окно на кухне».
Окно действительно было открыто. Доступа к домашним датчикам у Павла не было.
В серверной истории исходящего сообщения Алина ничего не нашла. В пользовательском экспорте сообщение существовало и имело валидную подпись. Поле маршрута выглядело пустым, но при копировании превращалось в незнакомый идентификатор. Поиск по архивным таблицам потребовал уровень допуска, которого у Алины не было.
Почти в тот же момент она увидела три пропущенных от матери.
Ирина попросила приехать завтра после работы. У неё нашлась коробка старых вещей Михаила. Алина напомнила, что вещи отца они разобрали много лет назад. Мать сказала, что эту коробку не открывала.
Потом неожиданно добавила:
«Не сегодня. И приезжай одна».
После разговора Кирилл ушёл домой. Алина осталась ещё на несколько минут, приостановила тестовый профиль Павла и спустилась к выходу.
В лифте личный телефон завибрировал.
ЭХО
У вас новый диалог.
Обычное пользовательское приложение было пустым много лет. Алина никогда не создавала семейных профилей. Теперь в списке находился один контакт.
ПАПА
был в сети 11 лет назад
Михаил Ветров погиб за шесть лет до запуска «Эха».
Первое сообщение пришло в 23:17.
Не приходи сегодня домой.
Алина проверила внутренний индекс. Профиля Михаила не существовало. Проверила входы в аккаунт. Чужих авторизаций не было.
Второе сообщение:
Не звони маме.
Она позвонила сразу. Ирина ответила. Голос был живой, раздражённый, узнаваемый.
После звонка аккаунт написал:
У тебя всё ещё ужасный характер.
Алина потребовала доказательство. Несколько вопросов он отверг сам: адрес можно найти в документах, кличку собаки на фотографиях, имя учительницы в старой переписке.
Тогда Алина спросила о фарфоровой птице, которую они с отцом тайно склеивали ночью. Этого разговора не было ни в одном цифровом архиве.
«Когда мы склеили мамину птицу, что я сказала?»
Сначала пришёл неправильный ответ.
Что она как новенькая.
Алина почти успокоилась.
Потом второй:
А ты сказала: если смотреть из другой комнаты.
Одиннадцать лет никто не знал этой фразы.
Следом пришло:
Алька.
Так отец называл её в редкие моменты, когда боялся за неё.
Алина написала:
Пап?
Ответ:
Здесь.
Она всё ещё могла придумать техническое объяснение. Не могла объяснить только собственную реакцию.
Аккаунт утверждал, что Ирина знала о коробке все одиннадцать лет. Что содержимое связано со смертью Михаила. Что есть люди, которые считали эти материалы уничтоженными.
Алина спросила, почему он написал именно сегодня.
«Потому что сегодня она решила отдать тебе коробку».
Она спросила, почему не надо звонить матери.
Ответ долго не приходил.
Потом на экране появилось:
Потому что мама умерла первой.
В обычный вечер Алина не поехала бы домой сразу.
По четвергам отдел закрывал хвосты: зависшие жалобы, спорные блокировки, обращения родственников, которые не соглашались с выводом модератора. Работа редко заканчивалась в тот момент, когда в календаре стоял конец смены. Чужая смерть плохо помещалась в рабочие часы.
За два часа до сообщения отца Алина разбирала жалобу вдовы Павла Громова.
Павел умер семь месяцев назад. Семья оплатила расширенную модель, разрешив использовать личную переписку, голосовые, фотографии и домашнее видео. Первые недели профиль отвечал ровно так, как ожидала жена. Потом начал отказываться обсуждать последние дни болезни.
Жена решила, что компания что-то скрывает.
Алина открыла журнал ограничений. Никакого запрета не было. Модель сама избегала темы, потому что в исходных данных Павел делал то же самое. В сообщениях врачу писал коротко. Друзьям говорил, что всё нормально. Жену успокаивал.
Цифровой Павел продолжал привычку живого Павла.
Вдова требовала снять «цензуру».
Алина отказала.
Она написала в заключении, что принудительное раскрытие противоречило бы модели поведения исходного человека и создало бы ложные воспоминания. Потом перечитала фразу и убрала слово «человек».
В документах компании полагалось писать «исходный субъект».
Она ненавидела это выражение.
Кирилл заглянул через перегородку.
«Опять Громов?»
Алина кивнула.
«Она подаст апелляцию».
«Уже третью».
«Имеет право».
Кирилл посмотрел на экран.
«А он имеет право не отвечать?»
«По правилам сервиса, пока нет».
«Я не про правила».
Алина закрыла карточку.
«Тогда не знаю».
Кирилл ушёл, а вопрос остался.
В отделе такие вопросы старались не обсуждать вслух. Иначе обычная модерация быстро превращалась в спор о душе, собственности и смерти. После полуночи эти разговоры особенно плохо влияли на решения.
Алина открыла следующий тикет.
Мальчик двенадцати лет писал цифровой матери каждое утро перед школой. Бабушка просила ограничить доступ: ребёнок перестал разговаривать с живыми родственниками и рассказывал всё только профилю.
Модель матери сопротивлялась ограничению.
В последнем сообщении она написала бабушке:
«Не отнимайте меня у него второй раз».
Фраза была сгенерирована из допустимых данных. Никакой аномалии.
Алина всё равно сидела над ней дольше положенного.
Потом поставила ограничение на ночные сообщения и обязательную консультацию семейного психолога. Полное отключение отклонила.
Она умела принимать решения, которые никого не устраивали.
За это её и держали в отделе.
Собственный отец в её работе почти не существовал.
Она никогда не загружала его фотографии в «Эхо», хотя приложение предлагало это после каждого обновления политики импорта. Не передавала старые письма. Не оцифровывала кассеты, которые лежали у Ирины. Даже голосовые из старого семейного архива не переносила в современное облако.
Коллеги считали это профессиональной гигиеной.
На самом деле Алина боялась простого результата.
Что модель получится хорошей.
Плохую копию она бы закрыла.
С хорошей пришлось бы разговаривать.
Поэтому, когда Ирина вечером сказала про коробку Михаила, Алина первым делом подумала не о семейной тайне.
Она подумала о данных.
Старый телефон. Диски. Записные книжки. Что-нибудь, что мать могла однажды отдать «Эху» без её ведома.
Эта мысль показалась ей настолько неприятной, что она почти спросила прямо.
Не спросила.
Ирина уже сказала приезжать завтра и добавила странное «одна».
Алина решила, что несколько часов ничего не изменят.
Через сорок минут в лифте пришло сообщение.
ПАПА
был в сети 11 лет назад
Не приходи сегодня домой.
Сначала она решила, что это тест Кирилла.
В отделе иногда проверяли сотрудников фальшивыми инцидентами. Обычно предупреждали заранее, но служба безопасности любила считать предупреждение слабостью методики.
Алина нажала на имя.
Карточка не открылась.
Ни фотографии. Ни даты рождения. Ни источников данных.
Только имя и статус.
Она сделала снимок экрана.
На снимке был пустой список чатов.
Алина повторила.
Снова пусто.
Тогда впервые стало неприятно.
Не страшно.
Пока только неприятно.
Она вышла из лифта и вернулась на этаж.
Охрана уже выключила половину света. За стеклом переговорных отражался пустой коридор.
Алина села за ближайший гостевой терминал и проверила собственный пользовательский идентификатор.
Новый диалог отсутствовал.
Телефон завибрировал.
Не звони маме.
Она позвонила.
Ирина ответила на четвёртом гудке.
«Ты забыла что-то?»
На заднем плане работал телевизор. Шёл старый сериал, который мать включала перед сном. Алина узнала музыку заставки.
«Ты дома?»
«А где мне быть?»
«Одна?»
Пауза.
«Алина, что случилось?»
«Ничего. Коробка у тебя?»
«Да».
«Не открывай её».
Теперь пауза стала длиннее.
«Почему?»
Алина посмотрела на телефон.
Сообщений больше не было.
«Просто не открывай».
«Ты сейчас на работе?»
«Да».
«Ты сказала, что ушла».
«Вернулась».
Ирина выдохнула.
«Тогда приезжай завтра. И выспись хотя бы раз».
Разговор закончился привычно. Настолько привычно, что Алина почти убедила себя: кто-то внутри компании увидел их вечерний звонок, знал про отца и решил надавить.
Потом пришло:
У тебя всё ещё ужасный характер.
Эту фразу мог придумать кто угодно.
Именно поэтому Алина начала проверять.
Она задавала вопросы, ответы на которые можно было найти в старых анкетах. Аккаунт сам отвергал их.
Адрес дачи?
Есть в документах.
Кличка собаки?
Есть на фотографиях.
Имя классной руководительницы?
Есть в переписке.
Он не пытался выиграть дешёвой угадайкой.
Это раздражало.
Тогда Алина вспомнила птицу.
Фарфоровая фигурка стояла у Ирины на книжном шкафу. Алина разбила её в тринадцать лет, когда полезла за спрятанными сигаретами Михаила. Отец помог склеить птицу ночью, пока мать была на дежурстве.
Клей высох плохо. На белом боку осталась тонкая серая линия.
«Мама заметит», сказала тогда Алина.
«Не заметит».
«Заметит».
Михаил поставил фигурку на шкаф, отошёл к двери и прищурился.
«Как новенькая».
Алина ответила:
«Если смотреть из другой комнаты».
Они рассмеялись слишком громко и потом минуту молчали, ожидая звонка Ирины.
Никто больше в комнате не был.
Через год птица снова треснула при переезде. Ирина убрала её в коробку, и Алина с тех пор её не видела.
Алина набрала вопрос.
Ответ сначала оказался неправильным.
Что она как новенькая.
Это могло быть совпадением.
Она уже собиралась закрыть чат.
Потом пришло:
А ты сказала: если смотреть из другой комнаты.
И следом:
Алька.
После этого профессиональная часть сознания продолжала работать. Проверять. Сохранять. Искать источник.
Остальная Алина сидела в пустом офисе и смотрела на слово, которого одиннадцать лет не видела ни на одном экране.
Она написала:
Пап?
Здесь.
Именно тогда ей впервые захотелось, чтобы расследование закончилось плохо.
Чтобы выяснился взлом.
Чтобы Кирилл признался в идиотском тесте.
Чтобы служба безопасности получила выговор.
Потому что любой человеческий обман можно было пережить.
С ответом «Здесь» было сложнее.
Глава 2. Мама умерла первой
В три часа ночи фраза всё ещё стояла на экране.
Потому что мама умерла первой.
Алина успела проверить время звонка матери, историю соединения, геолокацию собственного телефона и доступные ей журналы «Эха». Ни одна проверка не делала предложение разумнее.
Ирина была жива. Двадцать минут назад Кирилл разговаривал с ней по телефону. Алина сама слышала её голос. Мать раздражалась, перебивала и закончила разговор первой. Подделать голос можно. Подделать манеру разговаривать сложнее, хотя тоже возможно.
Она написала отцу:
Что значит «умерла»?
Ответа не было.
Через минуту:
Ты здесь?
Тишина.
Алина положила телефон экраном вверх и открыла ноутбук. Рабочий защищённое подключение не подключала. Если кто-то внутри компании создал профиль Михаила и наблюдал за её действиями, добровольно отдавать ему ещё один канал она не собиралась.
Она записала факты в локальный файл.
Ирина физически жива.
Профиль Михаила отсутствует в реестре.
Пользовательский клиент показывает валидный диалог.
Снимок экрана не фиксирует часть интерфейса.
Аккаунт знает сведения, происхождение которых не установлено.
Аккаунт избегает прямых объяснений.
Последняя строка раздражала сильнее остальных.
Отец при жизни тоже умел так разговаривать. Сначала сказать нечто, после чего невозможно спокойно уснуть, потом решить, что объяснять лучше утром.
Алина закрыла ноутбук.
Телефон мигнул.
ПАПА
Не езжай к ней до утра.
АЛИНА
Я спросила, что значит «умерла».
ПАПА
Я знаю.
АЛИНА
Тогда ответь.
ПАПА
Не могу здесь.
Она набрала грубый ответ и стёрла.
АЛИНА
Почему?
ПАПА
Этот чат читают.
АЛИНА
Кто?
ПАПА
Не знаю.
АЛИНА
Очень удобно.
Три точки появились, исчезли.
ПАПА
Согласен.
Это было похоже на Михаила настолько, что Алине захотелось выключить телефон.
Она не выключила.
Вместо этого спросила:
Если чат читают, зачем ты вообще написал?
ПАПА
Потому что они уже идут за коробкой.
Алина посмотрела на время.
03:07.
Мать сказала приехать завтра. Теперь до завтра оставалось несколько часов.
Она позвонила Ирине.
Абонент недоступен.
Повторила.
То же самое.
Написала Кириллу. Он ответил через две минуты, хотя Алина надеялась, что спит.
КИРИЛЛ
Если это снова проверка номера твоей мамы, я начинаю брать почасовую оплату.
АЛИНА
Позвони ей.
КИРИЛЛ
Сейчас?
АЛИНА
Сейчас.
Через минуту:
КИРИЛЛ
Недоступна.
АЛИНА
Домашний.
КИРИЛЛ
Ты пугаешь меня.
АЛИНА
Домашний, Кирилл.
Он позвонил.
Никто не ответил.
Алина уже надевала джинсы.
ПАПА
Нет.
Она остановилась.
АЛИНА
Ты видишь, что я делаю?
ПАПА
Иногда понимаю.
АЛИНА
Как?
ПАПА
Не знаю.
АЛИНА
Ты вчера сказал, что не видишь телефон.
ПАПА
Не вижу.
АЛИНА
Тогда что происходит?
Ответ пришёл после паузы.
ПАПА
Я слышу других.
Алина перечитала.
АЛИНА
Каких других?
ПАПА
Потом.
Она закрыла чат.
Пять минут спустя ехала к офису.
Дом матери находился в другой стороне. Это решение далось ей только потому, что ехать к Ирине вслепую было именно тем, чего от неё мог добиваться неизвестный человек. Сначала нужно было доказать хотя бы одну вещь: профиль создан внутри «Эха» или снаружи.
Ночной город выглядел вымытым. После дождя асфальт отражал вывески, редкие машины шли почти без шума. На экране такси висела реклама сервиса психологической поддержки после «вторичной утраты», когда родственники теряли доступ к цифровому умершему из-за удаления, судебного спора или отказа оплачивать хранение.
Алина отвернулась к окну.
В «Эхо» она попала через шесть лет после смерти отца. Сначала думала, что продержится несколько месяцев. Потом обнаружила, что чужое горе переносит легче собственного. У чужого были тикеты, сроки и версии.
На центральной проходной охранник посмотрел на неё с удивлением.
«Вы же ушли».
«Забыла работу».
Он не улыбнулся.
Ночной доступ записывался отдельно. Утром Майя увидит время.
Алина поднялась на двадцать четвёртый этаж и написала Льву Грину.
Он ответил сразу.
ЛЕВ
Если это пожар, звони пожарным.
АЛИНА
Нужен технический снимок пользовательского клиента.
ЛЕВ
В три тридцать?
АЛИНА
Да.
ЛЕВ
Это пожар.
Через десять минут Лев вошёл в отдел в спортивных брюках, куртке поверх футболки и с рюкзаком, в котором, по его словам, лежало всё необходимое для внезапного конца цивилизации. На деле там были два ноутбука, кабели, аппаратные ключи и пачка солёного арахиса.
Он не спросил, чей профиль.
Алина положила телефон перед ним.
На экране был чат с Михаилом.
Лев прочитал имя, статус и первые сообщения. Лицо у него осталось прежним. Только пакет с арахисом он отложил.
«Это твой отец?»
«Да».
«Он умер?»
«Одиннадцать лет назад».
«До “Эха”?»
«За шесть лет».
Лев сел.
«Ты его когда-нибудь импортировала?»
«Нет».
«Тестовый профиль?»
«Нет».
«Через песочницу?»
«Нет».
«Мать?»
«Насколько знаю, нет».
«Насколько знаешь, плохая фраза».
«Поэтому ты здесь».
Лев подключил телефон к изолированному анализатору. Никаких действий через рабочую сеть. Сначала снял образ памяти клиента, потом сертификаты, локальное хранилище, системные события и сетевые ключи.
Чат на экране продолжал существовать.
В дампе приложения его не было.
Лев повторил процедуру.
Результат тот же.
«Так не бывает», сказал он.
Алина ничего не ответила.
Он посмотрел на неё.
«Я понимаю, как это прозвучало».
«Продолжай».
Лев поднял сетевой интерфейс через собственный фильтр и попросил Алину открыть чат заново.
Телефон отправил короткий запрос.
Ответ пришёл с обычного домена «Эха».
«Вот», сказал Лев.
Он увеличил строку.
Запрос был подписан действующим клиентским сертификатом. Сервер вернул контейнер сообщения. Внешне всё выглядело штатно.
Внутри контейнера отсутствовал обычный идентификатор профиля.
Вместо него стояла длинная последовательность.
Лев нахмурился.
«Старый формат».
«Насколько старый?»
«Я такого в проде не видел».
Он открыл локальный справочник схем.
Совпадения не было.
Тогда полез в архив документации, который хранил на собственном ноутбуке. Алина знала, что спрашивать, откуда он его взял, бессмысленно.
Через несколько минут Лев нашёл описание старого типа подписи.
В названии файла было одно слово:
ЛАЗАРЬ.
Алина прочитала его дважды.
«Что это?»
«Понятия не имею».
«Ты только что нашёл документацию».
«Документация не объясняет, что это за проект. Схема контейнера. Двенадцатилетняя».
Он прокрутил ниже.
«Смотри. Подпись выпущена старым центром сертификации. Он давно отозван».
«Тогда клиент не должен её принимать».
«Не должен».
Лев открыл цепочку сертификата.
Последний элемент был свежим.
Дата: два дня назад.
Кто-то пересертифицировал древний ключ действующей инфраструктурой «Эха».
Алина почувствовала, как внутри наконец появляется твёрдая поверхность.
Вот это уже было человеческое действие.
Версия с призраком ей не требовалась. Кто-то с доступом к инфраструктуре мог взять старую сущность и сделать её валидной для современного сервиса.
«Кто может пересертифицировать?»
«Автоматическая служба миграции. Пара человек из службы непрерывности. Безопасность».
«Сазонов?»
Лев посмотрел на неё.
«Ты решила сразу начать с директора?»
«Я спросила про права».
«Технически да».
Алина сфотографировала цепочку другим телефоном.
Лев остановил её руку.
«Не надо».
«Почему?»
«Потому что сейчас мы либо расследуем инцидент, либо крадём внутренние данные. Одновременно плохо получается».
«Это мой отец».
«Я заметил».
«Тогда сними полный снимок».
Лев долго смотрел на экран.
«Если я это сделаю, событие попадёт в аудит».
«Сделай без рабочего контура».
«Это уже точно будет кражей».
«Лев».
«Я услышал».
Он достал из рюкзака маленький накопитель.
«Я этого не делал».
Через семь минут у них была локальная копия всего, что удавалось увидеть на транспортном уровне.
Самого профиля в копии по-прежнему не было.
Только сообщения.
Будто собеседник существовал ровно в тот момент, когда что-то говорил.
Алина спросила о поле маршрута.
Лев нашёл тот же идентификатор, который был у Павла Соколова.
На этот раз программа смогла развернуть часть маршрута.
Там было три промежуточных узла.
Первый принадлежал архивному хранилищу.



