01 · Device intelligence для предотвращения мошенничества Сценарии, которые вы помечаете

API device intelligence и оценки риска мошенничества для веба Оценивайте каждый вход. Решайте на основе фактов.

Один тег на каждый выбранный вами экран

Один скрипт на вашем сайте считывает браузер и устройство примерно за десятую долю секунды на десктопе. Один подписанный вызов с вашего бэкенда, с тегом, который вы задаёте сами, сразу получает ответ: оценку доверия, покрытие доказательствами и 13 индикаторов — от ботов и автоматизации, подделки браузера и эмуляторов до VPN, прокси и Tor, с причиной каждой рекомендации. Выявляйте захват аккаунта, фейковые регистрации и мошенничество с выплатами на основе фактов, а не догадок. Мы рекомендуем. Вы решаете и действуете.

Синхронный ответ на любом экране с вашим тегом · Теневой режим, прежде чем он повлияет на какое-либо решение · Ваши правила, ваши списки, ваше решение

Как читать этот ответ · пример v1.1/login_completed

  1. Почему такая рекомендация

    ALLOWreason_codes · NO_ADVERSE_INDICATOR_MATCH

    Ни один индикатор, который учитывает политика, не вернулся как обнаруженный. Пример из контракта: управляемая политика FingerTrackID рекомендует MONITOR при любой оценке; ALLOW приходит из диапазона оценки, который ваша компания задала в собственных правилах риска. Решено по policy-login-v1.

  2. Что такое оценка — и чем она не является

    trust_score 1000–100 · чем выше, тем лучше

    Уверенность в этом доступе при данной версии политики, а не вероятность мошенничества. Вне COMPLETED она равна null и никогда не подставляется по умолчанию.

  3. Сколько удалось увидеть

    evidence_coverage 100limitation_codes · нет

    Доля ожидаемых проверок, которые были выполнены. Недостающие доказательства были бы названы здесь: они снижают покрытие и никогда не становятся причиной риска.

  4. Дальше решаете вы

    customer_actionзатем результат

    Ваш бэкенд решает и действует, а затем сообщает, что сделал и каким был реальный результат. Мы никогда не блокируем и не удерживаем деньги.

POST /v1/assessments → 201

event-assessment.v1.1 · пример из контракта

assessment_statusCompletedоценка завершена
trust_score1000–100 · чем выше, тем лучше
device_match_confidence0.980–1 · сила совпадения
evidence_coverage1000–100 · достаточность
ALLOWrecommendation_basis · EVALUATIONрекомендация, а не действие
reason_codes NO_ADVERSE_INDICATOR_MATCH  ·  limitation_codes none
{  "schema_version": "event-assessment.v1.1",  "tag": "login",  "assessment_status": "COMPLETED",  "trust_score": 100,  "device_match_confidence": 0.98,  "evidence_coverage": 100,  "signals": [ … 13 objects ],  "limitation_codes": [],  "reason_codes": ["NO_ADVERSE_INDICATOR_MATCH"],  "recommended_action": "ALLOW",  "recommendation_basis": "EVALUATION",  "policy_version": "policy-login-v1"  // … 21 more fields in the full response: ids, snapshot, versions, timestamps}
Полный ответ · 54 строки · 13 сигналов, необнаруженные свёрнуты
1{2  "schema_version": "event-assessment.v1.1",3  "assessment_id": "01996f2a-0000-7000-8000-000000000101",4  "assessment_version": 1,5  "supersedes_assessment_id": null,6  "business_event_id": "01996f2a-0000-7000-8000-000000000102",7  "external_event_id": "login_20260904_000001",8  "tag": "login",9  "assessment_status": "COMPLETED",10  "retryable": false,11  "trust_score": 100,12  "device_intelligence_snapshot_id": "01996f2a-0000-7000-8000-000000000103",13  "device_intelligence_snapshot_version": 1,14  "device_id": "dev_0123456789abcdefghij",15  "device_match_confidence": 0.98,16  "evidence_coverage": 100,17  "data_freshness": {18    "evidence_cutoff_at": "2026-09-04T12:00:00Z",19    "oldest_required_observed_at": "2026-09-04T11:59:59Z",20    "maximum_required_age_ms": 300000,21    "all_required_fresh": true22  },23  "signals": [24    { "signal_code": "ANTI_FINGERPRINTING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },25    { "signal_code": "BOT_AUTOMATION", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },26    { "signal_code": "BROWSER_SPOOFING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },27    { "signal_code": "EMULATED_ENVIRONMENT", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },28    { "signal_code": "PRIVATE_BROWSING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },29    { "signal_code": "BROWSER_PRIVACY_BRAVE", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },30    { "signal_code": "BROWSER_PRIVACY_SAFARI", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },31    { "signal_code": "BROWSER_PRIVACY_SAMSUNG_INTERNET", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },32    { "signal_code": "NETWORK_PROXY", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },33    { "signal_code": "NETWORK_VPN", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },34    { "signal_code": "NETWORK_HOSTING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },35    { "signal_code": "NETWORK_TOR", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },36    { "signal_code": "DEVICE_MULTI_USER", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … }37  ],38  "limitation_codes": [],39  "reason_codes": ["NO_ADVERSE_INDICATOR_MATCH"],40  "recommended_action": "ALLOW",41  "recommendation_basis": "EVALUATION",42  "policy_version": "policy-login-v1",43  "fallback_policy_version": "production-observation-fallback-v2",44  "ruleset_version": "ruleset-web-v1",45  "signal_catalog_version": "signals-web-v1",46  "feature_schema_version": "features-v1",47  "resolver_version": "resolver-v1",48  "sdk_version": "web-sdk-1.0.0",49  "provider_versions": ["network-provider-2026-09-04"],50  "evidence_cutoff_at": "2026-09-04T12:00:00Z",51  "evaluated_at": "2026-09-04T12:00:01Z",52  "expires_at": "2026-09-04T12:05:00Z",53  "correlation_id": "corr-assessment-login-0001"54}

Версии, которые его сформировали · policy-login-v1 · production-observation-fallback-v2 · ruleset-web-v1 · signals-web-v1 · features-v1 · resolver-v1 · web-sdk-1.0.0 · network-provider-2026-09-04

13 сигналов в полном ответе · матрица индикаторов ↓

Продукт в цифрах

Ответ

13

Веб-индикаторов в каждом ответе

3

Состояния индикатора: обнаружен, не обнаружен, не оценён

14

Названных причин для «не оценён» — никогда не молчаливое false

5

Возможные рекомендации

3

Раздельные показатели: доверие, совпадение устройства, покрытие доказательствами

1

Подписанный вызов на каждое оцениваемое событие

Сбор данных

17

Разделов доказательств о браузере и устройстве за один сбор

48

API браузера, сверяемых с версией, которую браузер заявляет

125

Миллисекунд или меньше: медианное время сбора на десктопе в Chrome, Firefox и Safari

0

Запросов разрешений, показанных вашему пользователю

Ваши правила и ваше расследование

54

Контекстных инсайтов, вычисляемых в каждой оценке

67

Правил, которые ваша компания может учитывать в собственном скоринге риска: 13 индикаторов и 54 инсайта

6

Опубликованных справочных списков, на которых основаны сетевые индикаторы

6

Языков консоли: английский, португальский (Бразилия и Португалия), испанский, французский, немецкий

Никогда — и это не зависит от тарифа

  • Движения указателя и нажатия клавиш: SDK не собирает ни то, ни другое
  • Пиксели, аудиосэмплы, названия производителя и рендерера GPU или названия шрифтов: canvas, WebGL, WebGPU, аудио и шрифты покидают браузер только в виде хешей, семейства GPU и маски наличия по фиксированному списку шрифтов
  • WebRTC, локальные порты, батарея, датчики движения: никогда не считываются
  • Никаких запросов разрешений, никаких решений в браузере, никаких действий с нашей стороны в вашем аккаунте

— Каждое значение — это количество элементов версионированного контракта, каталога или списка, кроме времени сбора, измеренного на наших тестовых машинах с холодным кешем. Ни одно из них не зависит от тарифа или объёма.

03 · Сценарии

Предотвращение мошенничества на экранах, где решение важнее всего.

Device intelligence отвечает на один вопрос до того, как ваш бэкенд пропустит действие: что на самом деле находится по ту сторону этого экрана? Один и тот же вызов обслуживает любой сценарий; тег, который вы отправляете, лишь классифицирует его.

login · password_recovery · profile_change

Защита от захвата аккаунта

Известный аккаунт на устройстве, которое он никогда не использовал, браузер, который лжёт о себе, антидетект-браузер, перемещение, невозможное за такое время. Каждый случай возвращается как доказательство, поэтому второй фактор вы запрашиваете только тогда, когда это действительно нужно.

signup · login · checkout

Обнаружение ботов и автоматизации

Headless-браузеры, фреймворки автоматизации, ИИ-агенты, опознанные по сигнатуре, и трафик из дата-центров. BOT_AUTOMATION и NETWORK_HOSTING говорят, что было замечено; покрытие говорит, сколько удалось увидеть.

signup · deposit · promotions

Фейковые аккаунты и мультиаккаунты

Аккаунты и люди на устройство и на IP, насколько редок профиль устройства в вашей базе, один и тот же сбор, повторённый на другом устройстве. Контекст, который могут учитывать ваши правила, а не автоматический вердикт: у одного человека может быть несколько легитимных аккаунтов.

withdrawal · pix_transfer · trade

Мошенничество с выплатами, Pix и переводами

Вывод средств в первый час после появления нового устройства, получатели, общие для нескольких аккаунтов, связи с теми, кого вы отметили как подтверждённое мошенничество. Деньги удерживает или проверяет ваш бэкенд — мы никогда.

любой сценарий

Эмуляторы и поддельные браузеры

Эмуляторы Android и виртуализация, GPU, невозможный для заявленной системы, версия браузера, которую опровергают его собственные API. Сигналы фингерпринтинга устройств (device fingerprinting) читаются как хеши и семейства, никогда как сырые пиксели.

любой сценарий

Обнаружение VPN, прокси и Tor

Известные VPN-провайдеры, публичные прокси, выходные узлы Tor, хостинговые диапазоны и Apple iCloud Private Relay — по опубликованным спискам, которые мы обновляем на своей стороне. Анонимизация — это контекст, а не вина: ваша политика решает, какой вес ей придать.

04 · Показатели

Раздельные показатели. Никакого среднего под видом уверенности.

Если свести уверенность, покрытие и совпадение устройства в одно число, скроется именно то, что аналитику нужно видеть: проблема в доступе или в доказательствах.

trust_score

Уверенность в доступе

72

0100 · чем выше, тем лучше

Отвечает, насколько можно доверять этому доступу при данной версии политики; отправленный вами тег на это не влияет. Целое число от 0 до 100. Существует только при assessment_status = COMPLETED; во всех остальных состояниях оно равно null и никогда не является значением по умолчанию.

Не вероятность мошенничества, не репутация человека и не значение по умолчанию при отсутствии данных. Мы показываем 72/100, а не «надёжен на 72%».

device_match_confidence

Совпадение устройства

0.94

01 · максимум 0,98

Сила доказательств того, что этот доступ идёт с того же устройства, которое уже встречалось, от 0 до 1. Приходит вместе с device_id — непрозрачным публичным идентификатором вероятностного кластера.

Не личность человека и не доказательство конкретного железа. Party и Account — разные сущности.

evidence_coverage

Достаточность доказательств

100

0100 · оценено 13 из 13

Какую часть ожидаемого набора проверок удалось выполнить, от 0 до 100. Каждый применимый индикатор, оставшийся NOT_EVALUATED, снижает покрытие и отражается в limitation_codes.

Не входит в оценку. Низкое покрытие не тянет оценку вниз и не поднимает её: оно делает оценку неокончательной.

Почему мы их не складываем

Единый балл «подозрительности» смешивает три разных вопроса: заслуживает ли этот доступ доверия? Достаточно ли было доказательств? То же ли это устройство? Когда ответы приходят раздельно, аналитик понимает, запросить ли второй фактор, дождаться сбора данных или посмотреть историю. Когда они слиты, он знает лишь, что «вышло 42».

05 · 13 индикаторов

Тринадцать индикаторов. Каждый сообщает: увидел, не увидел или не смог оценить.

Каждая веб-оценка всегда возвращает все 13 кодов. Меняется состояние каждого, но не сам список. У каждого индикатора свой версионированный детектор, и в ответе указана версия, которая его оценила. Отсутствующий, устаревший или сбойный детектор никогда не превращается в false.

signal_catalog web · 13 кодов · пример withdrawal_completed

  • Detected
  • Not_detected
  • — Not_evaluated

Целостность среды

Приватность браузера · нейтральный контекст

Сеть · нейтральный контекст

Устройство

reason_codes · NETWORK_TOR_DETECTED REVIEW

В наших управляемых политиках один лишь Tor никогда не оправдывает BLOCK_RECOMMENDED; правила, которые настраивает ваша компания, следуют выбранным ею весам и порогу. В этом примере контракта v1 policy-withdrawal-v1 запросил проверку вывода средств, а не блокировку, и единственный reason code говорит именно об этом. Управляемая политика в продакшене сегодня рекомендует MONITOR при любой оценке.

Один индикатор, три состояния

  • Detected · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · пример withdrawal_completed
  • Not_detected · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · пример login_completed
  • — Not_evaluated · NETWORK_TOR not_evaluated_reason_code PROVIDER_UNAVAILABLE · limitation_codes ["PROVIDER_UNAVAILABLE"] · evidence_coverage 69 · пример provider_unavailable

Отсутствующий, устаревший или сбойный детектор никогда не превращается в false. NOT_APPLICABLE берётся только из неизменяемой матрицы каталога по каналу, движку и платформе; ваш тег никогда её не меняет, а отключённая политика, тайм-аут или сбой никогда не идут этим коротким путём.

Нейтральный контекст по умолчанию

PRIVATE_BROWSINGBROWSER_PRIVACY_BRAVEBROWSER_PRIVACY_SAFARIBROWSER_PRIVACY_SAMSUNG_INTERNETNETWORK_PROXYNETWORK_VPNNETWORK_TOR

Они могут ограничивать то, что мы наблюдаем. Покрытие падает только там, где доказательства не оценены. Это не мошенничество. Они описывают среду, а не обвиняют человека. В наших управляемых политиках сами по себе они никогда не оправдывают BLOCK_RECOMMENDED; правила, которые настраивает ваша компания, следуют выбранным ею весам и порогу. Когда тип сети нельзя различить, как за Apple iCloud Private Relay, хостинг, VPN и прокси остаются NOT_EVALUATED с NETWORK_TYPE_AMBIGUOUS: мы никогда не ставим три срабатывания по одному булеву значению.

Сетевые доказательства берутся из опубликованных справочных списков, которые мы обновляем на собственной инфраструктуре: адреса выходных узлов Tor, диапазоны облачных провайдеров, списки хостинговых сетей, диапазоны VPN-провайдеров и база публичных прокси. Адреса ваших пользователей никогда не отправляются издателям списков. Список, превысивший максимальный возраст, оставляет свой индикатор NOT_EVALUATED, а не NOT_DETECTED.

06 · Контекстные инсайты

Помимо 13 индикаторов — 54 контекстных инсайта. Для расследования и для вашего скоринга, когда вы сами так решите.

Внутри каждой оценки, до ответа, мы вычисляем 54 контекстных инсайта по собранным данным и по собственной истории вашей компании: кто ещё пользуется устройством, как быстро действует аккаунт, из какой сети, рядом с какими аккаунтами. Управляемая политика FingerTrackID не включает их в оценку. В ваших собственных правилах риска любой из них может быть выключен, работать в фоновом (ghost) режиме или быть активным, с баллами за «необычно» и «очень необычно»: сработавший активный инсайт снижает trust score и называет себя в reason_codes.

context-insight.v1 · 54 инсайта в шести темах · с той же группировкой, что в консоли и в ваших правилах

  • Аккаунт и устройство · 10

    Новое устройство и новая операционная система для аккаунта · разные аккаунты и люди на устройстве за 30 дней · аккаунты одного и того же человека на нём · устройства на аккаунт и на человека за 24 часа · устройство с высокой активностью · насколько распространён, необычен или редок профиль устройства в вашей компании · потерянный cookie устройства

  • Выводы средств и заказы · 7

    Выводы средств в первый час после нового устройства · получатели на устройство и аккаунты на получателя за 30 дней · число и сумма выводов на аккаунт · число заказов на аккаунт и медианный интервал между заказами

  • Сеть и местоположение · 12

    Новая страна и новый интернет-провайдер (ASN) для аккаунта · разные страны, провайдеры и IP на аккаунт · аккаунты и люди на IP · невозможное перемещение · часовой пояс браузера, не совпадающий со страной IP · страна выхода VPN · провайдер из публичного списка злоупотреблений · Apple iCloud Private Relay

  • Целостность браузера и SDK · 16

    Открытые инструменты разработчика · признаки автоматизации · маркер антидетект-браузера · TLS-сигнатура, не совпадающая с заявленным браузером, и её стабильность за 30 дней · программный рендерер и семейство GPU · canvas или аудио, меняющиеся между двумя считываниями · встроенный браузер приложения · возможный гостевой режим · ИИ-агент, опознанный по сигнатуре · категория бота · SDK, отличающийся от утверждённого пакета · одна сессия SDK на нескольких устройствах · идентичный сбор, повторённый на другом устройстве · cookie устройства, использованный в слишком удалённых друг от друга местах

  • Частота · 5

    Входы на устройство и на аккаунт за 5 минут, 1 час и 24 часа; на IP за 5 минут и 1 час · оценки с одним и тем же тегом на аккаунт и на устройство за 1 минуту, 5 минут и 1 час

  • Связи между аккаунтами, один шаг · 4

    Другие аккаунты, использовавшие те же устройства · соседние аккаунты, у которых обнаружены автоматизация или подделка браузера · соседние аккаунты, которые вы отметили как подтверждённое мошенничество · получатели выводов, общие с другими аккаунтами

Три состояния · причина, а не ноль

  • Наблюдается · условие присутствует, либо счётчик или показатель отличается от нейтрального значения.
  • Не наблюдается · оценено; отсутствует или нейтрально.
  • Не оценено · всегда с причиной, никогда не показывается как ноль.

Некоторые инсайты зависят от того, что вы отправляете. Без ссылок на аккаунт или человека, без тега или без результатов элемент так и говорит: аккаунт не передан, оценка без тега, результаты не переданы. Запрос с тегом не содержит суммы или получателя, поэтому элементы о сумме вывода и получателе тоже сообщают об этом. Первый вход, анонимизированная сеть или IP вне часового окна проверки — тоже причины.

Чем они не являются

  • Не один из 13 индикаторов и никогда не код ограничения. Они попадают в reason_codes только через правило, которое ваша компания сделала активным.
  • Никогда не входят в оценку управляемой политики FingerTrackID. Активный инсайт без данных ничего не снижает: недостающие доказательства никогда не становятся риском.
  • Не скрытая модель: каждый инсайт читается как ожидаемый, необычный или очень необычный по шкале, которую ваша компания может настроить, начиная с опубликованного значения по умолчанию.
  • Не обвинение: большое число аккаунтов или людей на одном устройстве — не доказательство мошенничества, и правила «N аккаунтов на устройство = мошенничество» нет.

Где их читает аналитик

Детали доступа. Карточка «Контекст доступа» группирует инсайты по темам, с их временными окнами, границей учтённой истории, степенью необычности каждого по вашей шкале и причиной для каждого элемента без значения. Инсайт, не уложившийся во временной бюджет оценки, досчитывается в фоне и сообщает об этом; он никогда не задерживает ответ и не приводит к его сбою.

Каталог индикаторов. Одна страница объясняет, что ищет каждый из 13 индикаторов, что оставляет его неоценённым и может ли он влиять на оценку, а также перечисляет контекстные инсайты с причинами, по которым они могут остаться без значения.

Canvas, WebGL, аудио и шрифты считываются в рамках управляемой политики сбора каждой компании, только как производные значения, и питают несколько из этих инсайтов, например семейство GPU, программный рендерер или рендер, меняющийся между двумя считываниями. Если браузер не позволяет проверку, элемент остаётся неоценённым, с указанием причины.

07 · «Неокончательно» — тоже результат

Когда мы не можем оценить, мы так и говорим — и объясняем почему.

Недостающие доказательства не дают уверенность 100 и не становятся сигналом мошенничества. Без оценки рекомендация берётся из резервного правила (fallback), зафиксированного внутри версии политики и покрытого её хешем, и это один ответ для всех состояний без оценки, каким бы ни был тег: MONITOR. Никогда ALLOW.

Случаи без оценки из примеров контракта

Тег никогда не выбирает fallback. В управляемой политике любое состояние без оценки, при любом теге, рекомендует MONITOR: продолжить и зафиксировать. Так же и в трёх примерах контракта ниже.

  • INCONCLUSIVEтег login · SDK не загрузился

    MONITOR

    Сбора не было: trust_score: null, evidence_coverage: 0, COLLECTOR_NOT_LOADED, основание INSUFFICIENT_EVIDENCE. Ничего никогда не пропускается как ALLOW.

  • INCONCLUSIVEсетевые доказательства недоступны

    MONITOR

    Четыре сетевых индикатора NOT_EVALUATED, evidence_coverage: 69, PROVIDER_UNAVAILABLE. Какой бы ни была операция, она остаётся в вашей системе и под вашим решением; мы никогда не удерживаем деньги.

  • FAILEDтег pix_transfer · политика недоступна

    MONITOR

    Технический сбой: POLICY_UNAVAILABLE, policy_version: null, основание TECHNICAL_FAILURE. Никогда не читается как «риска нет».

Без оценки мы никогда не рекомендуем ALLOW · fallback_policy_version production-observation-fallback-v2 в примерах · fallback проверяется вместе с политикой при каждом её чтении

Четыре состояния оценки

Completed 72 basis EVALUATION · reason_codes объясняют оценку
Inconclusive null basis INSUFFICIENT_EVIDENCE · limitation_codes говорят, чего не хватило
Unscorable null basis OUT_OF_POLICY_SCOPE · событие валидно, но политика его не охватывает
Failed null basis TECHNICAL_FAILURE · POLICY_UNAVAILABLE, policy_version null · никогда не «риска нет»

14 кодов ограничений каталога · чего не хватило, а не почему это рискованно

NO_FIRST_PARTY_COOKIEINSTALLATION_COOKIE_REJECTEDNO_EDGE_SIGNALSSTALE_DEVICE_PROFILEPROVIDER_UNAVAILABLEPROVIDER_BUDGET_EXCEEDEDCOLLECTOR_NOT_LOADEDUNSUPPORTED_RUNTIMEREQUIRED_EVIDENCE_MISSINGDETECTOR_TIMEOUTDETECTOR_ERRORNETWORK_TYPE_AMBIGUOUSCLIENT_CLOCK_SKEWPOLICY_UNAVAILABLE

Код ограничения объясняет сбор и качество данных; reason code объясняет политику. Каждый индикатор NOT_EVALUATED указывает на свой код; оценка собирает их все в limitation_codes. Ограничение сбора никогда не является причиной риска.

08 · Решаете вы

Пять рекомендаций. Ноль действий с нашей стороны.

recommended_action говорит, что предлагает политика. customer_action говорит, что сделали вы. Два поля, потому что это два разных факта.

Кто рекомендует, кто решает, кто действует

FingerTrackID рекомендует

  • ALLOW
  • MONITOR
  • STEP_UP
  • REVIEW
  • BLOCK_RECOMMENDED

Никогда только из-за приватности · Tor, VPN, прокси, инкогнито, общее устройство

Решает ваш процесс

Ваш бэкенд решает и действует. Мы возвращаем рекомендацию; сегодня управляемая политика отвечает MONITOR, только наблюдение. Что произойдёт с доступом, решается и исполняется на вашей стороне. Вы знаете аккаунт, лимит, историю и цену лишнего трения. Мы — нет.

Вы действуете и сообщаете нам

  • ALLOWED
  • CHALLENGED
  • HELD
  • REVIEWED
  • BLOCKED
  • CANCELLED

customer_action · поле, которое вы отправляете обратно

  • Мы никогда не аутентифицируем человека.
  • Мы никогда не блокируем ваш интерфейс.
  • Мы никогда не перемещаем деньги.

Чего не означает каждая рекомендация

  • ALLOW

    Политика не нашла причин для трения при этом доступе. Не означает, что человек легитимен или что доступ сертифицирован. Выдаётся только при наличии оценки и оценённых обязательных доказательствах.

  • MONITOR

    Продолжить, но зафиксировать. Это fallback без оценки для любого тега, а сегодня — и ответ управляемой политики при любой оценке. Не означает подтверждённого подозрения и не требует от пользователя никаких действий.

  • STEP_UP

    Запросить второй фактор или подтверждение. Не означает, что мы кого-то проверяем: проверку показываете вы.

  • REVIEW

    Отправить на ручную проверку. Не означает, что мы удерживаем деньги: операция остаётся в вашей системе и под вашим решением.

  • BLOCK_RECOMMENDED

    Политика предлагает отказать. Не означает выполненной блокировки, подтверждённого мошенничества или бана. Когда блокируете вы, это становится customer_action: BLOCKED — вашим событием, — и оно идёт в измерение точности.

09 · Интеграция

Три шага, один контракт. Браузер собирает, ваш бэкенд спрашивает, мы отвечаем.

Один скрипт на вашем сайте, один server-to-server эндпоинт в вашем бэкенде и два вызова, чтобы сообщить о действии и результате. Никаких решений на клиенте.

SDK на вашем сайте

SDK собирает данные и возвращает токен. И всё.

Отдаётся с вашего поддомена. Прежде чем вы отправите запрос, который хотите оценить, на каком бы экране это ни было, он собирает сигналы браузера и среды и получает 202 PROCESSING: это подтверждение приёма, а не результат. Сетевые сигналы добавляет edge на вашем домене сбора, никогда не скрипт. Ни оценка, ни сигналы, ни решение не возвращаются в браузер.

import { initializeSdk } from '@ftid/sdk-web'

// publicKey is a public locator, not a secret.
// collectionOrigin is YOUR collection domain (https).
const sdk = initializeSdk({
  publicKey: 'pub_app_0123456789abcdef',
  collectionOrigin: 'https://collect.yourcompany.com',
})

// ACCEPTED (202 PROCESSING on the wire): confirms receipt, not a result.
const collection = await sdk.collect()
if (collection.status !== 'ACCEPTED') {
  // Without collection the journey continues; the backend will get
  // INCONCLUSIVE / COLLECTOR_NOT_LOADED: no fake score.
  return continueWithoutToken()
}

// Create the event before sending the request to be assessed.
const event = sdk.createEvent(collection.observation)

// Only a COMPLETED collection yields a token. The token goes in the POST
// that YOUR backend makes; the decision never comes back here.
const ctx = await sdk.getEventContext(event)
const token =
  ctx.status === 'COMPLETED'
    ? ctx.eventContextToken
    : null

Ваш бэкенд вызывает

Один подписанный синхронный вызов в пределах вашего дедлайна.

HMAC-SHA-256 по десяти каноническим строкам — маркер, key_id, метод, путь, временная метка, идентификаторы события и запроса, метаданные содержимого и SHA-256 точных байтов тела в последней строке. Никогда не пересериализуйте JSON перед хешированием; в контракте есть нормативный вектор. key_id — единственный публичный локатор. Секрет никогда не передаётся. Канонический вектор requests.both_refs_deadline_750 из контракта v1.1: тот же маршрут и та же подпись, что в v1, с tag вместо journey, action и journey_context.

POST /v1/assessments HTTP/1.1
Host: api.fingertrackid.com
Content-Type: application/json
X-FTID-Signature: v1=<key_id>:<mac-hex>
X-FTID-Timestamp: 1791720000
X-FTID-Request-Id: <uuidv7 of the attempt>
X-FTID-External-Event-Id: evt:tag-0003

{
  "schema_version": "event-assessment-request.v1.1",
  "external_event_id": "evt:tag-0003",
  "idempotency_key": "idem-tag-0003",
  "occurred_at": "2026-10-11T12:00:00.000Z",
  "subject_ref": "subject:synthetic",
  "account_ref": "account:synthetic",
  "event_context_token": "ctx.synthetic-token_0003",
  "tag": "pix_transfer_a1b2c3d4e5f6g7h8i9j0abcdeabcdeabcdeabcdeabcdeabcdez",
  "deadline_ms": 750
}

tag — это slug в нижнем регистре длиной до 64 символов (буквы, цифры и подчёркивание, не более десяти цифр), никогда не персональные данные; этот вектор находится на этой границе · subject_ref и account_ref могут быть null, а account_ref требует subject_ref · ref — это ваши непрозрачные коды, никогда не паспортные данные, email или последовательный ID · deadline_ms — целое число от 250 до 5000 или null для 5000; при превышении возвращается Problem 503 с возможностью повтора, а не частичная оценка

Синхронный ответ

Прочитайте, решите, сообщите, что сделали.

status
COMPLETED
trust_score
72
device_match
0.94
coverage
100
reason_codes
NETWORK_TOR_DETECTED
limitations
none
policy
policy-withdrawal-v1
expires_at
+5 min
REVIEW

Затем два вызова обратной связи: customer_action с тем, что вы сделали, и, когда станет известно, truth_status с реальным результатом (исход: легитимно, мошенничество подтверждено или недостаточно доказательств). Контракт держит оба вызова в той же дисциплине, что и вызов оценки: ничто не считается принятым до надёжной фиксации, а идентичный повтор не создаёт второго эффекта. Исход можно исправить позже — исправление добавляется как преемник, а предыдущая запись остаётся доступной для чтения.

POST /v1/assessments/{assessment_id}/customer-actions
POST /v1/assessments/{assessment_id}/outcomes

↑ назад к полному примеру

  • Web SDK
  • Синхронный S2S API
  • Серверный SDK для Node.js
  • MCP-сервер для ИИ-агентов разработки
  • API действий и исходов
  • Консоль

Веб, в любом современном браузере · без установки приложения · SDK, оценка и обратная связь в одном версионированном контракте

npm install @fingertrackid/server подписывает вызов за вас, а @fingertrackid/mcp позволяет Claude Code, Cursor или любому ИИ-агенту разработки с поддержкой MCP собрать интеграцию по опубликованному контракту. Пошагово — в быстром старте, руководстве по Web SDK и справочнике API.

10 · Нулевое доверие к браузеру

Браузер только собирает данные. Решение и идентификатор через него никогда не проходят.

Ничто, пришедшее из браузера, не считается авторитетным. Оценка идёт server-to-server, подписана, и каждая попытка учитывается один раз: повтор не создаёт нового эффекта.

Кто с кем общается

Browser Your backend FingerTrackID event_context_token (that is all) HMAC · request_id assessment no decision no device_id

Браузер получает только непрозрачные идентификаторы сессии и события. Оценка, сигналы и рекомендация рождаются и остаются на сервере. Собственный (first-party) cookie подписан, HttpOnly, Secure и ограничен вашим тенантом и приложением.

Анатомия вызова

POST /v1/assessmentssecurity ftidHmacV1 из контракта
X-FTID-Signature: v1=<key_id>:<mac-hex>key_id UUIDv7 — единственный локатор; тенант, приложение, среда и возможности становятся авторитетными только после валидного MAC при сравнении за постоянное время. X-Client-Id, устаревший nonce и множественные подписи отклоняются.
X-FTID-Timestamp: 1791720000Epoch в секундах. Допуск ±300 с. Временная метка из будущего никогда не продлевает хранение.
X-FTID-Request-Id: <uuidv7>Одно использование на попытку, резервируется после валидного MAC. Логический повтор подписывает новый request_id; невалидный MAC не создаёт резервирования.
X-FTID-External-Event-Id: evt:tag-0003Байт в байт совпадает со значением в теле и в подписываемой строке.
body.idempotency_keyТот же ключ — та же операция: идентичный повтор возвращает ту же сохранённую оценку без пересчёта.
body.deadline_msВаш бюджет. Превышен до оценки: Problem assessment-unavailable (503, retryable: true), а не частичная оценка.
  • 401единообразно: несуществующий key_id, отозванный или неверная подпись дают один и тот же authentication-failed.
  • 403аутентифицированные учётные данные без права на оценку для этого маршрута.
  • 503зависимость секретов недоступна: глобальная защёлка делает ответ единообразным, не раскрывая, существует ли key_id. Подпишите новый request_id.

11 · Версионированная политика

У каждого решения есть версия. Версия фиксирует всё, что на него повлияло.

Изменение чувствительности одного индикатора создаёт новую версию — с автором, периодом действия, симуляцией и откатом. История не меняется. Отсутствие реальной версии блокирует использование.

Версия, принявшая решение · пример withdrawal_completed

policy-withdrawal-v1

fallback_policy_version
production-observation-fallback-v2
ruleset_version
ruleset-web-v1
signal_catalog_version
web-detectors-v3
feature_schema_version
configured-assessment-features.v1
resolver_version
first-party-installation-v1
sdk_version
0.1.0
provider_versions
asn-reputation.v1 · cloud-ranges.v1 · icloud-private-relay.v1 · ip2proxy-lite-px2.v1 · tor-exit.v1 · x4b-vpn.v1
evidence_cutoff_at
2026-09-04T12:00:00Z
evaluated_at
2026-09-04T12:00:01Z
expires_at
2026-09-04T12:05:00Z
correlation_id
corr-assessment-withdrawal-0001

correlation_id нужен для поддержки без раскрытия персонального идентификатора. Раскрываемые версии — непрозрачные публичные метки; внутренние ID базы данных никогда не появляются ни в API, ни в вебхуке, ни в консоли.

Что фиксирует версия политики

  • каталог сигналов
  • нормализация
  • признаки (features)
  • резолвер устройств
  • правила
  • стратегия корреляции
  • уровни по индикаторам
  • ограничения и пороги

Воспроизводимо, никогда не переписывается

пример login_completed

assessment_version1

supersedes_assessment_idnull

пример login_completed_revision_2

assessment_version2

supersedes_assessment_id…0000000101

Операционная ревизия сохраняет политику и все остальные версии, действовавшие на момент received_at события. Новая политика поверх старого события — это отдельная симуляция; она никогда не переписывает, какая рекомендация направляла историческое решение.

12 · Теневой режим

Сначала параллельно. Только потом ответ влияет на действие.

Теневой режим — это запуск FingerTrackID бок о бок с тем, что вы используете сегодня, без влияния ответа на какие-либо решения. Вы сравниваете, сообщаете реальные результаты и только потом начинаете использовать рекомендацию. Именно так мы рекомендуем начинать.

Полный цикл

  1. 01

    SDK собирает данные

    202 PROCESSING · event_context_token

  2. 02

    Ваш бэкенд запрашивает оценку

    POST /v1/assessments · синхронно

  3. 03

    Вы решаете в своём процессе

    в тени, без использования ответа

  4. 04

    Вы сообщаете о действии

    customer_action · POST …/customer-actions

  5. 05

    Вы сообщаете о результате

    truth_status · POST …/outcomes

recommendation_alignment · вычисляется на сервере по паре рекомендация × действие; клиент его никогда не задаёт. Совпадение не доказывает ни причинности, ни точности, ни мошенничества.

Сравнение, поле за полем

recommended_actioncustomer_actionrecommendation_alignment
REVIEWREVIEWED или HELDALIGNED
STEP_UPALLOWEDNOT_ALIGNED
ALLOW или MONITORALLOWEDALIGNED
BLOCK_RECOMMENDEDBLOCKEDALIGNED
любоеCANCELLEDNOT_COMPARABLE

Блокировка не доказывает мошенничество. Подтверждение мошенничества требует независимых доказательств: truth_status переходит из PENDING в LEGITIMATE, FRAUD_CONFIRMED или INSUFFICIENT_EVIDENCE, со зрелостью PROVISIONAL или MATURE. Только зрелая метка становится метрикой качества.

Что питает этот цикл

  • Ложноположительные и ложноотрицательные срабатывания как метрики, выведенные из зрелых меток, а не вводимые вручную поля.
  • Перекалибровка правил и порогов, всегда в виде новой версии политики.
  • Качество детекторов, измеренное в вашем теневом режиме, до того как ответ повлияет на какое-либо ваше действие.
  • Чего он не делает: не превращается в автоматическое применение мер. customer_action и truth_status — отдельные факты, и каждое исправление создаёт преемника.

13 · Приватность по контракту

Ограничено контрактом, а не настройкой.

Персональные данные в открытом виде продукту не нужны. Вы отправляете непрозрачные ссылки на человека и аккаунт; мы не запрашиваем паспортные данные, email или номер телефона, чтобы оценить доступ.

packages/contracts/src/sdk-handshake-v1.ts · политика сбора

canvas: z.boolean(),
audio: z.boolean(),
fonts: z.boolean(),
behavioral: z.literal(false),

packages/contracts/src/sdk-signals/rendering-v1.ts · фрагмент

const Hash128 = z.string().regex(/^[0-9a-f]{32}$/)
canvas_hash: Hash128.optional(),
webgl_gpu_family: z.enum(SDK_RENDERING_GPU_FAMILY_V1).optional(),
audio_hash: Hash128.optional(),
fonts_count: z.number().int().min(0).max(SDK_RENDERING_FONT_COUNT_V1).optional(),

Поведенческий сбор — движения указателя и нажатия клавиш — принимает только значение «выключено»: чтобы его включить, нужно менять контракт, а не настройку. Canvas, WebGL, офлайн-аудио и наличие шрифтов считываются в рамках управляемой политики сбора, которая включает их для каждой компании, и покидают браузер только как производные значения: хеши фиксированной длины, закрытое семейство GPU, счётчик и маска наличия по фиксированному списку шрифтов. В контракте нет полей для пикселей, аудиосэмплов, названий производителя или рендерера GPU и названий шрифтов. Вместе эти производные значения позволяют снова узнать тот же браузер, поэтому они считаются данными устройства, а не анонимными данными. Никогда не собираются — абсолютное правило: пароль, набранный текст, содержимое чатов или документов, буфер обмена, снимок экрана, микрофон, камера. У каждого доказательства есть класс приватности, и класс — это не вес риска.

Гарантии, которые не зависят от доброй воли

  • Персональные данные не попадают в логи. Сырые данные не отображаются в консоли свободно: каждый доступ к ним фиксируется. Идентификатор или персональное значение никогда не попадают в URL.
  • Корреляция между тенантами отключена. Каждая доменная таблица содержит tenant_id с изоляцией, принудительно обеспечиваемой в базе данных. Никакой общей репутации или меток между клиентами нет.
  • Собственный (first-party) cookie отдаётся с вашего домена: подписан, HttpOnly, Secure, ограничен вашим тенантом и приложением. Значение никогда не попадает в базу данных, очередь или лог; если cookie нет или он отклонён, непрерывность снижается как ограничение, а оценка не останавливается.
  • Каждое слияние устройств обратимо и фиксирует версию резолвера, который его выполнил. IP никогда не объединяет устройства сам по себе.
  • У каждого вида доказательств в нашем реестре данных объявлены цель, класс приватности, правило доступа и срок хранения. Правовое основание, место хранения данных и DPA согласуются с вашими юристами при заключении договора; ничто на этой странице не является юридической консультацией.

Party — это не Account

Party Account Account Account

Связь приходит от вашего бэкенда · никогда не выводится из фингерпринта

Один человек, несколько легитимных аккаунтов. Аккаунт никогда молча не меняет владельца; сессия переходит только от анонимной к человеку, а затем к аккаунту того же человека. Противоречие — это конфликт, а не новая связь и не импровизированное негативное доказательство.

Где хранятся данные

cloud
Google Cloud, us-central1 region
source of truth
PostgreSQL, single
isolation
RLS forced per tenant, with a negative test
secrets
Secret Manager; never in code or in infrastructure state
logs
no PII; raw data never displayed freely

14 · Консоль

Консоль, чтобы интегрировать, расследовать и замыкать цикл.

Консоль сначала отвечает на вопрос «мы получаем, оцениваем и объясняем качественно?» и лишь потом позволяет говорить о легитимности. Каждый процент называет свой знаменатель.

Схема, а не скриншот · внутри рамки — цвета консоли

Детали доступа. Три показателя как три отдельных компонента; рекомендация с её recommendation_basis, действующая политика и то, что, по словам вашей команды, было сделано; свежесть доказательств; 13 индикаторов с состоянием, применимостью, источником, уверенностью детектора, свежестью и причиной для каждого неоценённого; ограничения и reason codes; сессия, устройство и их связи; множественность на устройстве; приблизительное местоположение по сети; контекст доступа; и вкладка технических данных со всем, что собрали SDK и edge, включая реальную версию браузера, прочитанную из предоставляемых им API, рядом с заявленной версией.

Фильтры расследования. Список доступов сужается по интернет-провайдеру (ASN), стране сети, установке устройства, причине, по которой индикатор не был оценён, и до двух индикаторов в выбранных состояниях одновременно; доступ также находится по вашей собственной ссылке на аккаунт или человека. Фильтра по IP-адресу нет: это персональные данные. В деталях каждого доступа есть и его контекстные инсайты ↑.

Глубокое расследование. Из любого доступа открывается граф связей с устройствами и аккаунтами вокруг него, по одному шагу, на глубину до 92 дней вашей собственной истории. Каждое раскрытие — зафиксированное чтение; IP-адреса никогда не становятся узлами.

Чёрные и белые списки. Из деталей доступа ваша команда добавляет устройство, ссылку на аккаунт или отдельный IP в чёрный список вашей компании (блокировка или проверка) или в белый список, с заметкой и именем того, кто добавил. Для production-доступа с оценкой запись переопределяет рекомендацию и называет себя в reason_codes. Ничего не удаляется: удаление записи фиксирует, кто и когда её удалил.

ИИ-ассистент. Боковая панель объясняет каждый экран и отвечает на вопросы о вашей интеграции и ваших доступах — в пределах вашей компании и вашей роли.

Настройка риска. Собственные правила риска вашей компании для каждого приложения: каждый из 13 индикаторов выключен, работает в фоновом (ghost) режиме или активен, с весом от 1 до 100 баллов, а вы задаёте диапазоны оценки и действие для каждого. Фоновое правило вычисляется и записывается, но никогда не меняет ответ. Перед публикацией карточка влияния прогоняет ваш черновик по оценкам за последние 1, 7 или 30 дней. Любой из 54 контекстных инсайтов ↑ может присоединиться к ним со своими баллами. Ваш администратор или руководитель по рискам публикует напрямую; каждая публикация — новая проверяемая версия, а всё в фоновый режим разом останавливает все ваши правила. FingerTrackID никогда не активирует правило за вас: поддержка может лишь перевести все правила приложения в фоновый режим, с причиной, которую показывает ваша консоль. Пока ни одно правило не активно, отвечает управляемая политика, опубликованная командой FingerTrackID с зафиксированным одобрением.

Шестнадцать экранов в четырёх группах · основное, обнаружение, операции, администрирование

  • 01Главная
  • 09Интеграция и состояние
  • 02Обзор
  • 10Использование
  • 03Доступы
  • 11Экспорт
  • 04Очередь проверки
  • 12Отчёты
  • 05Настройка риска
  • 13Пользователи и доступ
  • 06Симуляции политик
  • 14Аудит
  • 07Списки
  • 15Жизненный цикл клиента
  • 08Каталог индикаторов
  • 16Аккаунт и безопасность

Очередь проверки — это модуль проверки выводов средств: операционная очередь на том же ядре, которая передаёт человеку каждый вывод v1 с рекомендацией REVIEW, вместе с доказательствами. Оценки с тегом в неё никогда не попадают, и она остаётся пустой, пока политика рекомендует MONITOR, как управляемая политика делает сегодня.

На английском, португальском (Бразилия и Португалия), испанском, французском и немецком. Вход по passkey или со вторым фактором; права по ролям; журнал аудита — кто видел чувствительные данные и кто что изменил. Сырые данные не отображаются свободно: каждый доступ к ним фиксируется.

15 · Как мы тарифицируем

Одна единица тарификации. Всё остальное не считается.

Цена зависит от объёма завершённых сборов и указывается в коммерческом предложении. Теневой режим расходует те же единицы и отображается в консоли как расчётное использование; что попадает в счёт за этот период, определяется в предложении.

Единица

Один production-снимок device intelligence, запрошенный вашей интеграцией и завершённый.

Это единица измерения и кандидат в единицу тарификации. Каждый device_intelligence_snapshot_id даёт не более одной единицы, сколько бы оценок, тегов, провайдеров или повторных обработок ни использовали этот сбор.

  • Оценка, рекомендация, действие и исход не влияют на тарификацию. Рискованный результат не стоит дороже; легитимный не стоит дешевле.
  • Коммерческий лимит никогда не превращается в блокировку, ограничение частоты запросов или автоматическую деградацию сервиса.
  • Каждый запрошенный снимок создаёт неизменяемую запись об использовании, даже если он не тарифицируется. Исключения доказываются этой записью, а не восстанавливаются по логам.

Событие · создаёт единицу?

  • Не-production приложения (development, staging)нет
  • Повтор с тем же idempotency_keyнет
  • Любая оценка с любым тегом, повторно использующая свежий снимокнет
  • Повторная обработка, исторический replay, смена политикинет
  • Асинхронное обогащение и обновление, запущенные наминет
  • Вызов провайдера или повторнет
  • Доставка вебхуканет
  • customer_action и исходнет
  • Запрос, дашборд, отчёт, экспортнет
  • 4xx из-за аутентификации, авторизации или невалидного контрактанет
  • 5xx, тайм-аут на нашей стороне, сбор INCONCLUSIVE или FAILEDнет
  • Production-снимок, запрошенный интеграцией, завершёнда · 1

Предложение по объёму, с учётом использования в теневом режиме.

Запросить предложение

16 · FAQ

Вопросы, которые задают руководитель по рискам и CTO.

Q01С чего начинается интеграция?
С теневого режима. Вы устанавливаете SDK на сайт, включаете server-to-server вызов, и ответ начинает работать параллельно с вашим реальным процессом, не затрагивая ни одного решения. Вы отправляете обратно customer_action и исход, а в консоли сравниваете, доступ за доступом, рекомендацию с тем, что, по словам вашей команды, было сделано, и следите за покрытием доказательствами. Когда цифры сходятся, ваша команда решает, начнёт ли рекомендация влиять на решения и где, — исполняет их всегда ваш бэкенд.
Q02Какие сценарии вы оцениваете?
Любой экран, который вы выберете. Ваш бэкенд отправляет с каждой оценкой собственный tag — slug в нижнем регистре, например login, withdrawal или pix_transfer: без регистрации, без закрытого списка и без ограничений. Консоль фильтрует, группирует и экспортирует по тегу, а шаблоны (регистрация, вход, восстановление пароля, второй фактор, изменение профиля, депозит, вывод средств, перевод Pix, сделка, оформление заказа) служат руководством по интеграции. Тег никогда не выбирает политику, детекторы, fallback или дедлайн: каждая оценка с тегом проходит по той же политике и тем же 13 индикаторам. Он никогда не должен содержать персональных данных. Запрос не содержит суммы, валюты или получателя.
Q03Почему вы не блокируете?
Потому что событие — это не мошенничество, оценка — не решение, а блокировка ничего не доказывает. Аккаунт, лимит, историю и цену лишнего трения знаете вы. Мы даём доказательства, покрытие и объяснённую рекомендацию. BLOCK_RECOMMENDED — самая сильная рекомендация из возможных, и всё же это рекомендация. Когда вы блокируете, вы фиксируете customer_action: BLOCKED, и это становится данными, чтобы измерить, была ли рекомендация верной.
Q04VPN, Tor или приватная вкладка снижают оценку?
В наших управляемых политиках ни один из них сам по себе не приводит к BLOCK_RECOMMENDED; правила, которые настраивает ваша компания, следуют выбранным ею весам и порогу. Приватный режим и защита браузера — нейтральный контекст: они могут снизить покрытие и отражаются в деталях, без неблагоприятного reason code. Tor, прокси, VPN и хостинг — контекст анонимизации: политика может учитывать их вместе с остальным увиденным, но никогда по тегу. В управляемой политике сегодня оценку двигают только автоматизация и подделка браузера, а рекомендация — MONITOR. В примере контракта v1 для вывода средств на этой странице обнаруженный Tor привёл к REVIEW, и reason code говорит об этом. Само по себе это никогда не мошенничество.
Q05Что, если SDK не загрузился или пользователь блокирует скрипты?
Сценарий продолжается. Ваш бэкенд вызывает API без event_context_token и получает INCONCLUSIVE, trust_score: null, evidence_coverage: 0, limitation_codes: ["COLLECTOR_NOT_LOADED"] и резервную рекомендацию MONITOR. Никогда — выдуманную оценку. Никогда — ALLOW из-за нехватки доказательств.
Q06Какая задержка? Есть ли SLA?
Дедлайн задаёте вы. По умолчанию в контракте 5000 мс, а deadline_ms устанавливает его в диапазоне от 250 до 5000 (для значения по умолчанию держите HTTP-тайм-аут выше примерно 6 с); при превышении вы получаете Problem assessment-unavailable (503, retryable: true, с Retry-After), а не частичный ответ. Повторите ту же логическую операцию с новым request_id. Задержка и SLA входят в предложение и измеряются в вашем теневом режиме до того, как какое-либо решение начнёт зависеть от ответа.
Q07Как убедиться, что ответ не подделан?
Он никогда не проходит через браузер. Ваш бэкенд подписывает каждый вызов HMAC-SHA-256 по десяти каноническим строкам, последняя из которых — SHA-256 точных байтов тела; key_id UUIDv7 — единственный публичный локатор; request_id резервируется против повторного воспроизведения; ошибка аутентификации возвращает единообразный 401, не раскрывая, существует ли ключ. Секрет никогда не передаётся. Нормативный тестовый вектор протокола — часть контракта; с ним вы воспроизводите подпись байт в байт.
Q08Нужно ли отправлять паспортные данные, email или номер телефона?
Нет. Оценка использует непрозрачные ссылки на человека и аккаунт, которые разрешает только ваша система. Персональные данные в открытом виде продукту не нужны. Поведение указателя и клавиатуры отключено в контракте. Проверки canvas, WebGL, аудио и шрифтов выполняются в рамках управляемой политики сбора каждой компании и покидают браузер только как хеши, семейство GPU и маска наличия по фиксированному списку шрифтов — никогда как пиксели, звук, названия GPU или шрифтов. Пароль, набранный текст, буфер обмена, снимок экрана, микрофон и камера запрещены. У каждого вида доказательств объявлены цель, класс приватности и срок хранения; правовое основание проверяется с вашими юристами до включения production, и ничто на этой странице эту проверку не заменяет.
Q09Сколько это стоит и что нужно сделать моей команде?
Цена зависит от объёма завершённых сборов и указывается в предложении. Кандидат в единицу тарификации — снимок, завершённый в production; ничего вне production не считается. С вашей стороны: один скрипт на сайте, один server-to-server эндпоинт в бэкенде для запроса оценки и два вызова API, чтобы сообщить о предпринятом действии и реальном результате (исходе). SDK — веб, работает в любом современном браузере; устанавливать приложение не нужно.
Q10Что такое device intelligence и чем оно отличается от фингерпринтинга устройств (device fingerprinting)?
Фингерпринтинг устройств считывает устойчивые характеристики браузера, чтобы узнать его снова. Device intelligence начинается с этого и идёт дальше: проверяет, согласуются ли эти характеристики между собой и с сетью, работают ли автоматизация, эмулятор или антидетект-браузер, и как это устройство ведёт себя в ваших аккаунтах. FingerTrackID возвращает это как оценку доверия, совпадение устройства с собственной уверенностью, покрытие доказательствами и 13 индикаторов, каждый с версией детектора, который его прочитал.
Q11Можем ли мы задавать собственные правила, скоринг риска и списки?
Да. В консоли ваша компания назначает баллы любому из 13 индикаторов и 54 контекстных инсайтов, выбирает диапазоны оценки и рекомендацию для каждого диапазона и может сначала запустить любое правило в фоновом (ghost) режиме — оно вычисляется и записывается, не меняя ответ. Чёрные и белые списки принимают устройство, ссылку на аккаунт или отдельный IP, по одной записи, с заметкой и именем того, кто добавил. Каждая публикация — новая проверяемая версия. FingerTrackID никогда не активирует правило и не добавляет запись в список за вас.
Q12Может ли ИИ-агент для разработки выполнить интеграцию?
Да. Серверный SDK @fingertrackid/server подписывает вызов, MCP-сервер @fingertrackid/mcp даёт Claude Code, Cursor или любому агенту с поддержкой MCP контракты, векторы подписи, готовый серверный модуль для каждого тега и проверку вашего домена сбора — всё только для чтения, а документация публикует llms.txt и готовый блок правил для вашего AGENTS.md. Секрет остаётся в вашем окружении; агенту никогда не нужно его видеть.
Q13Насколько тяжёлый SDK и замедляет ли он страницу?
SDK собирает данные один раз, параллельно, одним запросом на ваш собственный поддомен сбора. На десктопе полный сбор занимал по медиане примерно от 80 до 125 мс в Chrome, Firefox и Safari при жёстком бюджете 250 мс; каждая проверка занимает не более 2 мс основного потока, а те, что ждут, например тайминг кадров или Worker, ждут параллельно. SDK никогда не показывает запрос разрешений и никогда не блокирует ваш интерфейс.

17 · Контакты

Оцените выбранный вами сценарий в теневом режиме.

Начните с теневого режима: ответ работает параллельно с вашим реальным процессом, не затрагивая ни одного решения, вы сравниваете, сообщаете результаты и только потом начинаете использовать рекомендацию. Если у вас есть экраны, где решение важно, и вы хотите увидеть объяснённый ответ, прежде чем ему доверять, — напишите нам.

Запросить демо

Введите email с доменом.
Введите название компании.
Что вы хотите оценивать

Сценарий — это любой выбранный вами экран с названием, которое вы ему даёте. Отметьте те, что уже имеете в виду; остальное обсудим в разговоре.

Без рассылок · отвечаем по email, лично каждому · или пишите напрямую на contato@fingertrackid.com

С чего всё начинается

  1. 30-минутный разговор о сценариях, которые вы хотите оценивать, и о вашем процессе принятия решений.
  2. Серверные учётные данные для вашего приложения, исполняемый контракт и HMAC-вектор. Песочницы нет: вы тестируете в production, в теневом режиме.
  3. Теневой режим на вашем реальном процессе: вы сравниваете и сообщаете результаты, прежде чем ответ повлияет на какое-либо решение.
  4. Production на экранах с вашими тегами, с версионированной политикой; каждое решение остаётся за вашим бэкендом.

Что входит

  • Консоль с покрытием доказательствами и, доступ за доступом, рекомендацией рядом с действием, о котором вы сообщили
  • Исполняемый контракт event-assessment.v1 с тестовым HMAC-вектором
  • Теневой режим в production с первого дня: ответ работает рядом с вашим процессом и никогда не затрагивает решения
  • Прямой канал с теми, кто пишет политику