01 · Device intelligence w zapobieganiu oszustwom Ścieżki, które oznaczasz tagiem

API device intelligence i ryzyka oszustw dla weba Oceń każdy dostęp. Decyduj na podstawie dowodów.

Jeden tag na każdy wybrany ekran

Jeden skrypt na Twojej stronie odczytuje przeglądarkę i urządzenie w około jedną dziesiątą sekundy na desktopie. Jedno podpisane wywołanie z Twojego backendu, z tagiem, który sam nazywasz, od razu zwraca odpowiedź: trust score, pokrycie dowodami i 13 wskaźników, od botów i automatyzacji, przez podszywanie się przeglądarki i emulatory, po VPN, proxy i Tor, wraz z uzasadnieniem każdej rekomendacji. Wykrywaj przejęcie konta, fałszywe rejestracje i oszustwa przy wypłatach na podstawie dowodów, nie domysłów. My rekomendujemy. Ty decydujesz i działasz.

Synchroniczna odpowiedź na każdym oznaczonym ekranie · Tryb cienia, zanim wpłynie na jakąkolwiek decyzję · Twoje reguły, Twoje listy, Twoja decyzja

Jak czytać tę odpowiedź · przykład v1.1/login_completed

  1. Skąd ta rekomendacja

    ALLOWreason_codes · NO_ADVERSE_INDICATOR_MATCH

    Żaden wskaźnik ważony przez politykę nie został wykryty. Przykład z kontraktu: zarządzana polityka FingerTrackID rekomenduje MONITOR przy każdym wyniku; ALLOW pochodzi z przedziału wyniku, który Twoja firma ustawiła we własnych regułach ryzyka. Decyzja według policy-login-v1.

  2. Czym jest wynik, a czym nie jest

    trust_score 1000–100 · wyżej znaczy lepiej

    Zaufanie do tego dostępu według tej wersji polityki, a nie prawdopodobieństwo oszustwa. Poza COMPLETED wynosi null, nigdy wartość domyślną.

  3. Ile udało się zobaczyć

    evidence_coverage 100limitation_codes · brak

    Odsetek oczekiwanych sprawdzeń, które zostały wykonane. Brakujące dowody byłyby tu wymienione: obniżają pokrycie i nigdy nie są powodem ryzyka.

  4. Dalej decyzja należy do Ciebie

    customer_actionpotem wynik (outcome)

    Twój backend decyduje i działa, a potem raportuje, co zrobił i jaki był rzeczywisty wynik. Nigdy niczego nie blokujemy ani nie wstrzymujemy pieniędzy.

POST /v1/assessments → 201

event-assessment.v1.1 · przykład z kontraktu

assessment_statusZakończonaocena zakończona
trust_score1000–100 · wyżej znaczy lepiej
device_match_confidence0.980–1 · siła dopasowania
evidence_coverage1000–100 · wystarczalność
ALLOWrecommendation_basis · EVALUATIONrekomendacja, nie działanie
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}
Pełna odpowiedź · 54 linie · 13 sygnałów, niewykryte zwinięte
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}

Wersje, które ją ukształtowały · 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 sygnałów w pełnej odpowiedzi · macierz wskaźników ↓

Produkt w liczbach

Odpowiedź

13

Wskaźniki webowe w każdej odpowiedzi

3

Stany każdego wskaźnika: wykryty, niewykryty, nieoceniony

14

Nazwane powody „nieocenienia”, nigdy ciche false

5

Możliwe rekomendacje

3

Osobne miary: zaufanie, dopasowanie urządzenia, pokrycie dowodami

1

Podpisane wywołanie na każde oceniane zdarzenie

Zbieranie danych

17

Sekcje dowodów o przeglądarce i urządzeniu w każdym zbiorze

48

API przeglądarki sprawdzane względem wersji, którą przeglądarka deklaruje

125

Milisekund lub mniej: mediana zbierania na desktopie w Chrome, Firefox i Safari

0

Prośby o uprawnienia wyświetlane Twojemu użytkownikowi

Twoje reguły i Twoje dochodzenia

54

Wskazówki kontekstowe liczone w każdej ocenie

67

Reguły, które Twoja firma może ważyć we własnym wyniku: 13 wskaźników i 54 wskazówki

6

Publiczne listy referencyjne stojące za wskaźnikami sieciowymi

6

Języki konsoli: angielski, portugalski (Brazylia i Portugalia), hiszpański, francuski, niemiecki

Nigdy — i nie zależy to od planu

  • Ruchy wskaźnika i naciśnięcia klawiszy: SDK nie zbiera ani jednego, ani drugiego
  • Piksele, próbki audio, nazwy producenta i renderera GPU ani nazwy czcionek: canvas, WebGL, WebGPU, audio i czcionki opuszczają przeglądarkę wyłącznie jako hashe, rodzina GPU i maska obecności na stałej liście czcionek
  • WebRTC, porty lokalne, bateria, czujniki ruchu: nigdy nieodczytywane
  • Bez prośby o uprawnienia, bez decyzji podejmowanej w przeglądarce, bez żadnego działania z naszej strony na Twoim koncie

— Każda wartość to liczba z wersjonowanego kontraktu, katalogu lub listy, z wyjątkiem czasu zbierania, zmierzonego na naszych maszynach testowych przy zimnej pamięci podręcznej. Żadna nie zmienia się w zależności od planu czy wolumenu.

03 · Zastosowania

Zapobieganie oszustwom na ekranach, na których decyzja ma znaczenie.

Device intelligence odpowiada na jedno pytanie, zanim Twój backend przepuści operację: co naprawdę jest po drugiej stronie tego ekranu? To samo wywołanie obsługuje każdą ścieżkę; wysyłany tag służy tylko do jej skatalogowania.

login · password_recovery · profile_change

Zapobieganie przejęciu konta

Znane konto na urządzeniu, którego nigdy nie używało, przeglądarka, która kłamie na swój temat, przeglądarka anti-detect, podróż niemożliwa do odbycia w tym czasie. Każda z tych rzeczy wraca jako dowód, więc o drugi składnik prosisz tylko wtedy, gdy to ma znaczenie.

signup · login · checkout

Wykrywanie botów i automatyzacji

Przeglądarki headless, frameworki automatyzacji, agenci AI rozpoznani po sygnaturze i ruch z centrów danych. BOT_AUTOMATION i NETWORK_HOSTING mówią, co zostało zobaczone; pokrycie mówi, ile udało się zobaczyć.

signup · deposit · promotions

Fałszywe konta i wiele kont (multi-accounting)

Konta i osoby na urządzenie i na IP, jak rzadki jest profil urządzenia w Twojej bazie, ten sam zbiór danych powtórzony na innym urządzeniu. Kontekst, który Twoje reguły mogą ważyć, nigdy automatyczny werdykt: jedna osoba może mieć kilka legalnych kont.

withdrawal · pix_transfer · trade

Oszustwa przy wypłatach, Pix i przelewach

Wypłata w pierwszej godzinie po pojawieniu się nowego urządzenia, odbiorcy wspólni dla wielu kont, sąsiedzi oznaczeni przez Ciebie jako potwierdzone oszustwo. To Twój backend wstrzymuje lub weryfikuje pieniądze; my nigdy.

dowolna ścieżka

Emulatory i podszywające się przeglądarki

Emulatory Androida i wirtualizacja, GPU niemożliwe dla deklarowanego systemu, wersja przeglądarki, której przeczą jej własne API. Sygnały device fingerprinting odczytywane jako hashe i rodziny, nigdy jako surowe piksele.

dowolna ścieżka

Wykrywanie VPN, proxy i Tor

Znani dostawcy VPN, publiczne proxy, węzły wyjściowe Tor, zakresy hostingowe i Apple iCloud Private Relay, z publicznych list odświeżanych po naszej stronie. Anonimizacja to kontekst, nie wina: to Twoja polityka decyduje, jaką ma wagę.

04 · Miary

Osobne miary. Żadnej średniej udającej pewność.

Połączenie zaufania, pokrycia i dopasowania urządzenia w jedną liczbę ukrywa dokładnie to, co analityk musi zobaczyć: czy problemem jest dostęp, czy dowody.

trust_score

Zaufanie do dostępu

72

0100 · wyżej znaczy lepiej

Odpowiada, na ile godny zaufania jest ten dostęp według tej wersji polityki; wysyłany tag tego nie zmienia. Liczba całkowita od 0 do 100. Istnieje tylko, gdy assessment_status = COMPLETED; w każdym innym stanie wynosi null, nigdy wartość domyślną.

Nie jest prawdopodobieństwem oszustwa, reputacją osoby ani wartością domyślną dla brakujących danych. Pokazujemy 72/100, nigdy „w 72% godny zaufania”.

device_match_confidence

Dopasowanie urządzenia

0.94

01 · limit 0,98

Siła dowodów, że ten dostęp pochodzi z tego samego, już widzianego urządzenia, od 0 do 1. Przychodzi z device_id, nieprzezroczystym publicznym identyfikatorem probabilistycznego klastra.

Nie jest tożsamością osoby ani dowodem na sprzęt. Party i Account to różne rzeczy.

evidence_coverage

Wystarczalność dowodów

100

0100 · 13 z 13 ocenionych

Jaką część oczekiwanego zestawu sprawdzeń udało się wykonać, od 0 do 100. Każdy mający zastosowanie wskaźnik pozostawiony jako NOT_EVALUATED obniża pokrycie i pojawia się w limitation_codes.

Nie jest częścią wyniku. Niskie pokrycie ani nie obniża wyniku, ani go nie podnosi: sprawia, że ocena jest nierozstrzygnięta.

Dlaczego ich nie sumujemy

Jeden wynik „podejrzliwości” miesza trzy różne pytania: czy ten dostęp zasługuje na zaufanie? Czy dowody były wystarczające? Czy to to samo urządzenie? Gdy odpowiedzi przychodzą osobno, analityk wie, czy poprosić o drugi składnik, poczekać na zebranie danych, czy sprawdzić historię. Gdy przychodzą zlane w jedno, wie tylko, że „wyszło 42”.

05 · 13 wskaźników

Trzynaście wskaźników. Każdy mówi, czy coś zobaczył, czy nie zobaczył, czy nie mógł ocenić.

Każda ocena webowa zwraca zawsze 13 kodów. Zmienia się stan każdego z nich, nigdy lista. Każdy wskaźnik ma własny wersjonowany detektor, a odpowiedź podaje wersję, która go oceniła. Detektor brakujący, przeterminowany lub z błędem nigdy nie staje się false.

signal_catalog web · 13 kodów · przykład withdrawal_completed

  • Wykryto
  • Not_detected
  • — Nie_oceniono

Integralność środowiska

Prywatność przeglądarki · neutralny kontekst

Sieć · neutralny kontekst

Urządzenie

reason_codes · NETWORK_TOR_DETECTED REVIEW

W naszych zarządzanych politykach sam Tor nigdy nie uzasadnia BLOCK_RECOMMENDED; reguły skonfigurowane przez Twoją firmę stosują wybrane przez nią wagi i próg. W tym przykładzie z kontraktu v1 policy-withdrawal-v1 poprosiło o weryfikację wypłaty, nie o blokadę, a jedyny reason code mówi dokładnie to. Zarządzana polityka działająca dziś w produkcji rekomenduje MONITOR przy każdym wyniku.

Ten sam wskaźnik, trzy stany

  • Wykryto · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · przykład withdrawal_completed
  • Nie_wykryto · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · przykład login_completed
  • — Nie_oceniono · NETWORK_TOR not_evaluated_reason_code PROVIDER_UNAVAILABLE · limitation_codes ["PROVIDER_UNAVAILABLE"] · evidence_coverage 69 · przykład provider_unavailable

Detektor brakujący, przeterminowany lub z błędem nigdy nie staje się false. NOT_APPLICABLE pochodzi wyłącznie z niezmiennej macierzy katalogu według kanału, silnika i platformy; Twój tag nigdy tego nie zmienia, a wyłączona polityka, przekroczony czas czy awaria nigdy nie idą tym skrótem.

Domyślnie neutralny kontekst

PRIVATE_BROWSINGBROWSER_PRIVACY_BRAVEBROWSER_PRIVACY_SAFARIBROWSER_PRIVACY_SAMSUNG_INTERNETNETWORK_PROXYNETWORK_VPNNETWORK_TOR

Mogą ograniczać to, co obserwujemy. Pokrycie spada tylko tam, gdzie dowody nie zostały ocenione. Nie są oszustwem. Opisują środowisko; nie oskarżają osoby. W naszych zarządzanych politykach same w sobie nigdy nie uzasadniają BLOCK_RECOMMENDED; reguły skonfigurowane przez Twoją firmę stosują wybrane przez nią wagi i próg. Gdy typu sieci nie da się rozróżnić, jak za Apple iCloud Private Relay, hosting, VPN i proxy pozostają NOT_EVALUATED z NETWORK_TYPE_AMBIGUOUS: nigdy nie oznaczamy trzech wykryć na podstawie jednej wartości logicznej.

Dowody sieciowe pochodzą z publicznych list referencyjnych, które odświeżamy na własnej infrastrukturze: adresy wyjściowe Tor, zakresy dostawców chmury, listy sieci hostingowych, zakresy dostawców VPN i baza publicznych proxy. Adresy Twoich użytkowników nigdy nie są wysyłane do wydawców list. Lista starsza niż jej maksymalny wiek pozostawia swój wskaźnik jako NOT_EVALUATED, nigdy NOT_DETECTED.

06 · Wskazówki kontekstowe

Poza 13 wskaźnikami: 54 wskazówki kontekstowe. Do dochodzeń, a do Twojego wyniku, gdy tak zdecydujesz.

W każdej ocenie, przed odpowiedzią, liczymy 54 wskazówki kontekstowe na podstawie zebranych danych i własnej historii Twojej firmy: kto jeszcze używa urządzenia, jak szybko porusza się konto, z jakiej sieci, obok jakich kont. Zarządzana polityka FingerTrackID nie wlicza ich do wyniku. We własnych regułach ryzyka każdą z nich możesz wyłączyć, ustawić jako ducha lub aktywować, z punktami za wartości nietypowe i bardzo nietypowe: aktywna wskazówka, która się uruchomi, odejmuje punkty od trust score i wymienia się w reason_codes.

context-insight.v1 · 54 wskazówki w sześciu tematach · w podziale jak w konsoli i w Twoich regułach

  • Konto i urządzenie · 10

    Nowe urządzenie i nowy system operacyjny dla konta · różne konta i osoby na urządzeniu w ciągu 30 dni · konta tej samej osoby na nim · urządzenia na konto i na osobę w ciągu 24 godzin · urządzenie o dużej aktywności · jak powszechny, nietypowy lub rzadki jest profil urządzenia w Twojej firmie · utracone ciasteczko urządzenia

  • Wypłaty i zamówienia · 7

    Wypłaty w pierwszej godzinie po nowym urządzeniu · odbiorcy na urządzenie i konta na odbiorcę w ciągu 30 dni · liczba i kwota wypłat na konto · liczba zamówień na konto i mediana odstępu między zamówieniami

  • Sieć i lokalizacja · 12

    Nowy kraj i nowy dostawca internetu (ASN) dla konta · różne kraje, dostawcy i adresy IP na konto · konta i osoby na IP · niemożliwa podróż · strefa czasowa przeglądarki niezgodna z krajem IP · kraj wyjścia VPN · dostawca na publicznej liście nadużyć · Apple iCloud Private Relay

  • Integralność przeglądarki i SDK · 16

    Otwarte narzędzia deweloperskie · ślady automatyzacji · znacznik przeglądarki anti-detect · sygnatura TLS niezgodna z deklarowaną przeglądarką i jej stabilność w ciągu 30 dni · renderer programowy i rodzina GPU · canvas lub audio zmieniające się między dwoma odczytami · przeglądarka w aplikacji · możliwy tryb gościa · agent AI rozpoznany po sygnaturze · kategoria bota · SDK inne niż zatwierdzony pakiet · jedna sesja SDK na kilku urządzeniach · identyczny zbiór danych powtórzony na innym urządzeniu · ciasteczko urządzenia użyte w zbyt odległych miejscach

  • Prędkość · 5

    Dostępy na urządzenie i na konto w ciągu 5 minut, 1 godziny i 24 godzin; na IP w ciągu 5 minut i 1 godziny · oceny z tym samym tagiem na konto i na urządzenie w ciągu 1 minuty, 5 minut i 1 godziny

  • Powiązania między kontami, jeden krok · 4

    Inne konta, które używały tych samych urządzeń · sąsiednie konta, na których wykryto automatyzację lub podszywanie się przeglądarki · sąsiednie konta oznaczone przez Ciebie jako potwierdzone oszustwo · odbiorcy wypłat wspólni z innymi kontami

Trzy stany · powód, nigdy zero

  • Zaobserwowano · warunek występuje albo liczba lub miara różni się od wartości neutralnej.
  • Nie zaobserwowano · ocenione, nieobecne lub neutralne.
  • Nie oceniono · zawsze z powodem, nigdy pokazane jako zero.

Niektóre wskazówki zależą od tego, co wysyłasz. Bez referencji konta lub osoby, bez tagu albo bez wyników (outcomes) pozycja mówi to wprost: konto niewysłane, ocena bez tagu, brak wysłanych wyników. Żądanie z tagiem nie zawiera kwoty ani odbiorcy, więc pozycje dotyczące kwoty i odbiorcy wypłaty też to mówią. Pierwszy dostęp, zanonimizowana sieć czy IP poza godzinnym oknem sprawdzenia to również powody.

Czym nie są

  • Nie są jednym z 13 wskaźników ani nigdy kodem ograniczenia. Trafiają do reason_codes wyłącznie przez regułę, którą Twoja firma aktywowała.
  • Nigdy nie wchodzą do wyniku zarządzanej polityki FingerTrackID. Aktywna wskazówka bez danych niczego nie odejmuje: brakujące dowody nigdy nie stają się ryzykiem.
  • To nie ukryty model: każda wskazówka jest odczytywana jako oczekiwana, nietypowa lub bardzo nietypowa względem miary, którą Twoja firma może dostosować, zaczynając od opublikowanej wartości domyślnej.
  • To nie oskarżenie: duża liczba kont lub osób na jednym urządzeniu nie jest dowodem oszustwa i nie ma reguły „N kont na urządzenie = oszustwo”.

Gdzie analityk je czyta

Szczegóły dostępu. Karta „Kontekst dostępu” grupuje wskazówki według tematu, z ich oknami czasowymi, granicą uwzględnionej historii, stopniem nietypowości każdej na Twojej mierze i powodem każdej pozycji pozostawionej bez wartości. Wskazówka, która nie mieści się w budżecie czasowym oceny, jest kończona w tle i tak to oznacza; nigdy nie opóźnia odpowiedzi ani nie powoduje jej błędu.

Katalog wskaźników. Jedna strona wyjaśnia, czego szuka każdy z 13 wskaźników, co sprawia, że pozostaje nieoceniony i czy może wpłynąć na wynik, oraz wymienia wskazówki kontekstowe z powodami, dla których mogą zostać bez wartości.

Canvas, WebGL, audio i czcionki są odczytywane w ramach zarządzanej polityki zbierania każdej firmy, wyłącznie jako wartości pochodne, i zasilają kilka z tych wskazówek, takich jak rodzina GPU, renderer programowy czy renderowanie zmieniające się między dwoma odczytami. Gdy przeglądarka nie pozwala na sprawdzenie, pozycja pozostaje nieoceniona, z podanym powodem.

07 · Wynik nierozstrzygnięty to też wynik

Gdy nie możemy ocenić, mówimy to i wyjaśniamy dlaczego.

Brakujące dowody nie dają zaufania 100 i nie stają się sygnałem oszustwa. Bez wyniku rekomendacja pochodzi z wariantu awaryjnego (fallback) zamrożonego w wersji polityki i objętego jej hashem, i jest jedną odpowiedzią dla każdego stanu bez wyniku, niezależnie od tagu: MONITOR. Nigdy ALLOW.

Przypadki bez wyniku z przykładów kontraktu

Tag nigdy nie wybiera fallbacku. W zarządzanej polityce każdy stan bez wyniku, na dowolnym tagu, rekomenduje MONITOR: kontynuuj i zapisz. Tak samo trzy przykłady z kontraktu poniżej.

  • INCONCLUSIVEtag login · SDK się nie załadowało

    MONITOR

    Brak zebranych danych: trust_score: null, evidence_coverage: 0, COLLECTOR_NOT_LOADED, podstawa INSUFFICIENT_EVIDENCE. Nic nigdy nie jest przepuszczane jako ALLOW.

  • INCONCLUSIVEdowody sieciowe niedostępne

    MONITOR

    Cztery wskaźniki sieciowe NOT_EVALUATED, evidence_coverage: 69, PROVIDER_UNAVAILABLE. Jakakolwiek to operacja, pozostaje w Twoim systemie, pod Twoją decyzją; nigdy nie wstrzymujemy pieniędzy.

  • FAILEDtag pix_transfer · polityka niedostępna

    MONITOR

    Awaria techniczna: POLICY_UNAVAILABLE, policy_version: null, podstawa TECHNICAL_FAILURE. Nigdy nie czytaj tego jako „brak ryzyka”.

Bez wyniku nigdy nie rekomendujemy ALLOW · fallback_policy_version production-observation-fallback-v2 w przykładach · fallback jest walidowany razem z polityką przy każdym jej odczycie

Cztery stany oceny

Zakończona 72 podstawa EVALUATION · reason_codes wyjaśniają wynik
Nierozstrzygnięta null podstawa INSUFFICIENT_EVIDENCE · limitation_codes mówią, czego zabrakło
Bez wyniku null podstawa OUT_OF_POLICY_SCOPE · prawidłowe zdarzenie, polityka go nie obejmuje
Błąd null podstawa TECHNICAL_FAILURE · POLICY_UNAVAILABLE, policy_version null · nigdy „brak ryzyka”

14 kodów ograniczeń w katalogu · czego zabrakło, nigdy dlaczego jest ryzykownie

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

Kod ograniczenia wyjaśnia zbieranie danych i jakość; reason code wyjaśnia politykę. Każdy wskaźnik NOT_EVALUATED wskazuje na własny; ocena agreguje je wszystkie w limitation_codes. Ograniczenie zbierania danych nigdy nie jest powodem ryzyka.

08 · Ty decydujesz

Pięć rekomendacji. Zero działań podjętych przez nas.

recommended_action mówi, co sugeruje polityka. customer_action mówi, co zrobiłeś. Dwa pola, bo to dwa fakty.

Kto rekomenduje, kto decyduje, kto działa

FingerTrackID rekomenduje

  • ALLOW
  • MONITOR
  • STEP_UP
  • REVIEW
  • BLOCK_RECOMMENDED

Nigdy na podstawie samej prywatności · Tor, VPN, proxy, incognito, współdzielone urządzenie

Twój proces decyduje

Twój backend decyduje i działa. Zwracamy rekomendację; dziś zarządzana polityka odpowiada MONITOR, wyłącznie obserwacja. O tym, co stanie się z dostępem, decydujesz i wykonujesz po swojej stronie. Ty znasz konto, limit, historię i koszt tarcia. My nie.

Działasz i raportujesz

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

customer_action · pole, które odsyłasz

  • Nigdy nie uwierzytelniamy osoby.
  • Nigdy nie blokujemy Twojego interfejsu.
  • Nigdy nie przesuwamy pieniędzy.

Czego nie oznacza każda z rekomendacji

  • ALLOW

    Polityka nie znalazła powodu do tarcia przy tym dostępie. Nie oznacza, że osoba jest legalna ani że dostęp jest certyfikowany. Wydawana jest tylko z wynikiem i ocenionymi wymaganymi dowodami.

  • MONITOR

    Kontynuuj, ale zapisz. To fallback bez wyniku na każdym tagu i dziś także odpowiedź zarządzanej polityki przy każdym wyniku. Nie oznacza potwierdzonego podejrzenia i nie wymaga od użytkownika żadnego działania.

  • STEP_UP

    Poproś o drugi składnik lub potwierdzenie. Nie oznacza, że to my kogokolwiek weryfikujemy: to Ty wyświetlasz wyzwanie.

  • REVIEW

    Skieruj do weryfikacji przez człowieka. Nie oznacza, że wstrzymujemy pieniądze: operacja pozostaje w Twoim systemie, pod Twoją decyzją.

  • BLOCK_RECOMMENDED

    Polityka sugeruje odmowę. Nie oznacza wykonanej blokady, potwierdzonego oszustwa ani bana. Gdy blokujesz, staje się to customer_action: BLOCKED, Twoim zdarzeniem, i zasila pomiar trafności.

09 · Integracja

Trzy kroki, jeden kontrakt. Przeglądarka zbiera; Twój backend pyta; my odpowiadamy.

Jeden skrypt na Twojej stronie, jeden endpoint server-to-server w Twoim backendzie i dwa wywołania, by odesłać działanie i wynik. Żadnej decyzji po stronie klienta.

SDK na Twojej stronie

SDK zbiera dane i zwraca token. To wszystko.

Serwowany z Twojej subdomeny. Zanim wyślesz żądanie, które chcesz ocenić, na dowolnym ekranie, zbiera sygnały przeglądarki i środowiska i otrzymuje 202 PROCESSING: potwierdza odbiór, nie wynik. Sygnały sieciowe dodaje edge na Twojej domenie zbierania, nigdy skrypt. Żaden wynik, sygnał ani decyzja nie wracają do przeglądarki.

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

Twój backend wywołuje

Jedno podpisane, synchroniczne wywołanie, w Twoim limicie czasu.

HMAC-SHA-256 z dziesięciu kanonicznych linii — znacznik, key_id, metoda, ścieżka, znacznik czasu, identyfikatory zdarzenia i żądania, metadane treści oraz SHA-256 dokładnych bajtów body w ostatniej linii. Nigdy nie serializuj ponownie JSON-a przed hashowaniem; kontrakt zawiera normatywny wektor. key_id to jedyny publiczny lokalizator. Sekret nigdy nie podróżuje. Kanoniczny wektor requests.both_refs_deadline_750 z kontraktu v1.1: ta sama ścieżka i ten sam podpis co w v1, z tag zamiast journey, action i 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 to slug małymi literami o długości do 64 znaków (litery, cyfry i podkreślnik, najwyżej dziesięć cyfr), nigdy dane osobowe; ten wektor jest na tym limicie · subject_ref i account_ref mogą być null, a account_ref wymaga subject_ref · refy to Twoje nieprzezroczyste kody, nigdy PESEL, e-mail ani sekwencyjny identyfikator · deadline_ms to liczba całkowita od 250 do 5000 lub null dla 5000; po jego przekroczeniu wraca Problem 503 do ponowienia, a nie częściowy wynik

Odpowiedź synchroniczna

Przeczytaj, zdecyduj, odeślij, co zrobiłeś.

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

Potem dwa wywołania zwrotne: customer_action z tym, co zrobiłeś, oraz, gdy już wiesz, truth_status z rzeczywistym wynikiem (outcome: legalny, potwierdzone oszustwo lub niewystarczające dowody). Kontrakt obejmuje oba tą samą dyscypliną co wywołanie oceny: nic nie jest uznane za przyjęte przed trwałym commitem, a identyczne ponowienie nie dodaje drugiego efektu. Wynik można później poprawić — korekta jest dopisywana jako następnik, a wcześniejszy zapis pozostaje czytelny.

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

↑ wróć do pełnego przykładu

  • Web SDK
  • Synchroniczne API S2S
  • Serwerowe SDK dla Node.js
  • Serwer MCP dla agentów kodujących
  • API działań i wyników
  • Konsola

Web, w każdej nowoczesnej przeglądarce · bez aplikacji do instalowania · SDK, ocena i informacja zwrotna w tym samym wersjonowanym kontrakcie

npm install @fingertrackid/server podpisuje wywołanie za Ciebie, a @fingertrackid/mcp pozwala Claude Code, Cursor lub dowolnemu agentowi kodującemu obsługującemu MCP zbudować integrację na podstawie opublikowanego kontraktu. Krok po kroku w quickstarcie, przewodniku po Web SDK i dokumentacji API.

10 · Zero trust w przeglądarce

Przeglądarka tylko zbiera. Decyzja i identyfikator nigdy przez nią nie przechodzą.

Nic, co pochodzi z przeglądarki, nie jest traktowane jako autorytet. Ocena odbywa się server-to-server, jest podpisana, a każda próba liczy się raz: powtórzenie nie tworzy nowego efektu.

Kto rozmawia z kim

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

Przeglądarka otrzymuje wyłącznie nieprzezroczyste identyfikatory sesji i zdarzenia. Wynik, sygnały i rekomendacja powstają i pozostają na serwerze. Ciasteczko first-party jest podpisane, HttpOnly, Secure i ograniczone do Twojego tenanta i aplikacji.

Anatomia wywołania

POST /v1/assessmentssecurity ftidHmacV1 z kontraktu
X-FTID-Signature: v1=<key_id>:<mac-hex>key_id UUIDv7 to jedyny lokalizator; tenant, aplikacja, środowisko i uprawnienia stają się autorytetem dopiero po prawidłowym MAC w porównaniu o stałym czasie. X-Client-Id, starszy nonce i wiele podpisów są odrzucane.
X-FTID-Timestamp: 1791720000Epoch w sekundach. Tolerancja ±300 s. Znacznik czasu z przyszłości nigdy nie wydłuża retencji.
X-FTID-Request-Id: <uuidv7>Jedno użycie na próbę, rezerwowane po prawidłowym MAC. Logiczne ponowienie podpisuje nowy request_id; nieprawidłowy MAC nie tworzy rezerwacji.
X-FTID-External-Event-Id: evt:tag-0003Bajt w bajt identyczny z tym w body i w podpisywanym ciągu.
body.idempotency_keyTen sam klucz, ta sama operacja: identyczne ponowienie zwraca tę samą zapisaną ocenę, bez ponownego liczenia.
body.deadline_msTwój budżet. Przekroczony przed oceną: Problem assessment-unavailable (503, retryable: true), nie częściowy wynik.
  • 401jednolity: key_id, który nie istnieje, został unieważniony, lub błędny podpis dają ten sam authentication-failed.
  • 403uwierzytelnione poświadczenie bez uprawnienia do oceny na tej ścieżce.
  • 503zależność sekretów niedostępna: globalny zatrzask ujednolica odpowiedź, nie zdradzając, czy key_id istnieje. Podpisz nowy request_id.

11 · Wersjonowana polityka

Każda decyzja ma wersję. Wersja zamraża wszystko, co ją ukształtowało.

Zmiana czułości jednego wskaźnika tworzy nową wersję, z autorem, okresem obowiązywania, symulacją i możliwością wycofania. Historia się nie zmienia. Brak rzeczywistej wersji blokuje użycie.

Wersja, która zdecydowała · przykład 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 służy do wsparcia bez ujawniania identyfikatora osobowego. Udostępniane wersje to nieprzezroczyste publiczne tagi; wewnętrzne identyfikatory bazy danych nigdy nie pojawiają się w API, w webhooku ani w konsoli.

Co zamraża wersja polityki

  • katalog sygnałów
  • normalizacja
  • cechy
  • resolver urządzeń
  • reguły
  • strategia korelacji
  • poziomy dla każdego wskaźnika
  • limity i progi

Odtwarzalna, nigdy nadpisywana

przykład login_completed

assessment_version1

supersedes_assessment_idnull

przykład login_completed_revision_2

assessment_version2

supersedes_assessment_id…0000000101

Rewizja operacyjna zachowuje politykę i każdą inną wersję obowiązującą w chwili received_at zdarzenia. Nowa polityka zastosowana do starego zdarzenia to osobna symulacja; nigdy nie nadpisuje tego, która rekomendacja kierowała historyczną decyzją.

12 · Tryb cienia

Najpierw równolegle. Dopiero potem odpowiedź wpływa na działanie.

Tryb cienia (shadow mode) to uruchomienie FingerTrackID obok tego, czego używasz dziś, bez wpływu odpowiedzi na jakąkolwiek decyzję. Porównujesz, odsyłasz rzeczywiste wyniki i dopiero wtedy zaczynasz korzystać z rekomendacji. Tak zalecamy zacząć.

Pełny cykl

  1. 01

    SDK zbiera dane

    202 PROCESSING · event_context_token

  2. 02

    Twój backend prosi o ocenę

    POST /v1/assessments · synchronicznie

  3. 03

    Decydujesz w swoim procesie

    w trybie cienia, bez użycia odpowiedzi

  4. 04

    Raportujesz działanie

    customer_action · POST …/customer-actions

  5. 05

    Raportujesz wynik

    truth_status · POST …/outcomes

recommendation_alignment · wyliczane na serwerze z pary rekomendacja × działanie; nigdy nie deklaruje go klient. Zbieżność nie dowodzi ani przyczynowości, ani trafności, ani oszustwa.

Porównanie, pole po polu

recommended_actioncustomer_actionrecommendation_alignment
REVIEWREVIEWED lub HELDALIGNED
STEP_UPALLOWEDNOT_ALIGNED
ALLOW lub MONITORALLOWEDALIGNED
BLOCK_RECOMMENDEDBLOCKEDALIGNED
dowolnaCANCELLEDNOT_COMPARABLE

Blokada nie dowodzi oszustwa. Potwierdzenie oszustwa wymaga niezależnych dowodów: truth_status zmienia się z PENDING na LEGITIMATE, FRAUD_CONFIRMED lub INSUFFICIENT_EVIDENCE, z dojrzałością PROVISIONAL lub MATURE. Tylko dojrzała etykieta staje się metryką jakości.

Co zasila ten cykl

  • Fałszywie pozytywne i fałszywie negatywne jako metryki wyliczane z dojrzałych etykiet, a nie wpisywane pola.
  • Rekalibracja reguł i progów, zawsze jako nowa wersja polityki.
  • Jakość detektorów mierzona w Twoim trybie cienia, zanim odpowiedź wpłynie na którekolwiek Twoje działanie.
  • Czego nie robi: nie staje się automatycznym egzekwowaniem. customer_action i truth_status to osobne fakty, a każda korekta tworzy następnika.

13 · Prywatność zapisana w kontrakcie

Ograniczona kontraktem, nie ustawieniem.

Dane osobowe w postaci jawnej nie są wymogiem produktu. Wysyłasz nieprzezroczyste referencje osoby i konta; nie prosimy o numer PESEL, e-mail ani numer telefonu, by ocenić dostęp.

packages/contracts/src/sdk-handshake-v1.ts · polityka zbierania

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

packages/contracts/src/sdk-signals/rendering-v1.ts · fragment

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(),

Zbieranie behawioralne, czyli ruchy wskaźnika i naciśnięcia klawiszy, przyjmuje tylko wartość off: włączenie go wymaga zmiany kontraktu, nie ustawienia. Canvas, WebGL, audio offline i obecność czcionek są odczytywane w ramach zarządzanej polityki zbierania, która włącza je dla każdej firmy, i opuszczają przeglądarkę wyłącznie jako wartości pochodne: hashe o stałej długości, zamknięta rodzina GPU, liczba i maska obecności na stałej liście czcionek. Kontrakt nie ma pola na piksele, próbki audio, nazwy producenta lub renderera GPU ani nazwy czcionek. Razem te wartości pochodne mogą ponownie rozpoznać tę samą przeglądarkę, dlatego traktujemy je jako dane urządzenia, a nie dane anonimowe. Nigdy niezbierane, bezwzględnie: hasło, wpisywany tekst, treść czatu lub dokumentu, schowek, zrzut ekranu, mikrofon, kamera. Każdy dowód ma klasę prywatności, a klasa nie jest wagą ryzyka.

Gwarancje, które nie zależą od dobrej woli

  • Dane osobowe nie trafiają do logów. Surowe dane nie są swobodnie wyświetlane w konsoli: każdy dostęp do nich jest rejestrowany. Identyfikator ani wartość osobowa nigdy nie trafiają do URL.
  • Korelacja między tenantami jest wyłączona. Każda tabela domenowa zawiera tenant_id z izolacją wymuszoną w bazie danych. Nie ma reputacji ani etykiety współdzielonej między klientami.
  • Ciasteczko first-party serwowane z Twojej domeny: podpisane, HttpOnly, Secure, ograniczone do Twojego tenanta i aplikacji. Wartość nigdy nie trafia do bazy danych, kolejki ani logu; jeśli jej brak lub zostanie odrzucona, ciągłość słabnie jako ograniczenie, a ocena się nie zatrzymuje.
  • Każde scalenie urządzeń jest odwracalne i zapisuje wersję resolvera, który je wykonał. IP nigdy samodzielnie nie scala urządzeń.
  • Każdy rodzaj dowodu ma w naszym inwentarzu danych zadeklarowany cel, klasę prywatności, regułę dostępu i okres retencji. Podstawę prawną, lokalizację danych i umowę powierzenia (DPA) ustalamy z Twoim działem prawnym przy zawieraniu umowy; nic na tej stronie nie jest poradą prawną.

Party to nie Account

Party Account Account Account

Powiązanie pochodzi z Twojego backendu · nigdy nie jest wnioskowane z fingerprintu

Jedna osoba, kilka legalnych kont. Konto nigdy po cichu nie zmienia osoby; sesja przechodzi tylko od anonimowej do osoby, a potem do konta tej samej osoby. Sprzeczność to konflikt, a nie nowe powiązanie ani improwizowany negatywny dowód.

Gdzie są dane

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 · Konsola

Konsola do integracji, dochodzeń i domykania pętli.

Konsola najpierw odpowiada na pytanie „czy odbieramy, oceniamy i wyjaśniamy z odpowiednią jakością?”, a dopiero potem pozwala mówić o legalności. Każdy odsetek podaje swój mianownik.

Schemat, nie zrzut ekranu · w ramce kolory konsoli

Szczegóły dostępu. Trzy miary jako trzy osobne komponenty; rekomendacja z jej recommendation_basis, obowiązująca polityka i to, co Twój zespół zgłosił jako wykonane; świeżość dowodów; 13 wskaźników ze stanem, zastosowaniem, źródłem, pewnością detektora, świeżością i powodem każdego nieocenienia; ograniczenia i reason codes; sesja, urządzenie i ich powiązania; wielokrotność na urządzeniu; przybliżona lokalizacja z sieci; kontekst dostępu; oraz zakładka danych technicznych ze wszystkim, co zebrały SDK i edge, w tym rzeczywistą wersją przeglądarki odczytaną z udostępnianych przez nią API obok wersji, którą deklaruje.

Filtry dochodzeniowe. Listę dostępów można zawęzić według dostawcy internetu (ASN), kraju sieci, instalacji urządzenia, powodu nieocenienia wskaźnika oraz maksymalnie dwóch wskaźników w wybranych stanach jednocześnie, a także znaleźć dostęp po Twojej własnej referencji konta lub osoby. Nie ma filtra według adresu IP: to dane osobowe. Szczegóły każdego dostępu zawierają też jego wskazówki kontekstowe ↑.

Dochodzenie w głąb. Z dowolnego dostępu otwiera się graf powiązań z urządzeniami i kontami wokół niego, krok po kroku, obejmujący do 92 dni Twojej własnej historii. Każde rozwinięcie to rejestrowany odczyt; adresy IP nigdy nie stają się węzłami.

Listy blokowanych i dozwolonych. Ze szczegółów dostępu Twój zespół dodaje urządzenie, referencję konta lub pojedynczy IP do listy blokowanych Twojej firmy (blokada lub weryfikacja) albo do listy dozwolonych, z notatką i nazwiskiem osoby, która je dodała. Przy dostępie produkcyjnym z wynikiem wpis nadpisuje rekomendację i wymienia się w reason_codes. Nic nie jest usuwane: usunięcie wpisu rejestruje, kto go usunął i kiedy.

Asystent AI. Panel boczny wyjaśnia każdy ekran i odpowiada na pytania o Twoją integrację i Twoje dostępy, w granicach Twojej firmy i Twojej roli.

Konfiguracja ryzyka. Własne reguły ryzyka Twojej firmy, dla każdej aplikacji: każdy z 13 wskaźników jest wyłączony, w trybie ducha lub aktywny, z wagą od 1 do 100 punktów, a Ty ustalasz przedziały wyniku i działanie dla każdego z nich. Reguła-duch jest liczona i zapisywana, ale nigdy nie zmienia odpowiedzi. Przed publikacją karta wpływu odtwarza Twój szkic na ocenach z ostatnich 1, 7 lub 30 dni. Każda z 54 wskazówek kontekstowych ↑ może do nich dołączyć z własnymi punktami. Twój administrator lub supervisor ryzyka publikuje bezpośrednio; każda publikacja to nowa audytowana wersja, a wszystko w tryb ducha zatrzymuje naraz wszystkie Twoje reguły. FingerTrackID nigdy nie aktywuje reguły za Ciebie: jego wsparcie może jedynie przełączyć wszystkie reguły aplikacji w tryb ducha, z powodem widocznym w Twojej konsoli. Dopóki żadna reguła nie jest aktywna, odpowiada polityka zarządzana, publikowana przez zespół FingerTrackID z zarejestrowanym zatwierdzeniem.

Szesnaście ekranów w czterech grupach · główne, wykrywanie, operacje, administracja

  • 01Start
  • 09Integracja i stan
  • 02Przegląd
  • 10Zużycie
  • 03Dostępy
  • 11Eksporty
  • 04Kolejka weryfikacji
  • 12Raporty
  • 05Konfiguracja ryzyka
  • 13Użytkownicy i dostęp
  • 06Symulacje polityk
  • 14Audyt
  • 07Listy
  • 15Cykl życia klienta
  • 08Katalog wskaźników
  • 16Konto i bezpieczeństwo

Kolejka weryfikacji to moduł weryfikacji wypłat: kolejka operacyjna zbudowana na tym samym rdzeniu, która kieruje do człowieka każdą wypłatę v1 z rekomendacją REVIEW, z dowodami obok. Oceny z tagiem nigdy do niej nie trafiają, a kolejka pozostaje pusta, dopóki polityka rekomenduje MONITOR, jak robi to dziś polityka zarządzana.

Po angielsku, portugalsku (Brazylia i Portugalia), hiszpańsku, francusku i niemiecku. Logowanie kluczem dostępu (passkey) lub drugim składnikiem; uprawnienia według ról; ślad audytowy tego, kto widział dane wrażliwe i kto co zmienił. Surowe dane nie są swobodnie wyświetlane: każdy dostęp do nich jest rejestrowany.

15 · Jak rozliczamy

Jedna jednostka rozliczeniowa. Wszystko inne się nie liczy.

Cena zależna od wolumenu zakończonych zbiorów danych, ustalana w ofercie. Tryb cienia zużywa te same jednostki i jest widoczny w konsoli jako szacowane zużycie; to, co trafia na fakturę za ten okres, określa oferta.

Jednostka

Jeden produkcyjny snapshot device intelligence, zlecony przez Twoją integrację i zakończony.

To jednostka pomiaru i kandydująca jednostka rozliczeniowa. Każdy device_intelligence_snapshot_id daje co najwyżej jedną jednostkę, niezależnie od tego, ile ocen, tagów, dostawców czy ponownych przetworzeń korzysta z tego zbioru danych.

  • Wynik, rekomendacja, działanie i outcome nie wpływają na rozliczenie. Ryzykowny wynik nie kosztuje więcej; legalny wynik nie kosztuje mniej.
  • Limit handlowy nigdy nie staje się blokadą, ograniczeniem liczby żądań ani automatycznym pogorszeniem usługi.
  • Każdy zlecony snapshot tworzy niezmienny zapis zużycia, nawet gdy nie podlega rozliczeniu. Wyłączenia są udowadniane tym zapisem, a nie odtwarzane z logów.

Zdarzenie · tworzy jednostkę?

  • Aplikacje nieprodukcyjne (development, staging)nie
  • Ponowienie z tym samym idempotency_keynie
  • Każda ocena, na dowolnym tagu, która ponownie używa świeżego snapshotunie
  • Ponowne przetworzenie, odtworzenie historyczne, zmiana politykinie
  • Asynchroniczne wzbogacanie i odświeżanie uruchamiane przez nasnie
  • Wywołanie dostawcy lub jego ponowienienie
  • Dostarczenie webhookanie
  • customer_action i outcomenie
  • Zapytanie, dashboard, raport, eksportnie
  • 4xx z powodu uwierzytelnienia, autoryzacji lub nieprawidłowego kontraktunie
  • 5xx, przekroczenie czasu po naszej stronie, zbieranie danych INCONCLUSIVE lub FAILEDnie
  • Produkcyjny snapshot, zlecony przez integrację, zakończonytak · 1

Oferta według wolumenu, ze zużyciem w trybie cienia na stole.

Poproś o ofertę

16 · FAQ

Pytania, które zadają szef ds. ryzyka i CTO.

Q01Jak zaczyna się integracja?
W trybie cienia. Instalujesz SDK na stronie, włączasz wywołanie server-to-server, a odpowiedź zaczyna działać obok Twojego rzeczywistego procesu, nie dotykając żadnej decyzji. Odsyłasz customer_action i outcome, a w konsoli porównujesz, dostęp po dostępie, rekomendację z tym, co Twój zespół zgłosił jako wykonane, i śledzisz pokrycie dowodami. Gdy liczby się zgadzają, Twój zespół decyduje, czy i gdzie rekomendacja zacznie wpływać na decyzję, zawsze wykonywaną przez Twój backend.
Q02Jakie ścieżki oceniacie?
Dowolny ekran, który wybierzesz. Twój backend wysyła z każdą oceną własny tag, slug małymi literami, taki jak login, withdrawal czy pix_transfer: bez rejestracji, bez zamkniętej listy i bez limitu. Konsola filtruje, grupuje i eksportuje według tagu, a szablony (rejestracja, logowanie, odzyskiwanie hasła, drugi składnik, zmiana profilu, wpłata, wypłata, przelew Pix, transakcja giełdowa, checkout) są przewodnikiem integracji. Tag nigdy nie wybiera polityki, detektorów, fallbacku ani limitu czasu: każda ocena z tagiem działa według tej samej polityki i tych samych 13 wskaźników. Nigdy nie może zawierać danych osobowych. Żądanie nie zawiera kwoty, waluty ani odbiorcy.
Q03Dlaczego nie blokujecie?
Bo zdarzenie to nie oszustwo, wynik to nie decyzja, a blokada niczego nie dowodzi. To Ty znasz konto, limit, historię i koszt tarcia. My dostarczamy dowody, pokrycie i wyjaśnioną rekomendację. BLOCK_RECOMMENDED to najsilniejsza możliwa rekomendacja i nadal jest tylko rekomendacją. Gdy blokujesz, zapisujesz customer_action: BLOCKED, a to staje się danymi do zmierzenia, czy rekomendacja była trafna.
Q04Czy VPN, Tor lub karta prywatna obniżają wynik?
W naszych zarządzanych politykach żadne z nich samo nie daje BLOCK_RECOMMENDED; reguły skonfigurowane przez Twoją firmę stosują wybrane przez nią wagi i próg. Tryb prywatny i zabezpieczenia przeglądarki to neutralny kontekst: mogą zmniejszyć pokrycie i pojawić się w szczegółach, bez niekorzystnego reason code. Tor, proxy, VPN i hosting to kontekst anonimizacji: polityka może je ważyć razem z tym, co jeszcze zaobserwowano, nigdy według tagu. W zarządzanej polityce dziś wynik zmieniają tylko automatyzacja i podszywanie się przeglądarki, a rekomendacja to MONITOR. W przykładzie z kontraktu wypłaty v1 na tej stronie wykryty Tor doprowadził do REVIEW, i reason code to mówi. Sam w sobie nigdy nie jest oszustwem.
Q05Co, jeśli SDK się nie załaduje albo użytkownik blokuje skrypty?
Ścieżka trwa dalej. Twój backend wywołuje API bez event_context_token i otrzymuje INCONCLUSIVE, trust_score: null, evidence_coverage: 0, limitation_codes: ["COLLECTOR_NOT_LOADED"] oraz rekomendację awaryjną, MONITOR. Nigdy wymyślony wynik. Nigdy ALLOW z powodu braku dowodów.
Q06Jakie są opóźnienia? Czy jest SLA?
Limit czasu ustalasz Ty. Domyślna wartość w kontrakcie to 5000 ms, a deadline_ms ustawia ją w zakresie od 250 do 5000 (przy wartości domyślnej utrzymuj timeout HTTP powyżej ok. 6 s); po jej przekroczeniu otrzymujesz Problem assessment-unavailable (503, retryable: true, z Retry-After), a nie częściową odpowiedź. Powtórz tę samą operację logiczną z nowym request_id. Opóźnienia i SLA trafiają do oferty, zmierzone w Twoim trybie cienia, zanim jakakolwiek decyzja zacznie zależeć od odpowiedzi.
Q07Skąd mam wiedzieć, że odpowiedź nie została sfałszowana?
Nigdy nie przechodzi przez przeglądarkę. Twój backend podpisuje każde wywołanie HMAC-SHA-256 z dziesięciu kanonicznych linii, z których ostatnia to SHA-256 dokładnych bajtów body; key_id UUIDv7 to jedyny publiczny lokalizator; request_id jest rezerwowany przeciw powtórzeniom (replay); błąd uwierzytelnienia zwraca jednolity 401, nie zdradzając, czy klucz istnieje. Sekret nigdy nie podróżuje. Normatywny wektor testowy protokołu jest częścią kontraktu; dzięki niemu odtworzysz podpis bajt w bajt.
Q08Czy muszę wysyłać PESEL, e-mail lub numer telefonu?
Nie. Ocena używa nieprzezroczystych referencji osoby i konta, które rozpoznaje tylko Twój system. Dane osobowe w postaci jawnej nie są wymogiem produktu. Zachowanie wskaźnika i klawiatury jest wyłączone w kontrakcie. Sprawdzenia canvas, WebGL, audio i czcionek działają w ramach zarządzanej polityki zbierania każdej firmy i opuszczają przeglądarkę wyłącznie jako hashe, rodzina GPU i maska obecności na stałej liście czcionek, nigdy jako piksele, dźwięk, nazwy GPU czy nazwy czcionek. Hasło, wpisywany tekst, schowek, zrzut ekranu, mikrofon i kamera są zabronione. Każdy rodzaj dowodu ma zadeklarowany cel, klasę prywatności i okres retencji; podstawa prawna jest weryfikowana z Twoim działem prawnym przed włączeniem produkcji i nic na tej stronie nie zastępuje tej weryfikacji.
Q09Ile to kosztuje i co musi zrobić mój zespół?
Cena zależna od wolumenu zakończonych zbiorów danych, w ofercie. Kandydująca jednostka rozliczeniowa to snapshot zakończony w produkcji; nic poza produkcją się nie liczy. Po Twojej stronie: jeden skrypt na stronie, jeden endpoint server-to-server w backendzie, by prosić o ocenę, i dwa wywołania API, by odesłać podjęte działanie i rzeczywisty wynik (outcome). SDK jest webowe i działa w każdej nowoczesnej przeglądarce; nie ma aplikacji do instalowania.
Q10Czym jest device intelligence i czym różni się od device fingerprinting?
Device fingerprinting (odcisk urządzenia) odczytuje stabilne cechy przeglądarki, by rozpoznać ją ponownie. Device intelligence zaczyna w tym miejscu i idzie dalej: sprawdza, czy te cechy są spójne ze sobą i z siecią, czy działa automatyzacja, emulator lub przeglądarka anti-detect oraz jak to urządzenie zachowuje się na Twoich kontach. FingerTrackID zwraca to jako trust score, dopasowanie urządzenia z własną pewnością, pokrycie dowodami i 13 wskaźników, każdy z wersją detektora, który go odczytał.
Q11Czy możemy ustawić własne reguły, wyniki i listy?
Tak. W konsoli Twoja firma przyznaje punkty dowolnemu z 13 wskaźników i 54 wskazówek kontekstowych, wybiera przedziały wyniku i rekomendację dla każdego przedziału, a każdą regułę może najpierw uruchomić jako ducha, liczoną i zapisywaną bez zmiany odpowiedzi. Listy blokowanych i dozwolonych przyjmują urządzenie, referencję konta lub pojedynczy IP, po jednym wpisie, z notatką i nazwiskiem osoby, która go dodała. Każda publikacja to nowa audytowana wersja. FingerTrackID nigdy nie aktywuje reguły ani nie dodaje wpisu do listy za Ciebie.
Q12Czy integrację może wykonać agent AI do kodowania?
Tak. Serwerowe SDK @fingertrackid/server podpisuje wywołanie, serwer MCP @fingertrackid/mcp daje Claude Code, Cursor lub dowolnemu agentowi obsługującemu MCP kontrakty, wektory podpisu, gotowy moduł serwerowy dla każdego tagu i sprawdzenie Twojej domeny zbierania, wszystko tylko do odczytu, a dokumentacja publikuje llms.txt i gotowy blok reguł dla Twojego AGENTS.md. Sekret zostaje w Twoim środowisku; agent nigdy nie musi go widzieć.
Q13Ile waży SDK i czy spowalnia stronę?
SDK zbiera dane raz, równolegle, w jednym żądaniu do Twojej własnej subdomeny zbierania. Na desktopie pełne zbieranie zajęło w medianie od ok. 80 do 125 ms w Chrome, Firefox i Safari, przy twardym budżecie 250 ms; każde sprawdzenie zajmuje najwyżej 2 ms wątku głównego, a te, które czekają, jak pomiar klatek czy Worker, czekają równolegle. Nigdy nie wyświetla prośby o uprawnienia i nigdy nie blokuje Twojego interfejsu.

17 · Kontakt

Oceń wybraną ścieżkę w trybie cienia.

Zacznij w trybie cienia: odpowiedź działa obok Twojego rzeczywistego procesu, nie dotykając żadnej decyzji, porównujesz, odsyłasz wyniki i dopiero wtedy zaczynasz korzystać z rekomendacji. Jeśli masz ekrany, na których decyzja ma znaczenie, i chcesz zobaczyć wyjaśnioną odpowiedź, zanim jej zaufasz, porozmawiaj z nami.

Umów demo

Podaj e-mail z domeną.
Podaj nazwę firmy.
Co chcesz oceniać

Ścieżka to dowolny wybrany ekran, z nazwą, którą mu nadasz. Zaznacz te, które już masz na myśli; resztę omówimy w rozmowie.

Bez newslettera · odpowiadamy e-mailem, każdemu osobno · albo napisz bezpośrednio na contato@fingertrackid.com

Jak to się zaczyna

  1. 30-minutowa rozmowa o ścieżkach, które chcesz oceniać, i o Twoim procesie decyzyjnym.
  2. Poświadczenie serwerowe dla Twojej aplikacji, wykonywalny kontrakt i wektor HMAC. Nie ma sandboxa: testujesz w produkcji, w trybie cienia.
  3. Tryb cienia z Twoim rzeczywistym procesem: porównujesz i odsyłasz wyniki, zanim odpowiedź wpłynie na jakąkolwiek decyzję.
  4. Produkcja na oznaczonych ekranach, z wersjonowaną polityką; każda decyzja pozostaje po stronie Twojego backendu.

Co otrzymujesz

  • Konsola z pokryciem dowodami i, dostęp po dostępie, rekomendacją obok zgłoszonego przez Ciebie działania
  • Wykonywalny kontrakt event-assessment.v1 z wektorem testowym HMAC
  • Tryb cienia w produkcji od pierwszego dnia: odpowiedź działa obok Twojego procesu i nigdy nie dotyka decyzji
  • Bezpośredni kanał z osobami, które piszą politykę