Архитектура и безопасность SDK Rivox AI
SDK Rivox AI — это лёгкий клиентский JavaScript-скрипт размером менее 45 КБ. Его задача — собирать анонимные поведенческие данные для ML-модели. В этом разделе — как устроена архитектура, как защищены данные и почему SDK безопасен для вашего сайта и пользователей.
Клиентский JavaScript-скрипт
SDK Rivox AI работает полностью на стороне браузера пользователя. Скрипт спроектирован так, чтобы быть максимально незаметным и не влиять на работу сайта.
- ★Загружается асинхронно — не блокирует рендеринг и загрузку страницы
- ★Инициализируется с задержкой 700 мс после загрузки документа, чтобы не конкурировать с основным контентом
- ★Работает в фоновом режиме — пользователь не замечает его присутствия
- ★Использует passive-слушатели событий, чтобы не замедлять прокрутку и взаимодействие
- ★Размер скрипта — менее 45 КБ, что сопоставимо с одной маленькой картинкой
Что SDK не собирает
Принципиально важно: SDK Rivox AI не имеет доступа к персональным данным пользователей. Вот полный список того, что SDK никогда не собирает:
- ✕Персональные данные: имена, email, телефоны, адреса
- ✕Содержимое полей форм — фиксируется только факт взаимодействия с полем
- ✕Cookie и идентификаторы третьих сторон
- ✕Геолокация и IP-адреса
- ✕Платёжная информация
- ✕Fingerprinting устройства и cross-site трекинг
SDK видит только действия пользователя, но не знает, кто он. Даже при желании по этим данным невозможно восстановить личность человека.
Хеширование и анонимизация
Все строки, которые теоретически могут содержать идентифицирующую информацию, проходят через одностороннюю хеш-функцию MurmurHash3 на этапе серверной обработки.
- ★Названия кнопок → хеш
- ★CSS-селекторы элементов → хеш
- ★Названия товаров и категорий → хеш
- ★Текст ссылок и заголовков → хеш
MurmurHash3 — это односторонняя функция. Восстановить исходный текст из хеша невозможно. После серверной обработки данные хранятся исключительно в хешированном виде.
Передача данных
Все собранные данные передаются на серверы Rivox AI по защищённому каналу связи.
- ★Протокол: HTTPS с шифрованием TLS 1.3
- ★Данные передаются на собственные серверы Rivox AI по единственному защищённому каналу
- ★Пакетная отправка: события буферизируются и отправляются пачками по 10–20 штук каждые 5–10 секунд
- ★При закрытии вкладки — немедленная отправка оставшихся событий (flush)
- ★Верификация Origin: сервер принимает запросы только с зарегистрированных доменов клиента
- ★CORS строго настроен — запросы с неавторизованных источников отклоняются
- ★Надёжность: 3 попытки повторной отправки с экспоненциальной задержкой (exponential backoff)
Серверная инфраструктура
Данные, полученные от SDK, хранятся и обрабатываются на серверной стороне с соблюдением строгих мер безопасности.
- ★Все данные обрабатываются на собственных изолированных серверах Rivox AI с аппаратным шифрованием и Zero-Trust сетевой архитектурой
- ★Каждый клиент имеет изолированное хранилище данных с уникальным токеном доступа
- ★Смешивание данных между клиентами исключено на архитектурном уровне
- ★Хешированные селекторы — невозможно восстановить структуру сайта клиента
- ★Анонимные метрики — невозможно идентифицировать конкретных пользователей
- ★Применяется принцип наименьших привилегий (least privilege) для всех компонентов системы
Соответствие 152-ФЗ и GDPR
SDK Rivox AI собирает только анонимные поведенческие метрики, которые не являются персональными данными в соответствии с определением Федерального закона № 152-ФЗ «О персональных данных».
- ★Согласие не требуется — SDK не собирает персональные данные, поэтому получение согласия пользователя не является обязательным
- ★Минимизация данных — собираются только те метрики, которые необходимы для работы ML-модели
- ★Анонимизация — идентификация пользователя по собранным данным невозможна
- ★Целевое ограничение — данные используются исключительно для поведенческой аналитики и оптимизации рекламы
- ★Шифрование — данные зашифрованы при передаче (TLS 1.3) и при хранении (encryption at rest)
- ★Удаление данных — все данные клиента удаляются в течение 30 дней после завершения договора
Влияние на производительность
SDK Rivox AI спроектирован для работы на высоконагруженных сайтах без какого-либо влияния на пользовательский опыт.
- ★DOMContentLoaded — без изменений, SDK загружается асинхронно
- ★TTI (Time to Interactive) — влияние менее 5 мс
- ★FCP / LCP — без изменений, SDK не влияет на отрисовку контента
- ★Использует requestIdleCallback для ресурсоёмких вычислений — они выполняются только когда браузер свободен
- ★Throttling обработчиков событий — минимальная нагрузка на основной поток
- ★SDK работает в фоновом режиме, не затрагивая основную функциональность сайта
Обезличивание данных на уровне SDK
SDK применяет несколько уровней защиты данных ещё на этапе сбора — до отправки на сервер:
- ★SDK собирает сырые поведенческие события (клики, скроллы, тайминги) и передаёт их на сервер по защищённому каналу HTTPS/TLS 1.3
- ★На сервере все текстовые значения обрезаются до 120 символов и хешируются алгоритмом MurmurHash3 — быстрой односторонней функцией, из результата которой невозможно восстановить исходный текст
- ★После обработки данные хранятся только в виде el_text_hash (хеш текста элемента) и el_structure_hash (хеш DOM-структуры) — сырой текст не сохраняется
- ★SDK не собирает содержимое полей форм, cookie, геолокацию и любые персональные данные
Архитектура изоляции данных между клиентами
Каждая установка SDK идентифицируется уникальным client_token, который жёстко привязывает все собираемые данные к конкретному клиенту. Данные с сайта A физически не могут попасть в хранилище сайта B и не используются для обучения его модели.
Почему данные невозможно переиспользовать на другом сайте:
Поведенческие данные уникальны для конкретного интерфейса. Малейшие изменения в вёрстке, текстах или структуре страницы приводят к полностью другим хешам:
- ★Кнопка сдвинута на 10px → другой el_structure_hash
- ★Текст изменился с «Купить» на «В корзину» → другой el_text_hash
- ★Различная DOM-структура, координаты элементов, CSS-селекторы — каждый сайт порождает уникальное пространство признаков
Даже намеренно «перенести» данные между клиентами технически невозможно:
- ★SDK и серверная часть жёстко привязаны к client_token — запрос с чужим токеном отклоняется
- ★Хеши элементов уникальны для каждого сайта — они бессмысленны вне контекста конкретного интерфейса
- ★Система маршрутизации на уровне API исключает кросс-доменные операции с данными
Изоляция на уровне инфраструктуры:
- 1.IAM-контроль — доступ к данным каждого клиента регулируется системой Identity and Access Management; сервисы получают только те права, которые необходимы для обработки данных конкретного клиента
- 2.Изолированные датасеты — данные каждого клиента хранятся в отдельном защищённом хранилище, физически отделённом от данных других клиентов
- 3.Уникальный технический ключ — доступ к данным возможен только по клиентскому ключу; без него данные недоступны даже внутренним системам
- 4.Выделенные вычислительные контуры — каждая ML-модель обучается исключительно на данных своего клиента в изолированном вычислительном окружении
Чек-лист проверки безопасности для корпоративных клиентов
Перед подключением SDK на критичные среды (банки, финансовые организации, крупные предприятия) рекомендуем пройти следующий чек-лист:
- ✓Код SDK открыт — скрипт размещён на GitHub, исходный код доступен для аудита вашей командой безопасности
- ✓Отсутствуют вызовы
document.cookieиnavigator.geolocation— код SDK не обращается к cookie и геолокации; это можно проверить поиском по исходному коду - ✓Проверка через DevTools — во вкладке Network можно убедиться, что SDK отправляет только поведенческие события (клики, скроллы, тайминги); хеширование данных происходит на этапе серверной обработки
- ✓localStorage — содержит только служебные ключи SDK (session_id, tab_id); пользовательские данные не записываются
- ✓Единственный эндпоинт — все запросы SDK идут на один защищённый сервер Rivox AI, только HTTPS, шифрование TLS 1.3
- ✓Подходит для банков и финансовых организаций — SDK не собирает PII, не обрабатывает платёжные данные, не получает доступ к банковским формам
- ✓Совместим с CSP, CORS whitelist и dataLayer-контролями — SDK корректно работает с Content Security Policy, не конфликтует с CORS-политиками и не перехватывает dataLayer