Инженерные принципы
Во что мы верим — и как это проявляется в продукте.
Это операционные ограничения, а не слоганы. Каждое из них проверяемо в отношении продукта. Если вы найдёте исключение, значит либо принцип неверен, либо реализация неверна — и то и другое является ошибкой.
01. Калибровка вместо вердиктов
Ваша антифрод-команда принимает окончательное решение — Noxtica даёт ей доказательства.
Мы не возвращаем ответ «да/нет». Мы возвращаем уровень риска, показатель уверенности и причины, которые их породили. Чарджбэк — это не неудачный вход. Новая регистрация — это не возвращающийся клиент со сброшенными куками. Вы знаете свой контекст. Мы просто даём вам лучшие исходные данные.
Где вы это увидите
- Каждая верификация возвращает уровень риска, показатель уверенности и причины, лежащие в основе оценки — никогда единственного флага «это бот».
- Панель оператора показывает разбивку по категориям, а не только итоговый уровень.
- Базовые сигналы доступны, если вы хотите построить собственный классификатор поверх.
Компромисс
Вы не можете вставить Noxtica в однострочный «если бот — заблокировать». Вы пишете политику. Политика короткая — обычно десять-двадцать строк — но она ваша.
02. Решения, которые можно обосновать
Когда сессия помечена на реальном клиенте, вашим инженерам нужно обосновать решение — перед юридическим отделом, командой продукта, самим клиентом.
Каждая категория обнаружения задокументирована в /docs/threat-categories, и каждый порог поддаётся аудиту. Если результат вас удивляет, он отслеживаем. Если вы не согласны с калибровкой, она настраиваема.
Где вы это увидите
- Причины в результате верификации точно совпадают с названиями в документации. Никаких кодовых имён, никаких маркетинговых переименований.
- Каждый порог несёт с собой обоснование и данные о популяции, лежащие в его основе.
- Сигналы, о которых сообщает Noxtica, — это задокументированный контракт, а не движущаяся цель.
Компромисс
Мы не можем незаметно изменить модель. Ужесточение порога означает написание изменения, его обоснование в журнале изменений и выпуск в виде версионированного обновления. Это медленнее, чем чёрный ящик. Мы считаем, что компромисс того стоит.
03. Ложные срабатывания недопустимы
Заблокированный клиент никогда не возвращается. Пропущенный бот — это единичный чарджбэк, который можно оспорить; заблокированный человек — это отток, а отток накапливается.
Мы предпочтём пропустить бота, чем заблокировать реального клиента в необычной, но совершенно легитимной конфигурации. Пороги намеренно смещены в сторону пропуска пограничных случаев. Уровни риска существуют для того, чтобы вы могли выбрать собственный компромисс, но настройки по умолчанию консервативны по причине.
Где вы это увидите
- Уровни «наблюдать за этим» и «проверить это» намеренно разнесены, так что популяция между ними — преимущественно боты, а не люди.
- Распознанные приватные браузеры обрабатываются с мягкостью по замыслу, а не как запоздалая мысль.
- Политика по умолчанию в наших примерах — проверка, а не блокировка — блокировка зарезервирована для верхнего уровня, который по замыслу срабатывает только когда несколько сигналов согласуются.
Компромисс
Ваш процент поимки при настройках по умолчанию ниже, чем у более агрессивно настроенного конкурента. Мы считаем, что за год вы поймаете больше ботов в абсолютном выражении, потому что изначально сохраните больше своих реальных клиентов.
04. Конфиденциальность по конструкции
Ваш сотрудник по защите данных спит спокойнее, потому что мы создавали это именно для таких случаев.
Коллектор не собирает персональные данные. По умолчанию не хранится ни один сырой сетевой адрес — только грубый контекст вроде страны, который выводится и затем удаляется. Никаких сторонних вызовов во время верификации. То, что мы храним, — это перемешанная, односторонняя сводка, никогда не сырые значения, и ключ подписи регулярно ротируется. Мы не можем продать то, что никогда не собирали.
Где вы это увидите
- Во время сбора браузер делает ровно один запрос: однодоменную отправку на ваш собственный бэкенд с запечатанным результатом. Никакой сторонней телеметрии, никаких аналитических маяков, никаких шрифтов из сторонних источников.
- Верификация на нашей стороне не требует дополнительных запросов — полная картина в результате, нечего повторно получать.
- Срок хранения данных по умолчанию варьируется по тарифу, а жёсткое удаление по запросу применяется на уровне хранилища, а не как мягкий флаг.
Компромисс
Мы не можем обогатить модель кросс-клиентскими данными. Бот, замеченный на сайте одного клиента, не становится автоматически известен верификации другого клиента. Мы используем популяционные агрегаты для калибровки, но никогда не связываем отдельных людей между клиентами.
Как принципы складываются вместе
Эти четыре принципа не независимы — они усиливают друг друга.
- Калибровка вместо вердиктов (01) работает только если решения поддаются обоснованию (02), потому что без задокументированных рассуждений вы не можете прочитать калибровку.
- Обоснуемые решения (02) — это то, что делает неприятие ложных срабатываний (03) проверяемым: вы можете провести аудит порогов и доказать, что настройки по умолчанию консервативны.
- Конфиденциальность по конструкции (04) — это то, что делает модель читаемой. У нас нет тысячи кросс-клиентских признаков; у нас есть несколько десятков, каждый из которых привязан к сигналу, о котором вы можете прочитать в документации.
Если мы добавим пятый принцип, ему нужно будет усиливать эти четыре. Если нет — мы его не выпустим.
Дополнительное чтение
- Почему калибровка, а не вердикты — философия, движущая принципом 01.
- Категории угроз — задокументированная поверхность, которую обещает принцип 02.
- Сценарии использования — как принципы 03 и 04 выглядят в продакшне.