
Полная версия:
Измена мужа. Ты украл мои деньги через лучшую подругу!
— Мама, ты правда больна? — спросил он тихо.
Эти слова стали ножом, который повернули в ране. Медленно. Без спешки.
Я не ответила. Не могла. Горло перехватил спазм. Я развернулась и выбежала из кухни, хлопнув дверью так, что стекла задрожали.
Ванная комната стала убежищем. Белый кафель, холодный воздух, запах мятной пасты. Я заперлась, включила душ на полную громкость, чтобы заглушить собственные всхлипы, которые рвались из груди. Но я не плакала. Я злилась. Холодная, расчетливая злость UX-специалиста, который видит ошибку в системе.
«Прямые вопросы бесполезны. Он конструирует реальность. Мне нужна улика, которую невозможно интерпретировать двояко.»
Глава 4
Я достала ноутбук, который заранее спрятала в шкафчике под раковиной. Синхронизация с рабочим ПК Дениса через облако всё еще работала, несмотря на смену паролей Wi-Fi. Облачные сервисы часто имеют лаги в обновлении политик доступа. Это была моя последняя ниточка.
Пальцы летали над клавиатурой. Открыть диспетчер задач. Найти процесс синхронизации. Проверить логи уведомлений push-сервиса.
Экран мигнул. Всплыло системное уведомление от сервиса бронирования отелей, интегрированного в его рабочий профиль для командировок.
«Заказ подтвержден. Имя гостя: Denis S. Статус: Оплачено. Примечание: Velvet Room.»
Это не было спамом. Это было автоматическое подтверждение транзакции. Корпоративная карта. Тестовая среда? Нет. Реальная оплата.
Я сделала скриншот и отправила его себе на телефон. Сердце колотилось так, что отдавало в висках. «Velvet Room». Бархатная комната. Так назывался проект по внедрению новой платежной системы? Или это код названия отеля? Или это метафора?
Я вышла из ванной. Денис сидел в гостиной, играя с Соней в конструктор. Матвей читал книгу на диване. Атмосфера идиллии была настолько плотной, что воздуха не хватало.
— Денис, — позвала я. Мой голос звучал спокойно. Слишком спокойно.
Он поднял глаза. Увидев выражение моего лица, он слегка напрягся, но не потерял улыбки.
— Что случилось, родная? Голова прошла?
Я подошла к нему и протянула телефон. Экран показывал уведомление.
— «Velvet Room». Это название проекта?
Денис посмотрел на экран. Он молчал, а я считала удары сердца. Один. Два. Три.
Затем он засмеялся. Громко, искренне, запрокинув голову назад. Смех человека, который нашел смешную опечатку в документе, а не доказательство измены.
— Боже, Марина! — он вытер слезу уголком салфетки. — Ты перевела это буквально. «Velvet Room» — это внутренний код нашего нового B2B модуля для премиум-клиентов. Мы тестируем интеграцию с отельными сетями для бизнес-путешественников. Это тестовая транзакция. Я проверяю, проходит ли платеж через шлюз без блокировки банком.
Он взял телефон, показал мне код API в логах приложения. Цифры, буквы, технические термины. Всё выглядело логично. Профессионально.
— Ты привыкла видеть интерфейсы, — сказал он, глядя мне в глаза с жалостью. — Ты не видишь людей. Для тебя мир состоит из кнопок и ошибок. А это просто работа. Скучная, серая, техническая работа.
Он лгал на моем языке. Произносил знакомые термины, поворачивал экран ко мне, и я снова ловила себя на желании поверить. Он знал, что я не смогу отличить тестовый код от реального заказа, если не буду рыться в исходниках сервера, чего я не имела права делать.
Измена не опровергнута. Но она стала недоказуемой в рамках его логики. Он газлайтил меня не фактами, а интерпретацией фактов.
Я почувствовала, как внутри что-то оборвалось. Окончательно. Больше не было надежды на честный разговор. Больше не было места для просьб. Оставалась только стратегия.
Денис встал, подошел ко мне и обнял за талию. Крепко. Почти болезненно. Его рука легла на поясницу, тяжелая, как кандалы.
— Завтра я возьму отпуск, — прошептал он мне в макушку. — Мы поедем к морю. Только ты, я и дети. Без телефонов. Тебе нужно перезагрузиться, родная. Полная цифровая детоксикация. Ты увидишь, что всё хорошо. Что я люблю тебя.
Он целовал меня в висок. Мягко. Нежно.
А я смотрела на стену за его спиной, где висело семейное фото прошлым летом. На нём я улыбалась. Широко. Счастливо.
И понимала: если он всерьез соберется в поездку, я соглашусь. Я возьму чемодан. Я сяду в машину. И я буду молчать. Потому что молчание — это лучшее оружие против того, кто строит стены из слов.
Даже на берегу моря я буду считать его шаги. Его сообщения. Его метаданные.
Вакуум доверия заполнился не местью. Он заполнился льдом.
Ночь вымотала меня сильнее любой ссоры. Я просыпалась несколько раз и тянулась к телефону под подушкой: пусто, ни одного сообщения. Денис спал рядом ровно и глубоко — человек, уверенный, что потушил пожар.
Обещанное море отменилось утром: у Дениса нашлась встреча с инвесторами. Билеты он так и не купил. Теперь мы сидели за домашним компьютером и делали презентацию для детского праздника.
Руки у меня не дрожали. Это была ложь, которую я себе рассказывала, чтобы не сойти с ума. Внутри всё вибрировало, как натянутая струна перед разрывом, но пальцы лежали на клавиатуре ровно и уверенно. Я смотрела на Дениса, сидевшего рядом, на его затылок, на то, как он привычным жестом поправил очки. Он считал, что выиграл. Что моя «паранойя» — это просто усталость от материнства и работы. Что после того разговора о доверии, когда он мягко, почти ласково, намекнул мне на визит к психотерапевту, я снова стану той удобной женой, которая верит каждому его слову.
Он ошибся, решив, что сломал меня. На самом деле он только включил мой режим работы. Режим UX-исследователя, который видит не интерфейс, а баги в системе. И сейчас я искала дыру в его броне.
— Марин, ты готова? — спросил он, не оборачиваясь. Голос был бархатным, обманчиво теплым. — Презентация для детей должна быть идеальной. Они такие чувствительные к дизайну.
Я улыбнулась уголком рта. Идеальная презентация. Которую он сам же и заказал неделю назад, чтобы я отвлеклась на мелочи и не видела большого полотна. Но сегодня этот проект стал моим трояном.
— Да, конечно, — ответила я ровным голосом. — Только мне нужно зайти в твой рабочий аккаунт. Там финальные ассеты, которые ты скинул в корпоративную папку. Мои права доступа к ним ограничены из-за того инцидента с сервером на прошлой неделе. Помнишь? Ты сказал, что IT-отдел слишком осторожничает.
Денис хмыкнул, наконец поворачиваясь ко мне. В его глазах мелькнуло легкое презрение, которое он быстро скрыл под маской заботы.
— Ладно. Заходи. Я пока проверю почту.
Пароля у меня не было. После нашего «разговора» он сменил пароли на всех личных устройствах. Корпоративный ноутбук блокировал любые сторонние скрипты. Но я знала, что он использует домашний ПК для проверки рабочих документов, потому что ему нравится чувствовать себя дома продуктивным. И я знала его привычку: когда он входит в систему, он всегда оставляет окно браузера открытым на несколько секунд, прежде чем переключиться на другие задачи.
Я придвинулась к клавиатуре. Сердце пропустило удар, когда я набирала его логин. Пароль я не знала. Но мне и не нужно было знать пароль. Мне нужно было время сессии.
Пока курсор мигал в поле ввода, я незаметно коснулась экрана своего телефона, лежащего под столом. На домашнем ПК запустилась утилита, которую я подготовила заранее. Программа из моих студенческих заготовок, приспособленная к этому браузеру. Она не ломала ничего. Она просто копировала ключи авторизации, пока Денис вводил свои данные.
Система приняла вход. Экран моргнул, загружая рабочий стол компании. На телефоне под столом появилось подтверждение: копирование ключей завершено. Теперь у меня были его временные токены. На двадцать минут. Или больше, если он не выйдет из системы сразу.
Но тут возникла проблема. Денис не отошел. Он остался сидеть рядом, наблюдая за тем, как открывается его профиль. Его тень упала на мою клавиатуру, на мои руки. Если он обернется и увидит, что я смотрю не на экран монитора, а куда-то в сторону, вниз, на телефон — всё рухнет.
Он сидел так близко, что видел каждое движение моих рук. Запах его одеколона — древесный, дорогой, знакомый до тошноты; он выбирал его для встреч с клиентами. Для встреч с Леной. От этого запаха меня замутило, но я стиснула зубы. Нужно было отвлечь его. Заставить смотреть туда, где нет угрозы.
— Денис, посмотри на этот шрифт, — резко сказала я, указывая на монитор. Голос прозвучал раздраженно, даже агрессивно. — Ты используешь Montserrat Bold? Это же disaster! Он не читается на мобильных экранах. Дети будут щуриться.
Он вздохнул, потянулся к экрану, наклонился ближе. Его лицо исказилось в гримасе несогласия.
— Марин, это стандарт компании. Никто не жалуется.
— А я жалуюсь! — я повысила тон, провоцируя спор. Мне нужно было, чтобы он сосредоточился на деталях интерфейса, на пиксельной сетке. — Посмотри на кернинг здесь. Между буквами 'a' и 'n'. Это выглядит как ошибка верстки. Исправь, или я не буду делать эту презентацию.
Это работало. Его эго было задето. Он начал щуриться, наклонять голову, сравнивать варианты. Пока он боролся со шрифтами, я незаметно развернула окно командной строки на своем втором мониторе, который стоял боком и был виден только мне. Скрипт завершал работу. Логи сыпались строчками.
Глава 5
И тут я поняла, что нужных данных нет. Скрипт выдал только стандартные логи входа в Outlook и Teams. Никаких сообщений Лене. Никаких геолокаций отеля. Чисто. Слишком чисто.
Значит, они общались не через рабочие каналы. Или использовали мессенджер с автоудалением, который не синхронизировал историю локально. Или... служебный чат, который архивировался на сервере компании, а не на устройстве. Чтобы получить доступ к внутреннему API корпорации для поиска скрытых меток времени, мне нужен был ключ администратора. У меня его не было.
— Ладно, со шрифтами потом, — буркнул Денис, выпрямляясь. Он посмотрел на часы. — Мне нужно бежать на встречу с инвесторами. Ты закончила с входом?
— Почти, — соврала я. — Проверяю настройки синхронизации.
— Не задерживайся там надолго. Компьютер может зависнуть, если долго висеть в профиле.
Он встал, забрал куртку. Пауза затянулась. Он должен был выйти из системы. Если он выйдет сейчас, мои токены станут бесполезными. Но он колебался. Ему нужно было проверить одну мелочь в почте перед выходом.
— Подожди, я только письмо от юристов гляну, — пробормотал он, садясь обратно.
Моя кровь стыла. Он сидел прямо надо мной. Любое движение мыши могло выдать активность. Я замерла, даже дышать перестала. Пальцы лежали на клавиатуре неподвижно, как две белые кости.
Вдруг на втором мониторе всплыло уведомление. «Alert from InfoSec.» «Обнаружена подозрительная активность. Попытка подключения к внутренним серверам через нестандартный порт».
Алерт безопасности сработал. Кто-то из коллег Дениса или служба безопасности уже видели аномалию. Может, это был случайный сбой? Может, кто-то другой пытался взломать? Нет. Порт был специфичен. Мой скрипт.
Если Денис увидит это письмо, он поймет. Он не дурак. Он product owner. Он знает, как работают системы.
Я схватила мышку. Курсор дрогнул. Денис вскинул голову.
— Что такое?
— Баг, — выпалила я. — Браузер тормозит. Видишь, курсор дергается?
Он посмотрел на экран. Моё письмо InfoSec было закрыто вкладкой. Я успела свернуть его в фон.
— Перезагрузи страницу, — равнодушно сказал он и встал. — Всё, я побежал. Закрой за собой кабинет.
Дверь хлопнула. Тишина обрушилась на меня, как лавина.
Я осталась одна. И больше не могла удерживать руки неподвижно. Руки задрожали по-настоящему. Холодный пот выступил на спине. Я вспомнила лицо дочери, Сони. Утром она спросила: «Мам, ты больна? Папа говорит, тебе нужен отдых». Если меня поймают сейчас, если Денис узнает, что я шпионила за ним, используя его же устройство... Он заявит об этом в полицию. Корпоративное нарушение. Шантаж. Меня могут лишить прав на детей как нестабильную мать, которая подвергает опасности репутацию отца.
Страх сковал горло. Я начала дышать. Квадрат: вдох на четыре счета, задержка на четыре, выдох на четыре. Техника, которую навязал мне Денис. «Успокойся, зайка. Подыши. Ты не в состоянии аффекта». Сейчас эта техника стала моим оружием. Страх трансформировался. Он не исчез, он стал топливом. Я не жертва. Я оператор. Я нарушаю правила игры, чтобы изменить её исход.
Я открыла Tor-браузер, скачанный заранее на флешку. Трафик шел через цепочку анонимных узлов, но от корпоративных журналов это меня не спрятало бы. Чужие ключи оставались чужими. Пока сессия Дениса действовала, я выгрузила доступный ему журнал передач с рабочего профиля на личные устройства сотрудников. Метаданные не врут. Время отправки, IP-адрес получателя, размер файла. Даже если текст удален, след остается.
По найденной в журнале ссылке я запустила загрузку резервной копии в свой защищенный раздел. Теперь оставалось ждать, чувствуя, как кончики пальцев немеют. Экран мигал зелеными цифрами. Одна минута. Две. Три.
Вдруг дверь кабинета скрипнула.
Денис вернулся. Раньше обычного. Он забыл ключи от машины? Или почувствовал неладное? Инстинкт зверя, загнанного в угол.
Я рванула мышку, сворачивая все окна. Alt+Tab. Alt+F4. Монитор показывал пустой рабочий стол. Windows 11. Чистота. Идеальная иллюзия порядка.
Сердце колотилось так громко, что я слышала пульс в ушах. Шаги. Медленные, размеренные. Он вошел в комнату.
— Забыл документы на принтере, — сказал он спокойно, подходя к столу.
Его тень накрыла меня. Он остановился сзади. Я чувствовала тепло его тела, запах кофе и сигарет (он курил на улице, хотя запрещал это делать дома).
Он положил руку мне на плечо. Жест власти. Проверка на стресс. Если бы я дернулась, если бы я вздрогнула сильнее, чем нужно — он бы понял.
— Твой пульс учащен, Марина, — тихо произнес он, наклоняясь к моему уху. Его голос был низким, вибрирующим. — Ты нервничаешь? Почему?
Я медленно повернула голову. Посмотрела ему в глаза. В них читалось любопытство. Не злоба. Любопытство исследователя, который заметил аномалию в поведении субъекта.
— Просто устала, Денис, — выдавила я улыбку. — Голова болит. Этот шрифт... он меня бесит.
Он изучал мое лицо секунду. Долгую, вечную секунду. Потом его рука соскользнула с плеча.
— Пей чай. Ромашковый. Иди спать пораньше.
Он забрал листки с принтера и вышел.
Позже на кухне я сидела на табуретке, обхватив кружку горячего чая. Пар поднимался вверх, размывая контуры комнаты. Я смотрела на свои руки. Они все еще были влажными от пота.
Из гостиной доносился звук работающего телевизора. Новости. Голос диктора монотонно перечислял цифры инфляции. Обычная жизнь. Спокойная, безопасная, лживая жизнь.
Я достала телефон. Экран светился в полумраке.
Скрипт завершился.
Загрузка закончилась. Нужный файл был не в основной рабочей папке, а в теневой директории, синхронизируемой с его личным iPhone. Система хранения резервных копий мессенджера, которую он почему-то оставил активной, привязанной к рабочему профилю. Ошибка администрирования. Или высокомерие.
Открыв файл, я ожидала увидеть любовные письма. Фотографии отелей. Свидетельства измены.
Вместо этого я увидела PDF-документ с названием «Марина_план_Б.pdf».
Я кликнула на него. Палец замер над экраном.
Документ открывался медленно, словно проверяя мою реакцию.
На первой странице был график. Диаграмма падения моих показателей эффективности на работе за последние полгода. Аннотации красным маркером: «Неустойчивое эмоциональное состояние», «Конфликт с коллегами», «Параноидальные черты».
На второй странице — черновик служебной записки на имя HR-директора. Текст был составлен Денисом. Он предлагал перевести меня на неполную ставку «по медицинским показаниям» с последующим увольнением по соглашению сторон. Выплата — символическая. Условия — полный отказ от раздела имущества, обоснованный «финансовой несостоятельностью жены из-за проблем с головой».
Дата документа: три месяца назад.
Задолго до того, как я услышала шепот Лены.
Задолго до того, как он начал говорить о моей «паранойе».
Я перечитывала строки, и холод разливался по телу, заменяя собой страх. Это была не измена. Это была операция. Я была не женой, которую он предал. Я была расходным материалом. Активом, который нужно было списать, чтобы освободить место для чего-то более выгодного. Или просто чтобы избавиться от неудобного свидетеля его собственной двойной жизни.
Лена была лишь инструментом, приманкой, частью схемы, чтобы вывести меня из равновесия, заставить сорваться, показать свою «неадекватность». Его план работал. Почти.
Если бы я не нашла этот файл, если бы я продолжала верить в свою болезнь, через три месяца я бы вышла из этой квартиры с одним чемоданом и клеймом сумасшедшей.
Я подняла взгляд от телефона. Погасив экран, я увидела в нем свое лицо. Бледное, с впавшими щеками, но с глазами, в которых горел новый огонь. Не ярость. Холодная, кристальная ясность.
Денис думал, что контролирует хаос. Он не знал, что я только что получила карту этого хаоса. И на карте был отмечен путь к его разрушению.
Я нажала кнопку «Скачать». Файл сохранился в защищенный раздел на моем личном диске.
Закрыв телефон, я допила остывший чай. Горечь трав смешалась с привкусом металла во рту.
Завтра я начну собирать доказательства не измены. А мошенничества. И утечки данных. Потому что в этом документе, среди графиков, была ссылка на внешний сервер конкурентов.
Денис продавал секреты. И использовал меня как алиби.
Я встала. Колени слегка подогнулись, но я выпрямилась.
Где-то в глубине дома, в спальне, спал мой муж, уверенный, что одержал победу.
Он не знал, что война только началась.
И у меня теперь было оружие, которое нельзя списать на паранойю. У меня была правда, зашитая в код.
Глава 6
Воздух в баре «Гейзер» был густым, как сироп от кашля: дешевое шампанское, перегар и приторный аромат чужих побед. Я стояла у барной стойки, чувствуя себя лишним элементом в интерфейсе, который Денис так любовно выстраивал годами. Музыка била по вискам басами, но сквозь этот шум я слышала главное — его голос. Он звучал для Лены так же, как когда-то для меня. Бархатно. Интимно. С той самой интонацией «мы против мира», которую он давно сменил на «мир против нас».
Лена прижалась к нему боком, ее рука скользнула по талии Дениса, будто проверяя, на месте ли ключи от машины. Или от их общего бизнеса. Я знала это движение. Знала этот парфюм — ноты сандала и чего-то тяжелого, цветочного, что теперь въелось мне в память.
— Марина? — Коля, старший аналитик из отдела данных, возник рядом, загораживая обзор. Его лицо было красным от выпитого и возбуждения сплетни. — Ты почему такая бледная? Тебе надо домой. Денис говорил, ты недавно плакала в уборной. Это стресс, Марина. Просто отпусти ситуацию. Не будь такой... напряженной.
Я посмотрела на него. В его глазах читалось жалкое любопытство. Они все видели во мне не жену обманутую, а женщину сломленную. Удобную жертву, над которой можно потешиться, шепчась за спиной.
— Отстань, Коль, — сказала я тихо, но так, чтобы он услышал. И отвернулась.
Мой взгляд снова упал на пару у окна. Денис рассказывал Лене о новом этапе проекта, жестикулируя бокалом. Лена смеялась, но ее пальцы нервно перебирали ремешок сумочки, лежащей на стуле. Она не слушала слова. Она сканировала зал. Ждала сигнала. Или ошибки.
И тут Денис повернулся. Наши взгляды встретились через толпу. Он увидел мою холодность и усмехнулся. Медленно, демонстративно, он наклонился к Лене и поцеловал ее в висок. Долго. Глубоко вдохнув запах ее волос.
Сердце пропустило удар. Внутри поднялась волна тошноты, горечь подступила к горлу. Хотелось кричать. Хотелось схватить бокал и разбить его об его голову. Но я не сделала этого. Вместо этого я медленно подняла свой бокал с шампанским. Выдохнула. И улыбнулась. Ледяной, профессиональной улыбкой UX-исследователя, который фиксирует баг в системе.
Я показала ему жест «за здоровье». Денис моргнул. Он ожидал истерики. Ожидал слез, которые станут доказательством моей «неадекватности» перед коллегами. А получил равнодушие. На его лице мелькнуло замешательство. Маленькая трещина в его уверенности.
Я развернулась и пошла к туалетным комнатам. Мне нужно было прийти в себя. Буквально. Холодная вода на запястья поможет вернуть контроль над телом, которое предательски дрожало.
В коридоре у дамской комнаты я столкнулась с Леной. Она вышла из кабинки, поправляя юбку. Увидев меня, она не отшатнулась. Наоборот, шагнула навстречу, блокируя проход. Ее глаза блестели от алкоголя и торжества.
— Красиво улыбаешься, Марина, — прошипела она, понизив голос до шепота. — Денис говорит, что ты играешь роль обиженной жены для других. Что дома ты уже смирилась. Он скучает. Знаешь, как он скучает по нормальным разговорам? Без этих твоих вечных проверок и подозрений. Ты должна быть благодарна, что он вообще терпит тебя. Хотя бы ради детей.
Она наглела. Чувствуя поддержку Дениса, она считала меня безобидной мышью.
Я посмотрела на нее сверху вниз. Разница в росте была минимальной, но моя поза была другой. Прямые плечи, подбородок чуть вверх. Я не отводила глаз.
— У тебя на запястье след от наручников? — спросила я ровно. — Или это новый тренд в деловом этикете?
Это была ложь. Полная чушь. Но я видела, как зрачки Лены расширились. Ее рука метнулась к левому запястью, пряча его под манжетой. Она инстинктивно прикрыла место, которое «могло бы» быть больным. Страх выдал ее раньше слов.
— Что? — она фыркнула, но в голосе дрогнула нота неуверенности. — Ты совсем съехала крышей.
— Возможно, — согласилась я и обошла ее, направляясь к лифтам. — Но ты тоже выглядишь уставшей.
Лифт приехал быстрее, чем мне хотелось. Я нажала кнопку, но двери не успели сомкнуться: снизу кто-то вызвал кабину. На первом этаже вошли Денис и Лена — вместе, слишком близко друг к другу для простых коллег.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Вы ознакомились с фрагментом книги.
Для бесплатного чтения открыта только часть текста.
Приобретайте полный текст книги у нашего партнера:
Полная версия книги
Всего 10 форматов

