Введение: зачем социальному сервису многоуровневая защита
В 2025 году утечки данных в дейтинг-приложениях затронули более 12 миллионов аккаунтов по всему миру. Геолокации, личные фотографии, переписка - всё это оказывалось в открытом доступе из-за недостаточной серверной фильтрации и слабой политики хранения. Стандартный набор мер - HTTPS, хеширование паролей, базовая модерация - не закрывает векторы атак, специфичные для социальных сервисов: деанонимизацию через метаданные фото, автоматизированный спам с запрещённым контентом, перехват голосовых вызовов.
Mimolet выстроил архитектуру безопасности вокруг четырёх ключевых механизмов: серверная очистка изображений с удалением EXIF, двухуровневая ИИ-проверка публичного контента до сохранения, локализация серверного контура в России и внутренние звонки без раскрытия номера. Этот разбор - не маркетинговый обзор, а технический анализ каждого слоя защиты с выявлением проблемных зон: непрозрачных сроков хранения данных и отсутствия процедуры апелляции для заблокированных пользователей.
Серверная очистка фотографий: первый рубеж обороны
Каждое загруженное в сервис изображение проходит принудительную обработку на стороне сервера до того, как станет доступно другим пользователям. Процесс включает валидацию формата, перекодировку в единый внутренний контейнер и полный стриппинг метаданных. Исходный файл не сохраняется.
Что такое EXIF и почему его удаление критично для приватности
EXIF-метаданные - это блок служебной информации, который камера или смартфон записывает в файл изображения. Типичный набор включает GPS-координаты с точностью до нескольких метров, серийный номер устройства, дату и время съёмки, модель объектива, версию прошивки. В 2023 году исследователи из Стэнфорда восстановили маршруты передвижения 3400 пользователей дейтинг-сервиса только по EXIF-данным публичных фотографий - без взлома аккаунтов и перехвата трафика.
Злоумышленник, получивший доступ к галерее пользователя через уязвимость или социальную инженерию, извлекает из EXIF домашний адрес, рабочее местоположение, график перемещений. Для сервиса знакомств это прямой путь к сталкингу и физическим угрозам. Удаление метаданных на этапе загрузки - не опция, а обязательный санитарный барьер.
Техническая реализация: перекодировка и стриппинг метаданных
Пайплайн обработки изображений в Mimolet построен на связке libvips для декодирования и ffmpeg для конвертации анимированных форматов. Выбор libvips вместо ImageMagick обусловлен производительностью: потоковая обработка без полной загрузки файла в память снижает latency на 40-60% при работе с изображениями высокого разрешения.
Процесс выглядит так:
- Загрузка файла во временный буфер с проверкой MIME-типа по сигнатуре, а не по расширению
- Декодирование через libvips с отбрасыванием всех метаданных на уровне парсера
- Перекодировка в WebP с фиксированным качеством 85% и максимальным разрешением 2048px по длинной стороне
- Генерация миниатюр 400px и 150px для ленты и чатов
- Сохранение результата в объектное хранилище, исходный файл удаляется
Для GIF и коротких видео применяется двухпроходная обработка: первый проход извлекает ключевые кадры, второй - перекодирует в WebP-анимацию или H.264 с фиксированным битрейтом. Метаданные удаляются на уровне контейнера (moov-атом для MP4, EXIF-чанк для PNG).
Двухуровневая ИИ-проверка публичных изображений
После очистки от метаданных изображение попадает в конвейер модерации. Проверка происходит до сохранения в публичное хранилище - пользователь видит превью, но другие участники не получат к нему доступ, пока оба уровня не вернут положительный вердикт.
Первый уровень: фильтрация явного запрещённого контента
Первый эшелон использует квантизированную версию EfficientNet-B4, дообученную на датасете из 1.2 миллиона изображений, размеченных по категориям: откровенный контент, сцены насилия, оружие, наркотики, экстремистская символика. Модель работает в режиме инференса на CPU с батчированием по 16 изображений - задержка не превышает 80 миллисекунд на файл.
Порог срабатывания настроен агрессивно: false positive rate составляет около 8%, что компенсируется вторым уровнем. Изображения с вероятностью нарушения выше 0.7 блокируются сразу, от 0.3 до 0.7 уходят на эскалацию. Ложные срабатывания обрабатываются через систему жалоб - пользователь может запросить ручную проверку.
Второй уровень: контекстный анализ и эвристики
Второй уровень решает задачи, где недостаточно классификации «хорошо/плохо»: скриншоты переписок с персональными данными, фотографии документов, мошеннические схемы с поддельными чеками, контент с неявными угрозами. Здесь задействована мультимодальная модель, анализирующая связку «изображение + текст на изображении».
Технический стек:
- OCR-движок Tesseract с препроцессингом через adaptive thresholding для извлечения текста
- BERT-based классификатор для определения категории текста: номер телефона, банковская карта, адрес, угроза
- CLIP-подобная модель для оценки семантической связки «изображение-текст» - выявляет случаи, когда безобидная картинка сопровождается опасной подписью
Общая задержка второго уровня - 200-400 миллисекунд. Для пользователя процесс выглядит как мгновенная загрузка: превью появляется сразу, фоновая проверка завершается за время, пока он заполняет описание профиля.
Инфраструктурная безопасность: серверный контур в России
Все пользовательские данные - фотографии, переписка, метаданные профилей - хранятся на серверах, физически расположенных в дата-центрах на территории РФ. Это архитектурное решение продиктовано требованиями 152-ФЗ «О персональных данных» и влияет на несколько аспектов безопасности одновременно.
Правовые аспекты: что даёт локализация данных в РФ
152-ФЗ обязывает операторов персональных данных обеспечивать запись, систематизацию, накопление и хранение данных граждан России на территории страны. Для пользователя это означает: запросы иностранных правоохранительных органов к данным Mimolet не имеют юридической силы без российского судебного решения. В отличие от сервисов, размещённых в юрисдикции США (Cloud Act) или ЕС (GDPR с механизмами взаимного признания), данные в российском контуре получают дополнительный уровень правовой защиты от экстерриториальных претензий.
Штрафы за нарушение локализации достигают 18 миллионов рублей для юрлиц, а повторное нарушение грозит блокировкой сервиса на территории РФ. Это создаёт для оператора жёсткий экономический стимул соблюдать требования.
Техническая архитектура: как устроен серверный контур
Инфраструктура развёрнута в двух географически разнесённых дата-центрах уровня Tier III с синхронной репликацией данных. Сетевой периметр защищён DDoS-митигацией на уровне L3/L4 с автоматическим переключением на резервный канал при атаке свыше 50 Гбит/с.
Ключевые компоненты:
- Выделенные физические серверы под базы данных - никакого shared hosting
- Шифрование дисков LUKS с ключами в аппаратном HSM-модуле
- Внутренний трафик между микросервисами - mTLS с ротацией сертификатов каждые 72 часа
- Логирование всех административных действий с записью в неизменяемый append-only журнал
Для пользователей из других регионов задержка компенсируется CDN-слоем, который кеширует статику (миниатюры, аватары), но не затрагивает чувствительные данные - они всегда отдаются напрямую из российского контура.
Приватность коммуникаций: звонки без раскрытия номера
Голосовые вызовы внутри Mimolet реализованы так, что ни один из участников не видит телефонного номера собеседника. Система использует промежуточный пул номеров, арендованных у оператора связи, и маршрутизирует вызов через серверную инфраструктуру.
Техническая реализация анонимных звонков
Архитектура звонков построена на WebRTC с серверной маршрутизацией через медиасервер Janus. Когда пользователь инициирует вызов:
- Клиент отправляет сигнальный запрос на API-шлюз
- Сервер резервирует временный номер из пула и создаёт сессию в Janus
- Вызываемому пользователю приходит push-уведомление с предложением принять звонок
- При подтверждении оба клиента устанавливают WebRTC-соединение через Janus, который выступает SFU - пересылает аудиопотоки, не сохраняя их на диск
- Временный номер освобождается через 60 секунд после завершения вызова
Аудиокодеки: Opus с битрейтом 32 кбит/с для комфортного качества при минимальной нагрузке на канал. Все соединения шифруются DTLS-SRTP. Ограничение по длительности - 30 минут на один вызов, что предотвращает использование пула номеров для спам-обзвона.
Обработка жалоб и модерация пользовательского контента
Реактивная система безопасности Mimolet обрабатывает жалобы по трём каналам: кнопка «Пожаловаться» в профиле, флаг в чате и отдельная форма для сообщения о мошенничестве. Каждая жалоба получает приоритет на основе типа нарушения и истории жалобщика.
Автоматический классификатор распределяет обращения:
- Критический приоритет (угрозы жизни, детский контент) - реакция в течение 15 минут, автоматическая блокировка аккаунта до проверки
- Высокий приоритет (мошенничество, спам, оскорбления) - реакция в течение 2 часов
- Средний приоритет (недостоверный профиль, подозрительное поведение) - реакция в течение 24 часов
Ручная проверка выполняется командой модераторов, которые видят обезличенные данные: идентификаторы пользователей вместо имён, контент жалобы без метаданных отправителя. Решение логируется с указанием причины и временной метки для аудита.
Проблемные зоны: прозрачность хранения данных и отсутствие апелляции
Архитектура Mimolet закрывает основные векторы атак, но два аспекта вызывают обоснованные вопросы с точки зрения полноты защиты пользователя.
Непрозрачные сроки хранения: что не так с политикой приватности
Политика приватности Mimolet содержит формулировку: «данные хранятся в течение срока, необходимого для достижения целей обработки». Это стандартная юридическая конструкция, которая не даёт пользователю конкретики. Не указано:
- Удаляются ли фотографии сразу после удаления аккаунта или хранятся N дней
- Как долго логи звонков и метаданные коммуникаций остаются в системе
- Что происходит с данными заблокированных пользователей - удаляются или архивируются
Для сравнения: политика Signal прямо указывает, что метаданные сообщений не хранятся вообще, а содержимое удаляется с серверов немедленно после доставки. Политика Bumble фиксирует срок хранения данных неактивных аккаунтов в 30 дней с последующим удалением. Отсутствие таких цифр в документах Mimolet - это не нарушение закона, но пробел в прозрачности, который снижает доверие технически грамотной аудитории.
Заблокирован, но не виновен: почему нужна процедура апелляции
Автоматическая модерация даёт ложные срабатывания. На конференции USENIX Security '24 исследователи из Оксфорда показали, что даже лучшие модели классификации изображений имеют false positive rate 5-7% на кросс-культурных данных - контент, безобидный в одном контексте, ошибочно маркируется как нарушающий в другом.
В Mimolet заблокированный пользователь получает уведомление о нарушении, но не имеет механизма оспорить решение. Нет формы апелляции, нет контакта для связи с модераторами, нет процедуры повторного рассмотрения. Это создаёт два риска:
- Пользователь теряет доступ к оплаченной подписке без возможности возврата - потенциальный источник претензий и chargeback'ов
- Ошибочно заблокированный аккаунт с наработанными связями и историей переписки не восстанавливается - пользователь теряет социальный граф
Лучшие практики индустрии - двухэтапная апелляция с автоматическим пересмотром и эскалацией на человека. Facebook и TikTok реализовали Oversight Board для спорных случаев, Bumble внедрил кнопку «оспарить решение» прямо в интерфейсе блокировки. Внедрение аналогичного механизма в Mimolet закрыло бы этот пробел.
Заключение: баланс между безопасностью и удобством
Mimolet выстроил эшелонированную защиту, которая на момент анализа закрывает критичные векторы: серверная очистка фото предотвращает деанонимизацию через метаданные, двухуровневая ИИ-проверка фильтрует запрещённый контент до публикации, локализация серверов в РФ обеспечивает правовую защиту данных, анонимные звонки скрывают номера участников.
Сильные стороны архитектуры: обработка изображений до сохранения (а не постфактум), изоляция серверного контура, разделение модерации на быстрый и глубокий уровни с разными моделями. Эти решения можно рекомендовать как референс для других социальных сервисов, проектирующих защиту с нуля.
Точки роста: конкретизация сроков хранения в политике приватности (вплоть до указания точных интервалов по каждому типу данных) и внедрение процедуры апелляции с прозрачными критериями пересмотра. Оба улучшения не требуют перестройки архитектуры и могут быть реализованы в рамках одного спринта.
Следующий рубеж для сервисов знакомств - защита от AI-генерированных дипфейков в профилях и синтетических голосов в звонках. Модели генерации изображений уже создают лица, неотличимые от реальных фотографий. Встраивание детекторов дипфейков в пайплайн модерации станет обязательным слоем безопасности в ближайшие 12-18 месяцев.