01 · Device intelligence untuk pencegahan penipuan Journey yang Anda beri tag

API device intelligence dan risiko penipuan untuk web Nilai setiap akses. Putuskan dengan bukti.

Satu tag untuk setiap layar yang Anda pilih

Satu skrip di situs Anda membaca browser dan perangkat dalam sekitar sepersepuluh detik di desktop. Satu panggilan bertanda tangan dari backend Anda, dengan tag yang Anda beri nama, langsung mendapat jawaban: trust score, cakupan bukti, dan 13 indikator, mulai dari deteksi bot dan otomatisasi, browser palsu, dan emulator hingga VPN, proxy, dan Tor, dengan alasan di balik setiap rekomendasi. Kenali pengambilalihan akun (account takeover), pendaftaran palsu, dan penipuan penarikan dana dengan bukti, bukan tebakan. Kami merekomendasikan. Anda yang memutuskan dan bertindak.

Respons sinkron di setiap layar yang Anda beri tag · Shadow mode sebelum memengaruhi keputusan apa pun · Aturan Anda, daftar Anda, keputusan Anda

Cara membaca respons ini · contoh v1.1/login_completed

  1. Mengapa rekomendasi ini

    ALLOWreason_codes · NO_ADVERSE_INDICATOR_MATCH

    Tidak ada indikator yang ditimbang oleh policy yang terdeteksi. Contoh kontrak: policy terkelola FingerTrackID merekomendasikan MONITOR di setiap skor; ALLOW berasal dari rentang skor yang ditetapkan perusahaan Anda dalam aturan risikonya sendiri. Diputuskan di bawah policy-login-v1.

  2. Apa skor itu, dan apa yang bukan

    trust_score 1000–100 · makin tinggi makin baik

    Tingkat kepercayaan pada akses ini di bawah versi policy ini, bukan probabilitas penipuan. Di luar COMPLETED nilainya null, tidak pernah nilai default.

  3. Seberapa banyak yang bisa dilihat

    evidence_coverage 100limitation_codes · tidak ada

    Porsi pemeriksaan yang diharapkan yang berhasil dijalankan. Bukti yang hilang akan disebutkan di sini: ia menurunkan cakupan dan tidak pernah menjadi alasan risiko.

  4. Selanjutnya keputusan Anda

    customer_actionlalu hasilnya

    Backend Anda yang memutuskan dan bertindak, lalu melaporkan apa yang dilakukan dan hasil sebenarnya. Kami tidak pernah memblokir atau menahan uang.

POST /v1/assessments → 201

event-assessment.v1.1 · contoh kontrak

assessment_statusSelesaipenilaian selesai
trust_score1000–100 · makin tinggi makin baik
device_match_confidence0.980–1 · kekuatan kecocokan
evidence_coverage1000–100 · kecukupan
ALLOWrecommendation_basis · EVALUATIONrekomendasi, bukan tindakan
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}
Respons lengkap · 54 baris · 13 sinyal, yang tidak terdeteksi diciutkan
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}

Versi yang membentuknya · 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 sinyal dalam respons lengkap · matriks indikator ↓

Produk dalam angka

Respons

13

Indikator web di setiap respons

3

Status per indikator: terdeteksi, tidak terdeteksi, tidak dievaluasi

14

Alasan bernama untuk "tidak dievaluasi", tidak pernah false yang diam-diam

5

Rekomendasi yang mungkin

3

Ukuran terpisah: kepercayaan, kecocokan perangkat, cakupan bukti

1

Panggilan bertanda tangan per event yang dinilai

Pengumpulan data

17

Bagian bukti browser dan perangkat per pengumpulan

48

API browser yang dicocokkan dengan versi yang diklaim browser

125

Milidetik atau kurang: median pengumpulan di desktop pada Chrome, Firefox, dan Safari

0

Permintaan izin yang ditampilkan kepada pengguna Anda

Aturan Anda dan investigasi Anda

54

Insight konteks yang dihitung di dalam setiap penilaian

67

Aturan yang bisa ditimbang perusahaan Anda dalam skornya sendiri: 13 indikator dan 54 insight

6

Daftar referensi publik di balik indikator jaringan

6

Bahasa konsol: Inggris, Portugis (Brasil dan Portugal), Spanyol, Prancis, Jerman

Tidak pernah — dan ini tidak berubah menurut paket

  • Gerakan pointer dan ketukan tombol: SDK tidak mengumpulkan keduanya
  • Piksel, sampel audio, nama vendor dan renderer GPU, atau nama font: canvas, WebGL, WebGPU, audio, dan font meninggalkan browser hanya sebagai hash, keluarga GPU, dan presence mask atas daftar font yang tetap
  • WebRTC, port lokal, baterai, sensor gerak: tidak pernah dibaca
  • Tanpa permintaan izin, tanpa keputusan di browser, tanpa tindakan dari kami pada akun Anda

— Setiap nilai adalah hitungan dari kontrak, katalog, atau daftar berversi, kecuali waktu pengumpulan, yang diukur di mesin uji kami dengan cache dingin. Tidak ada yang berubah menurut paket atau volume.

03 · Kasus penggunaan

Pencegahan penipuan di layar tempat keputusan itu penting.

Device intelligence menjawab satu pertanyaan sebelum backend Anda meloloskan tindakan: apa yang sebenarnya ada di balik layar ini? Panggilan yang sama melayani setiap journey; tag yang Anda kirim hanya mengarsipkannya.

login · password_recovery · profile_change

Pencegahan pengambilalihan akun (account takeover)

Akun yang dikenal di perangkat yang belum pernah dipakainya, browser yang berbohong tentang dirinya, anti-detect browser, perjalanan yang mustahil ditempuh dalam waktu itu. Masing-masing kembali sebagai bukti, sehingga Anda meminta faktor kedua hanya saat benar-benar perlu.

signup · login · checkout

Deteksi bot dan otomatisasi

Headless browser, framework otomatisasi, agen AI yang dikenali dari signature, dan trafik dari pusat data. BOT_AUTOMATION dan NETWORK_HOSTING menyatakan apa yang terlihat; cakupan menyatakan seberapa banyak yang bisa dilihat.

signup · deposit · promotions

Akun palsu dan multi-akun

Akun dan orang per perangkat dan per IP, seberapa langka profil perangkat di basis Anda, satu pengumpulan yang diulang di perangkat lain. Konteks yang bisa ditimbang aturan Anda, tidak pernah vonis otomatis: satu orang bisa punya beberapa akun yang sah.

withdrawal · pix_transfer · trade

Penipuan penarikan dana, Pix, dan transfer

Penarikan dana pada jam pertama setelah perangkat baru, penerima yang sama di beberapa akun, akun tetangga yang Anda tandai sebagai penipuan terkonfirmasi. Backend Anda yang menahan atau meninjau uang; kami tidak pernah.

journey apa pun

Emulator dan browser palsu

Emulator dan virtualisasi Android, GPU yang mustahil untuk sistem yang dideklarasikan, versi browser yang dibantah oleh API-nya sendiri. Sinyal device fingerprinting dibaca sebagai hash dan keluarga, tidak pernah sebagai piksel mentah.

journey apa pun

Deteksi VPN, proxy, dan Tor

Penyedia VPN yang dikenal, proxy publik, exit node Tor, rentang hosting, dan Apple iCloud Private Relay, dari daftar publik yang kami perbarui di sisi kami. Anonimisasi adalah konteks, bukan kesalahan: policy Anda yang menentukan seberapa besar bobotnya.

04 · Ukuran

Ukuran terpisah. Tanpa rata-rata yang menyamar sebagai kepastian.

Menggabungkan kepercayaan, cakupan, dan kecocokan perangkat menjadi satu angka justru menyembunyikan apa yang perlu dilihat analis: apakah masalahnya pada akses atau pada bukti.

trust_score

Kepercayaan akses

72

0100 · makin tinggi makin baik

Menjawab seberapa tepercaya akses ini di bawah versi policy ini; tag yang Anda kirim tidak mengubahnya. Bilangan bulat 0 sampai 100. Hanya ada saat assessment_status = COMPLETED; di setiap status lain nilainya null, tidak pernah nilai default.

Bukan probabilitas penipuan, reputasi orang tersebut, atau nilai default untuk data yang hilang. Kami menampilkan 72/100, tidak pernah "72% tepercaya".

device_match_confidence

Kecocokan perangkat

0.94

01 · maksimum 0.98

Kekuatan bukti bahwa akses ini berasal dari perangkat yang sama yang sudah pernah terlihat, dari 0 sampai 1. Disertai device_id, pengenal publik buram dari klaster probabilistik.

Bukan identitas orang tersebut, dan bukan bukti perangkat keras. Party dan Account adalah hal yang berbeda.

evidence_coverage

Kecukupan bukti

100

0100 · 13 dari 13 dievaluasi

Seberapa banyak dari rangkaian pemeriksaan yang diharapkan bisa dijalankan, dari 0 sampai 100. Setiap indikator yang berlaku namun tersisa sebagai NOT_EVALUATED menurunkan cakupan dan muncul di limitation_codes.

Bukan bagian dari skor. Cakupan rendah tidak menurunkan maupun menaikkan skor: ia membuat penilaian menjadi tidak konklusif.

Mengapa kami tidak menjumlahkannya

Satu skor "kecurigaan" mencampur tiga pertanyaan berbeda: apakah akses ini layak dipercaya? Apakah buktinya cukup? Apakah ini perangkat yang sama? Saat jawabannya terpisah, analis Anda tahu apakah perlu meminta faktor kedua, menunggu pengumpulan, atau melihat riwayat. Saat jawabannya dilebur, yang mereka tahu hanyalah "skornya 42".

05 · 13 indikator

Tiga belas indikator. Masing-masing menyatakan apakah ia melihat, tidak melihat, atau tidak bisa mengevaluasi.

Setiap penilaian web mengembalikan 13 kode, selalu. Yang berubah adalah status masing-masing, tidak pernah daftarnya. Setiap indikator punya detektor berversi sendiri, dan respons menyebutkan versi yang mengevaluasinya. Detektor yang tidak ada, kedaluwarsa, atau gagal tidak pernah menjadi false.

signal_catalog web · 13 kode · contoh withdrawal_completed

  • Terdeteksi
  • Not_detected
  • — Tidak dievaluasi

Integritas lingkungan

Privasi browser · konteks netral

Jaringan · konteks netral

Perangkat

reason_codes · NETWORK_TOR_DETECTED REVIEW

Dalam policy terkelola kami, Tor saja tidak pernah membenarkan BLOCK_RECOMMENDED; aturan yang dikonfigurasi perusahaan Anda mengikuti bobot dan batas yang dipilihnya. Dalam contoh kontrak v1 ini, policy-withdrawal-v1 meminta peninjauan atas penarikan dana, bukan pemblokiran, dan satu-satunya reason code menyatakan persis itu. Policy terkelola yang berjalan di produksi saat ini merekomendasikan MONITOR di setiap skor.

Indikator yang sama, tiga status

  • Terdeteksi · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · contoh withdrawal_completed
  • Tidak terdeteksi · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · contoh login_completed
  • — Tidak dievaluasi · NETWORK_TOR not_evaluated_reason_code PROVIDER_UNAVAILABLE · limitation_codes ["PROVIDER_UNAVAILABLE"] · evidence_coverage 69 · contoh provider_unavailable

Detektor yang tidak ada, kedaluwarsa, atau gagal tidak pernah menjadi false. NOT_APPLICABLE hanya berasal dari matriks katalog yang tidak dapat diubah, per kanal, engine, dan platform; tag Anda tidak pernah mengubahnya, dan policy yang dimatikan, timeout, atau gangguan layanan tidak pernah mengambil jalan pintas itu.

Konteks netral secara default

PRIVATE_BROWSINGBROWSER_PRIVACY_BRAVEBROWSER_PRIVACY_SAFARIBROWSER_PRIVACY_SAMSUNG_INTERNETNETWORK_PROXYNETWORK_VPNNETWORK_TOR

Semua ini bisa membatasi apa yang kami amati. Cakupan hanya turun di tempat bukti tidak dievaluasi. Semua ini bukan penipuan. Mereka menggambarkan lingkungan; mereka tidak menuduh orangnya. Dalam policy terkelola kami, sendirian mereka tidak pernah membenarkan BLOCK_RECOMMENDED; aturan yang dikonfigurasi perusahaan Anda mengikuti bobot dan batas yang dipilihnya. Saat jenis jaringan tidak bisa dibedakan, seperti di balik iCloud Private Relay dari Apple, hosting, VPN, dan proxy semuanya tetap NOT_EVALUATED dengan NETWORK_TYPE_AMBIGUOUS: kami tidak pernah menandai tiga deteksi dari satu boolean.

Bukti jaringan berasal dari daftar referensi publik yang kami perbarui di infrastruktur kami sendiri: alamat exit Tor, rentang penyedia cloud, daftar jaringan hosting, rentang penyedia VPN, dan basis data proxy publik. Alamat pengguna Anda tidak pernah dikirim ke penerbit daftar. Daftar yang melewati usia maksimumnya membuat indikatornya NOT_EVALUATED, tidak pernah NOT_DETECTED.

06 · Insight konteks

Di luar 13 indikator: 54 insight konteks. Untuk investigasi, dan untuk skor Anda bila Anda memilihnya.

Di dalam setiap penilaian, sebelum respons, kami menghitung 54 insight konteks dari apa yang dikumpulkan dan dari riwayat perusahaan Anda sendiri: siapa lagi yang memakai perangkat itu, seberapa cepat akun bergerak, dari jaringan mana, di dekat akun mana. Policy terkelola FingerTrackID menjauhkannya dari skor. Dalam aturan risiko Anda sendiri, masing-masing bisa off, ghost, atau active, dengan poin untuk tidak biasa dan sangat tidak biasa: insight active yang terpicu mengurangi poin dari trust score dan menyebut dirinya di reason_codes.

context-insight.v1 · 54 insight dalam enam tema · sesuai pengelompokan di konsol dan di aturan Anda

  • Akun dan perangkat · 10

    Perangkat baru dan sistem operasi baru untuk akun · akun dan orang berbeda di perangkat selama 30 hari · akun milik orang yang sama di perangkat itu · perangkat per akun dan per orang selama 24 jam · perangkat dengan aktivitas tinggi · seberapa umum, tidak umum, atau langka profil perangkat di perusahaan Anda · cookie perangkat hilang

  • Penarikan dana dan pesanan · 7

    Penarikan dana pada jam pertama setelah perangkat baru · penerima per perangkat dan akun per penerima selama 30 hari · jumlah dan nominal penarikan per akun · jumlah pesanan per akun dan median interval antarpesanan

  • Jaringan dan lokasi · 12

    Negara baru dan penyedia internet (ASN) baru untuk akun · negara, penyedia, dan IP berbeda per akun · akun dan orang per IP · perjalanan mustahil · zona waktu browser yang tidak cocok dengan negara IP · negara egress VPN · penyedia di daftar penyalahgunaan publik · Apple iCloud Private Relay

  • Integritas browser dan SDK · 16

    Developer tools terbuka · jejak otomatisasi · penanda anti-detect browser · signature TLS yang tidak cocok dengan browser yang dideklarasikan, dan stabilitasnya selama 30 hari · software renderer dan keluarga GPU · canvas atau audio yang berubah di antara dua pembacaan · in-app browser · kemungkinan mode tamu · agen AI yang dikenali dari signature · kategori bot · SDK yang berbeda dari paket yang disetujui · satu sesi SDK di beberapa perangkat · pengumpulan identik yang diulang di perangkat lain · cookie perangkat yang dipakai di tempat yang terlalu berjauhan

  • Velocity · 5

    Akses per perangkat dan per akun selama 5 menit, 1 jam, dan 24 jam; per IP selama 5 menit dan 1 jam · penilaian dengan tag yang sama per akun dan per perangkat selama 1 menit, 5 menit, dan 1 jam

  • Tautan antarakun, satu lompatan · 4

    Akun lain yang memakai perangkat yang sama · akun tetangga tempat otomatisasi atau browser palsu terdeteksi · akun tetangga yang Anda tandai sebagai penipuan terkonfirmasi · penerima penarikan dana yang sama dengan akun lain

Tiga status · sebuah alasan, tidak pernah nol

  • Teramati · kondisinya ada, atau hitungan atau ukurannya berbeda dari nilai netralnya.
  • Tidak teramati · dievaluasi, dan tidak ada atau netral.
  • Tidak dievaluasi · selalu dengan alasannya, tidak pernah ditampilkan sebagai nol.

Sebagian insight bergantung pada apa yang Anda kirim. Tanpa ref akun atau orang, tanpa tag, atau tanpa outcome, item itu menyatakannya: akun tidak dikirim, penilaian tanpa tag, tidak ada outcome yang dikirim. Permintaan bertag tidak membawa nominal atau penerima, jadi item nominal dan penerima penarikan dana juga menyatakannya. Akses pertama, jaringan teranonimisasi, atau IP di luar jendela satu jam suatu pemeriksaan juga merupakan alasan.

Apa yang bukan

  • Bukan salah satu dari 13 indikator, dan tidak pernah limitation code. Mereka mencapai reason_codes hanya melalui aturan yang diaktifkan perusahaan Anda.
  • Tidak pernah masuk skor policy terkelola FingerTrackID. Insight active tanpa data tidak mengurangi apa pun: bukti yang hilang tidak pernah menjadi risiko.
  • Bukan model tersembunyi: setiap insight dibaca sebagai wajar, tidak biasa, atau sangat tidak biasa terhadap tolok ukur yang bisa disesuaikan perusahaan Anda, berawal dari default yang dipublikasikan.
  • Bukan tuduhan: banyaknya akun atau orang di satu perangkat bukan bukti penipuan, dan tidak ada aturan "N akun per perangkat = penipuan".

Tempat analis membacanya

Detail akses. Kartu "Konteks akses" mengelompokkan insight per tema, dengan jendela waktunya, batas riwayat yang dipertimbangkan, seberapa tidak biasa masing-masing pada tolok ukur Anda, dan alasan setiap item yang tersisa tanpa nilai. Insight yang tidak muat dalam anggaran waktu penilaian diselesaikan di latar belakang dan menyatakannya; ia tidak pernah menunda atau menggagalkan respons.

Katalog indikator. Satu halaman menjelaskan apa yang dicari setiap dari 13 indikator, apa yang membuatnya tidak dievaluasi, dan apakah ia bisa menggeser skor, serta mencantumkan insight konteks beserta alasan mereka bisa tetap tanpa nilai.

Canvas, WebGL, audio, dan font dibaca di bawah policy pengumpulan terkelola setiap perusahaan, hanya sebagai nilai turunan, dan memberi masukan bagi beberapa insight ini, seperti keluarga GPU, software renderer, atau render yang berubah di antara dua pembacaan. Jika browser tidak mengizinkan suatu pemeriksaan, item itu tetap tidak dievaluasi, beserta alasannya.

07 · Tidak konklusif adalah sebuah hasil

Saat kami tidak bisa menilai, kami mengatakannya, beserta alasannya.

Bukti yang hilang tidak menghasilkan kepercayaan 100, dan tidak menjadi sinyal penipuan. Tanpa skor, rekomendasi berasal dari fallback yang dibekukan di dalam versi policy dan dicakup oleh hash-nya, dan itu satu jawaban untuk setiap status tanpa skor, apa pun tag-nya: MONITOR. Tidak pernah ALLOW.

Kasus tanpa skor dari contoh kontrak

Tag tidak pernah memilih fallback. Dalam policy terkelola, setiap status tanpa skor, pada tag apa pun, merekomendasikan MONITOR: lanjutkan dan catat. Begitu pula tiga contoh kontrak di bawah.

  • INCONCLUSIVEtag login · SDK tidak termuat

    MONITOR

    Tanpa pengumpulan: trust_score: null, evidence_coverage: 0, COLLECTOR_NOT_LOADED, basis INSUFFICIENT_EVIDENCE. Tidak ada yang pernah diloloskan sebagai ALLOW.

  • INCONCLUSIVEbukti jaringan tidak tersedia

    MONITOR

    Empat indikator jaringan NOT_EVALUATED, evidence_coverage: 69, PROVIDER_UNAVAILABLE. Apa pun operasinya, ia tetap di sistem Anda, di bawah keputusan Anda; kami tidak pernah menahan uang.

  • FAILEDtag pix_transfer · policy tidak tersedia

    MONITOR

    Kegagalan teknis: POLICY_UNAVAILABLE, policy_version: null, basis TECHNICAL_FAILURE. Tidak pernah dibaca sebagai "tidak ada risiko".

Tanpa skor kami tidak pernah merekomendasikan ALLOW · fallback_policy_version production-observation-fallback-v2 dalam contoh · fallback divalidasi bersama policy setiap kali policy dibaca

Empat status penilaian

Selesai 72 basis EVALUATION · reason_codes menjelaskan skor
Tidak konklusif null basis INSUFFICIENT_EVIDENCE · limitation_codes menyatakan apa yang kurang
Tanpa skor null basis OUT_OF_POLICY_SCOPE · event valid, policy tidak mencakupnya
Gagal null basis TECHNICAL_FAILURE · POLICY_UNAVAILABLE, policy_version null · tidak pernah "tidak ada risiko"

14 limitation code dalam katalog · apa yang kurang, tidak pernah mengapa itu berisiko

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

Limitation code menjelaskan pengumpulan dan kualitas; reason code menjelaskan policy. Setiap indikator NOT_EVALUATED menunjuk ke kodenya sendiri; penilaian menghimpun semuanya di limitation_codes. Keterbatasan pengumpulan tidak pernah menjadi alasan risiko.

08 · Anda yang memutuskan

Lima rekomendasi. Nol tindakan yang kami ambil.

recommended_action menyatakan apa yang disarankan policy. customer_action menyatakan apa yang Anda lakukan. Dua field karena itu dua fakta.

Siapa yang merekomendasikan, siapa yang memutuskan, siapa yang bertindak

FingerTrackID merekomendasikan

  • ALLOW
  • MONITOR
  • STEP_UP
  • REVIEW
  • BLOCK_RECOMMENDED

Tidak pernah hanya dari privasi · Tor, VPN, proxy, incognito, perangkat bersama

Alur Anda yang memutuskan

Backend Anda yang memutuskan dan bertindak. Kami mengembalikan rekomendasi; saat ini policy terkelola menjawab MONITOR, hanya observasi. Apa yang terjadi pada akses diputuskan dan dijalankan di sisi Anda. Anda mengenal akunnya, limitnya, riwayatnya, dan biaya friksinya. Kami tidak.

Anda bertindak dan melaporkan kembali

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

customer_action · field yang Anda kirim balik

  • Kami tidak pernah mengautentikasi seseorang.
  • Kami tidak pernah memblokir antarmuka Anda.
  • Kami tidak pernah memindahkan uang.

Apa yang tidak dimaksud oleh setiap rekomendasi

  • ALLOW

    Policy tidak menemukan alasan untuk friksi pada akses ini. Tidak berarti orangnya sah atau aksesnya tersertifikasi. Rekomendasi ini hanya dikeluarkan dengan skor dan bukti wajib yang sudah dievaluasi.

  • MONITOR

    Lanjutkan, tetapi catat. Ini fallback tanpa skor di setiap tag, dan saat ini juga jawaban policy terkelola di setiap skor. Tidak berarti kecurigaan yang terkonfirmasi, dan tidak menuntut tindakan apa pun dari pengguna.

  • STEP_UP

    Minta faktor kedua atau konfirmasi. Tidak berarti kami yang menantang seseorang: Anda yang menampilkan tantangannya.

  • REVIEW

    Kirim ke peninjauan manusia. Tidak berarti kami menahan uang: operasinya tetap di sistem Anda, di bawah keputusan Anda.

  • BLOCK_RECOMMENDED

    Policy menyarankan penolakan. Tidak berarti pemblokiran yang telah dilakukan, penipuan yang terkonfirmasi, atau larangan. Saat Anda memblokir, itu menjadi customer_action: BLOCKED, event milik Anda, dan masuk ke pengukuran akurasi.

09 · Integrasi

Tiga langkah, satu kontrak. Browser mengumpulkan; backend Anda bertanya; kami menjawab.

Satu skrip di situs Anda, satu endpoint server-to-server di backend Anda, dan dua panggilan untuk mengirim balik tindakan dan hasilnya. Tanpa keputusan di klien.

SDK di situs Anda

SDK mengumpulkan dan mengembalikan token. Itu saja.

Disajikan dari subdomain milik Anda. Sebelum Anda mengirim permintaan yang ingin dinilai, di layar apa pun, SDK mengumpulkan sinyal browser dan lingkungan lalu menerima 202 PROCESSING: itu mengonfirmasi penerimaan, bukan hasil. Sinyal jaringan ditambahkan oleh edge di domain pengumpulan Anda, tidak pernah oleh skrip. Tidak ada skor, sinyal, atau keputusan yang kembali ke browser.

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

Backend Anda memanggil

Satu panggilan sinkron bertanda tangan, sesuai tenggat Anda.

HMAC-SHA-256 atas sepuluh baris kanonis — penanda, key_id, metode, path, timestamp, ID event dan request, metadata konten, dan SHA-256 dari byte body yang persis di baris terakhir. Jangan pernah menserialisasi ulang JSON sebelum hashing; kontrak memuat vektor normatifnya. key_id adalah satu-satunya locator publik. Secret tidak pernah dikirim. Vektor kanonis requests.both_refs_deadline_750 dari kontrak v1.1: rute yang sama dan signature yang sama seperti v1, dengan tag sebagai pengganti journey, action, dan 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 adalah slug huruf kecil hingga 64 karakter (huruf, angka, dan garis bawah, paling banyak sepuluh angka), tidak pernah data pribadi; vektor ini berada tepat di batas itu · subject_ref dan account_ref boleh null, dan account_ref mensyaratkan subject_ref · ref adalah kode buram milik Anda, tidak pernah nomor identitas nasional, email, atau ID berurutan · deadline_ms adalah bilangan bulat dari 250 sampai 5000, atau null untuk 5000; jika terlampaui, yang kembali adalah Problem 503 yang bisa dicoba ulang, bukan skor parsial

Respons sinkron

Baca, putuskan, kirim balik apa yang Anda lakukan.

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

Lalu dua panggilan umpan balik: customer_action berisi apa yang Anda lakukan dan, setelah Anda tahu, truth_status berisi hasil sebenarnya (outcome: sah, penipuan terkonfirmasi, atau bukti tidak cukup). Kontrak menerapkan disiplin yang sama pada keduanya seperti pada panggilan penilaian: tidak ada yang dianggap diterima sebelum commit yang tahan lama, dan retry yang identik tidak menambah efek kedua. Outcome bisa dikoreksi kemudian — koreksi ditambahkan sebagai penerus, dan catatan sebelumnya tetap bisa dibaca.

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

↑ kembali ke contoh lengkap

  • Web SDK
  • API S2S sinkron
  • SDK server untuk Node.js
  • Server MCP untuk coding agent
  • API tindakan dan outcome
  • Konsol

Web, di browser modern apa pun · tanpa aplikasi untuk dipasang · SDK, penilaian, dan umpan balik dalam kontrak berversi yang sama

npm install @fingertrackid/server menandatangani panggilan untuk Anda, dan @fingertrackid/mcp memungkinkan Claude Code, Cursor, atau coding agent apa pun yang mendukung MCP merangkai integrasi dari kontrak yang dipublikasikan. Langkah demi langkah di quickstart, panduan Web SDK, dan referensi API.

10 · Zero trust di browser

Browser hanya mengumpulkan. Keputusan dan pengenal tidak pernah melewatinya.

Tidak ada yang berasal dari browser yang diperlakukan sebagai otoritas. Penilaian bersifat server-to-server, bertanda tangan, dan setiap percobaan dihitung sekali: mengulanginya tidak menciptakan efek baru.

Siapa berbicara dengan siapa

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

Browser hanya menerima ID sesi dan event yang buram. Skor, sinyal, dan rekomendasi lahir dan tetap di server. Cookie first-party ditandatangani, HttpOnly, Secure, dan dibatasi pada tenant dan aplikasi Anda.

Anatomi panggilan

POST /v1/assessmentssecurity ftidHmacV1 dari kontrak
X-FTID-Signature: v1=<key_id>:<mac-hex>key_id UUIDv7 adalah satu-satunya locator; tenant, aplikasi, environment, dan capability baru menjadi otoritas setelah MAC valid dalam perbandingan waktu-konstan. X-Client-Id, nonce lama, dan signature ganda ditolak.
X-FTID-Timestamp: 1791720000Epoch dalam detik. Toleransi ±300 dtk. Timestamp di masa depan tidak pernah memperpanjang retensi.
X-FTID-Request-Id: <uuidv7>Sekali pakai per percobaan, dicadangkan setelah MAC valid. Retry logis menandatangani request_id baru; MAC tidak valid tidak membuat reservasi.
X-FTID-External-Event-Id: evt:tag-0003Identik byte demi byte dengan yang ada di body dan di string yang ditandatangani.
body.idempotency_keyKunci sama, operasi sama: retry identik mengembalikan penilaian tersimpan yang sama, tanpa menghitung ulang.
body.deadline_msAnggaran waktu Anda. Terlampaui sebelum penilaian: Problem assessment-unavailable (503, retryable: true), bukan skor parsial.
  • 401seragam: key_id yang tidak ada, sudah dicabut, atau signature yang salah semuanya menghasilkan authentication-failed yang sama.
  • 403kredensial terautentikasi tanpa capability penilaian untuk rute tersebut.
  • 503dependensi secret tidak tersedia: latch global membuat respons seragam tanpa mengungkap apakah key_id itu ada. Tandatangani request_id baru.

11 · Policy berversi

Setiap keputusan punya versi. Versi itu membekukan semua yang membentuknya.

Mengubah sensitivitas satu indikator menciptakan versi baru, dengan penulis, periode berlaku, simulasi, dan rollback. Riwayat tidak berubah. Ketiadaan versi nyata memblokir penggunaan.

Versi yang memutuskan · contoh 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 untuk dukungan tanpa mengekspos pengenal pribadi. Versi yang diekspos adalah tag publik yang buram; ID internal basis data tidak pernah muncul di API, webhook, atau konsol.

Apa yang dibekukan oleh versi policy

  • katalog sinyal
  • normalisasi
  • fitur
  • resolver perangkat
  • aturan
  • strategi korelasi
  • level per indikator
  • batas atas dan ambang

Dapat direproduksi, tidak pernah ditulis ulang

contoh login_completed

assessment_version1

supersedes_assessment_idnull

contoh login_completed_revision_2

assessment_version2

supersedes_assessment_id…0000000101

Revisi operasional mempertahankan policy dan setiap versi lain yang berlaku pada received_at event tersebut. Policy baru atas event lama adalah simulasi terpisah; ia tidak pernah menulis ulang rekomendasi mana yang memandu keputusan historis.

12 · Shadow mode

Paralel lebih dulu. Baru setelah itu respons memengaruhi tindakan.

Shadow mode berarti menjalankan FingerTrackID berdampingan dengan apa yang Anda pakai hari ini, tanpa respons menyentuh keputusan apa pun. Anda membandingkan, mengirim balik hasil sebenarnya, dan baru kemudian mulai memakai rekomendasinya. Beginilah cara yang kami rekomendasikan untuk memulai.

Siklus lengkap

  1. 01

    SDK mengumpulkan

    202 PROCESSING · event_context_token

  2. 02

    Backend Anda meminta penilaian

    POST /v1/assessments · sinkron

  3. 03

    Anda memutuskan lewat alur Anda

    dalam shadow, tanpa memakai respons

  4. 04

    Anda melaporkan tindakan

    customer_action · POST …/customer-actions

  5. 05

    Anda melaporkan hasil

    truth_status · POST …/outcomes

recommendation_alignment · diturunkan di server dari pasangan rekomendasi × tindakan; tidak pernah dideklarasikan oleh klien. Kebetulan tidak membuktikan kausalitas, akurasi, maupun penipuan.

Perbandingan, field demi field

recommended_actioncustomer_actionrecommendation_alignment
REVIEWREVIEWED atau HELDALIGNED
STEP_UPALLOWEDNOT_ALIGNED
ALLOW atau MONITORALLOWEDALIGNED
BLOCK_RECOMMENDEDBLOCKEDALIGNED
apa punCANCELLEDNOT_COMPARABLE

Memblokir tidak membuktikan penipuan. Mengonfirmasi penipuan memerlukan bukti independen: truth_status berpindah dari PENDING ke LEGITIMATE, FRAUD_CONFIRMED, atau INSUFFICIENT_EVIDENCE, dengan maturity PROVISIONAL atau MATURE. Hanya label yang matang yang menjadi metrik kualitas.

Apa yang diberi masukan oleh siklus ini

  • False positive dan false negative sebagai metrik yang diturunkan dari label matang, bukan field yang diketik.
  • Rekalibrasi aturan dan ambang, selalu sebagai versi policy baru.
  • Kualitas detektor diukur dalam shadow mode Anda, sebelum respons memengaruhi tindakan Anda.
  • Yang tidak dilakukannya: menjadi enforcement otomatis. customer_action dan truth_status adalah fakta terpisah, dan setiap koreksi menciptakan penerus.

13 · Privasi lewat kontrak

Dibatasi oleh kontrak, bukan oleh pengaturan.

PII dalam teks terang bukan kebutuhan produk. Anda mengirim ref orang dan akun yang buram; kami tidak meminta nomor identitas nasional, email, atau nomor telepon untuk menilai sebuah akses.

packages/contracts/src/sdk-handshake-v1.ts · policy pengumpulan

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

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

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

Pengumpulan perilaku, yaitu gerakan pointer dan ketukan tombol, hanya menerima nilai off: menyalakannya memerlukan perubahan kontrak, bukan pengaturan. Canvas, WebGL, audio offline, dan keberadaan font dibaca di bawah policy pengumpulan terkelola, yang menyalakannya untuk setiap perusahaan, dan semuanya meninggalkan browser hanya sebagai nilai turunan: hash dengan panjang tetap, keluarga GPU yang tertutup, sebuah hitungan, dan presence mask atas daftar font yang tetap. Kontrak tidak punya field untuk piksel, sampel audio, nama vendor atau renderer GPU, atau nama font. Bersama-sama, nilai turunan ini dapat mengenali browser yang sama lagi, sehingga diperlakukan sebagai data perangkat, bukan data anonim. Tidak pernah dikumpulkan, sebagai aturan mutlak: kata sandi, teks yang diketik, isi chat atau dokumen, clipboard, tangkapan layar, mikrofon, kamera. Setiap bukti punya kelas privasi, dan kelas bukanlah bobot risiko.

Jaminan yang tidak bergantung pada niat baik

  • PII tidak masuk ke log. Data mentah tidak tampil bebas di konsol: setiap aksesnya dicatat. Pengenal atau nilai pribadi tidak pernah masuk ke URL.
  • Korelasi lintas tenant dimatikan. Setiap tabel domain membawa tenant_id dengan isolasi yang dipaksakan di basis data. Tidak ada reputasi atau label yang dibagikan antarpelanggan.
  • Cookie first-party disajikan dari domain Anda: ditandatangani, HttpOnly, Secure, terbatas pada tenant dan aplikasi Anda. Nilainya tidak pernah dikirim ke basis data, antrean, atau log; jika hilang atau ditolak, kontinuitas menurun sebagai keterbatasan dan penilaian tidak berhenti.
  • Setiap penggabungan perangkat dapat dibalik dan mencatat versi resolver yang melakukannya. IP tidak pernah menyatukan perangkat sendirian.
  • Setiap jenis bukti punya tujuan yang dideklarasikan, kelas privasi, aturan akses, dan retensi dalam inventaris data kami. Dasar hukum, residensi data, dan DPA ditangani bersama tim legal Anda saat kontrak; tidak ada di halaman ini yang merupakan nasihat hukum.

Party bukan Account

Party Account Account Account

Tautannya berasal dari backend Anda · tidak pernah disimpulkan dari fingerprint

Satu orang, beberapa akun yang sah. Akun tidak pernah berganti orang diam-diam; sesi hanya maju dari anonim ke orang lalu ke akun milik orang yang sama. Kontradiksi adalah konflik, bukan asosiasi baru dan bukan bukti negatif yang diimprovisasi.

Tempat data berada

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

Konsol untuk mengintegrasikan, menginvestigasi, dan menutup siklus.

Konsol menjawab "apakah kita menerima, menilai, dan menjelaskan dengan kualitas?" lebih dulu, dan baru kemudian membiarkan siapa pun membahas legitimasi. Setiap persentase menyebut penyebutnya.

Skematik, bukan tangkapan layar · warna konsol di dalam bingkai

Detail akses. Tiga ukuran sebagai tiga komponen terpisah; rekomendasi beserta recommendation_basis, policy yang berlaku, dan apa yang dilaporkan tim Anda telah dilakukan; kesegaran bukti; 13 indikator dengan status, keberlakuan, sumber, kepercayaan detektor, kesegaran, dan alasan untuk yang tidak dievaluasi; keterbatasan dan reason code; sesi, perangkat, dan asosiasinya; multiplisitas di perangkat; perkiraan lokasi dari jaringan; konteks akses; dan tab data teknis berisi semua yang dikumpulkan SDK dan edge, termasuk versi browser sebenarnya yang dibaca dari API yang diekspos browser, di samping versi yang dideklarasikannya.

Filter investigasi. Daftar akses bisa dipersempit menurut penyedia internet (ASN), negara jaringan, instalasi perangkat, alasan sebuah indikator tidak dievaluasi, dan hingga dua indikator dalam status pilihan sekaligus, serta menemukan akses berdasarkan ref akun atau orang milik Anda. Tidak ada filter berdasarkan alamat IP: itu data pribadi. Setiap detail akses juga memuat insight konteks ↑-nya.

Investigasi mendalam. Dari akses mana pun, graf tautan membuka perangkat dan akun di sekitarnya, satu lompatan setiap kali, mencakup hingga 92 hari riwayat Anda sendiri. Setiap perluasan adalah pembacaan yang dicatat; alamat IP tidak pernah menjadi node.

Daftar blokir dan daftar izin. Dari detail akses, tim Anda memasukkan perangkat, ref akun, atau satu IP ke daftar blokir perusahaan Anda (blokir atau tinjau) atau daftar izin, dengan catatan dan nama orang yang menambahkannya. Pada akses produksi yang memiliki skor, sebuah entri menimpa rekomendasi dan menyebut dirinya di reason_codes. Tidak ada yang dihapus: menghapus entri mencatat siapa yang menghapusnya dan kapan.

Asisten AI. Panel samping menjelaskan setiap layar dan menjawab pertanyaan tentang integrasi dan akses Anda sendiri, dalam lingkup perusahaan dan peran Anda.

Konfigurasi risiko. Aturan risiko milik perusahaan Anda sendiri, per aplikasi: setiap dari 13 indikator bisa off, ghost, atau active, dengan bobot 1 sampai 100 poin, dan Anda menetapkan rentang skor serta tindakan masing-masing. Aturan ghost dihitung dan dicatat tetapi tidak pernah mengubah respons. Sebelum Anda memublikasikan, kartu dampak memutar ulang draf Anda atas penilaian 1, 7, atau 30 hari terakhir. Setiap dari 54 insight konteks ↑ bisa bergabung dengan poinnya sendiri. Administrator atau risk supervisor Anda memublikasikan langsung; setiap publikasi adalah versi baru yang diaudit, dan semua ke ghost menghentikan semua aturan Anda sekaligus. FingerTrackID tidak pernah mengaktifkan aturan untuk Anda: tim dukungannya hanya bisa menempatkan semua aturan suatu aplikasi ke ghost, dengan alasan yang ditampilkan konsol Anda. Selama belum ada aturan yang active, policy terkelola yang menjawab, dipublikasikan oleh tim FingerTrackID dengan persetujuan yang tercatat.

Enam belas layar dalam empat grup · utama, deteksi, operasi, administrasi

  • 01Beranda
  • 09Integrasi dan kesehatan
  • 02Ikhtisar
  • 10Penggunaan
  • 03Akses
  • 11Ekspor
  • 04Antrean peninjauan
  • 12Laporan
  • 05Konfigurasi risiko
  • 13Pengguna dan akses
  • 06Simulasi policy
  • 14Audit
  • 07Daftar
  • 15Siklus hidup pelanggan
  • 08Katalog indikator
  • 16Akun dan keamanan

Antrean peninjauan adalah modul peninjauan penarikan dana: antrean operasional yang dibangun di atas inti yang sama, yang membawa setiap penarikan dana v1 yang direkomendasikan untuk REVIEW ke seorang petugas, dengan bukti di sampingnya. Penilaian bertag tidak pernah masuk ke sana, dan antrean tetap kosong selama policy merekomendasikan MONITOR, seperti policy terkelola saat ini.

Dalam bahasa Inggris, Portugis (Brasil dan Portugal), Spanyol, Prancis, dan Jerman. Masuk dengan passkey atau faktor kedua; izin berdasarkan peran; jejak audit tentang siapa yang melihat data sensitif dan siapa mengubah apa. Data mentah tidak tampil bebas: setiap aksesnya dicatat.

15 · Cara kami menagih

Satu unit penagihan. Selebihnya tidak dihitung.

Harga berdasarkan volume pengumpulan yang selesai, ditetapkan dalam proposal. Shadow mode memakai unit yang sama dan tampil di konsol sebagai estimasi penggunaan; apa yang masuk ke tagihan untuk periode itu ditentukan dalam proposal.

Unitnya

Satu snapshot device intelligence produksi, diminta oleh integrasi Anda dan selesai.

Ini adalah unit pengukuran dan kandidat unit penagihan. Setiap device_intelligence_snapshot_id menghasilkan paling banyak satu unit, tak peduli berapa banyak penilaian, tag, penyedia, atau pemrosesan ulang yang memakai pengumpulan itu.

  • Skor, rekomendasi, tindakan, dan outcome tidak menentukan penagihan. Hasil berisiko tidak lebih mahal; hasil yang sah tidak lebih murah.
  • Batas komersial tidak pernah menjadi pemblokiran, rate limit, atau penurunan layanan otomatis.
  • Setiap snapshot yang diminta menghasilkan catatan penggunaan yang tidak dapat diubah, bahkan saat tidak dapat ditagih. Pengecualian dibuktikan oleh catatan itu, bukan direkonstruksi dari log.

Event · menciptakan unit?

  • Aplikasi non-produksi (development, staging)tidak
  • Retry dengan idempotency_key yang samatidak
  • Penilaian apa pun, pada tag apa pun, yang memakai ulang snapshot yang masih segartidak
  • Pemrosesan ulang, replay historis, perubahan policytidak
  • Pengayaan asinkron dan refresh yang kami mulaitidak
  • Panggilan atau retry ke penyediatidak
  • Pengiriman webhooktidak
  • customer_action dan outcometidak
  • Kueri, dasbor, laporan, eksportidak
  • 4xx karena autentikasi, otorisasi, atau kontrak tidak validtidak
  • 5xx, timeout di sisi kami, pengumpulan INCONCLUSIVE atau FAILEDtidak
  • Snapshot produksi, diminta oleh integrasi, selesaiya · 1

Proposal berdasarkan volume, dengan penggunaan shadow mode di atas meja.

Minta proposal

16 · FAQ

Pertanyaan yang diajukan head of risk dan CTO.

Q01Bagaimana integrasi dimulai?
Dalam shadow mode. Anda memasang SDK di situs Anda, menyalakan panggilan server-to-server, dan respons mulai berjalan berdampingan dengan alur nyata Anda tanpa menyentuh keputusan apa pun. Anda mengirim balik customer_action dan outcome, lalu di konsol Anda membandingkan, akses demi akses, rekomendasi dengan apa yang dilaporkan tim Anda telah dilakukan, dan memantau cakupan bukti. Saat angkanya masuk akal, tim Anda memutuskan apakah dan di mana rekomendasi mulai memengaruhi keputusan, yang selalu dijalankan oleh backend Anda.
Q02Journey apa saja yang Anda nilai?
Layar apa pun yang Anda pilih. Backend Anda mengirim tag milik Anda sendiri bersama setiap penilaian, slug huruf kecil seperti login, withdrawal, atau pix_transfer: tanpa registrasi, tanpa daftar tertutup, dan tanpa batas. Konsol memfilter, mengelompokkan, dan mengekspor berdasarkan tag, dan template-nya (pendaftaran, login, pemulihan kata sandi, faktor kedua, perubahan profil, deposit, penarikan dana, transfer Pix, trading, checkout) adalah panduan integrasi. Tag tidak pernah memilih policy, detektor, fallback, atau tenggat: setiap penilaian bertag berjalan di bawah policy yang sama dan 13 indikator yang sama. Tag tidak boleh membawa data pribadi. Permintaan tidak membawa nominal, mata uang, atau penerima.
Q03Mengapa Anda tidak memblokir?
Karena event bukan penipuan, skor bukan keputusan, dan pemblokiran tidak membuktikan apa pun. Andalah yang mengenal akunnya, limitnya, riwayatnya, dan biaya friksinya. Kami menyerahkan bukti, cakupan, dan rekomendasi yang dijelaskan. BLOCK_RECOMMENDED adalah rekomendasi terkuat yang ada, dan tetap saja itu rekomendasi. Saat Anda memblokir, Anda mencatat customer_action: BLOCKED, dan itu menjadi data untuk mengukur apakah rekomendasinya tepat.
Q04Apakah VPN, Tor, atau tab pribadi menurunkan skor?
Dalam policy terkelola kami, tidak satu pun dari itu menghasilkan BLOCK_RECOMMENDED sendirian; aturan yang dikonfigurasi perusahaan Anda mengikuti bobot dan batas yang dipilihnya. Mode pribadi dan proteksi browser adalah konteks netral: keduanya bisa mengurangi cakupan dan tampil di detail, tanpa reason code yang merugikan. Tor, proxy, VPN, dan hosting adalah konteks anonimisasi: policy bisa menimbangnya bersama apa lagi yang terlihat, tidak pernah berdasarkan tag. Dalam policy terkelola saat ini hanya otomatisasi dan browser palsu yang menggeser skor, dan rekomendasinya MONITOR. Dalam contoh kontrak penarikan dana v1 di halaman ini, Tor yang terdeteksi menghasilkan REVIEW, dan reason code-nya menyatakan itu. Itu tidak pernah penipuan dengan sendirinya.
Q05Bagaimana jika SDK tidak termuat, atau pengguna memblokir skrip?
Journey tetap berjalan. Backend Anda memanggil API tanpa event_context_token dan menerima INCONCLUSIVE, trust_score: null, evidence_coverage: 0, limitation_codes: ["COLLECTOR_NOT_LOADED"], serta rekomendasi fallback, MONITOR. Tidak pernah skor rekaan. Tidak pernah ALLOW karena kurangnya bukti.
Q06Berapa latensinya? Apakah ada SLA?
Tenggatnya milik Anda. Default kontrak adalah 5000 ms, dan deadline_ms menetapkannya di mana saja dari 250 sampai 5000 (pertahankan timeout HTTP Anda di atas sekitar 6 dtk untuk default); jika terlampaui, Anda mendapat Problem assessment-unavailable (503, retryable: true, dengan Retry-After), bukan respons parsial. Ulangi operasi logis yang sama dengan request_id baru. Latensi dan SLA masuk ke proposal, diukur dalam shadow mode Anda sebelum keputusan apa pun bergantung pada respons.
Q07Bagaimana saya tahu respons tidak dipalsukan?
Respons tidak pernah melewati browser. Backend Anda menandatangani setiap panggilan dengan HMAC-SHA-256 atas sepuluh baris kanonis, yang terakhir adalah SHA-256 dari byte body yang persis; key_id UUIDv7 adalah satu-satunya locator publik; request_id dicadangkan untuk mencegah replay; kegagalan autentikasi mengembalikan 401 yang seragam tanpa mengungkap apakah kuncinya ada. Secret tidak pernah dikirim. Vektor uji normatif protokol adalah bagian dari kontrak; dengannya Anda mereproduksi signature byte demi byte.
Q08Apakah saya harus mengirim nomor identitas nasional, email, atau nomor telepon?
Tidak. Penilaian memakai ref orang dan akun yang buram yang hanya bisa diurai oleh sistem Anda. PII dalam teks terang bukan kebutuhan produk. Perilaku pointer dan ketukan tombol dimatikan dalam kontrak. Pemeriksaan canvas, WebGL, audio, dan font berjalan di bawah policy pengumpulan terkelola setiap perusahaan dan meninggalkan browser hanya sebagai hash, keluarga GPU, dan presence mask atas daftar font yang tetap, tidak pernah sebagai piksel, suara, nama GPU, atau nama font. Kata sandi, teks yang diketik, clipboard, tangkapan layar, mikrofon, dan kamera dilarang. Setiap jenis bukti punya tujuan yang dideklarasikan, kelas privasi, dan retensi; dasar hukum ditinjau bersama tim legal Anda sebelum produksi dinyalakan, dan tidak ada di halaman ini yang menggantikan tinjauan itu.
Q09Berapa biayanya dan apa yang harus dilakukan tim saya?
Harga berdasarkan volume pengumpulan yang selesai, dalam proposal. Kandidat unit penagihan adalah snapshot yang selesai di produksi; tidak ada yang di luar produksi dihitung. Di sisi Anda: satu skrip di situs, satu endpoint server-to-server di backend untuk meminta penilaian, dan dua panggilan API untuk mengirim balik tindakan yang diambil dan hasil sebenarnya (outcome). SDK berbasis web dan berjalan di browser modern apa pun; tidak ada aplikasi untuk dipasang.
Q10Apa itu device intelligence, dan apa bedanya dengan device fingerprinting?
Device fingerprinting membaca ciri stabil sebuah browser untuk mengenalinya lagi. Device intelligence berawal dari sana dan melangkah lebih jauh: memeriksa apakah ciri-ciri itu koheren satu sama lain dan dengan jaringan, apakah ada otomatisasi, emulator, atau anti-detect browser yang bekerja, dan bagaimana perangkat ini berperilaku di seluruh akun Anda. FingerTrackID mengembalikannya sebagai trust score, kecocokan perangkat dengan tingkat kepercayaannya sendiri, cakupan bukti, dan 13 indikator, masing-masing dengan versi detektor yang membacanya.
Q11Bisakah kami menetapkan aturan, skor, dan daftar sendiri?
Bisa. Di konsol, perusahaan Anda memberi poin pada salah satu dari 13 indikator dan 54 insight konteks, memilih rentang skor dan rekomendasi setiap rentang, dan bisa menjalankan aturan apa pun sebagai ghost lebih dulu, dihitung dan dicatat tanpa mengubah respons. Daftar blokir dan daftar izin menerima perangkat, ref akun, atau satu IP, satu entri setiap kali, dengan catatan dan nama orang yang menambahkannya. Setiap publikasi adalah versi baru yang diaudit. FingerTrackID tidak pernah mengaktifkan aturan atau menambahkan entri daftar untuk Anda.
Q12Bisakah AI coding agent mengerjakan integrasinya?
Bisa. SDK server @fingertrackid/server menandatangani panggilan, server MCP @fingertrackid/mcp memberi Claude Code, Cursor, atau agen apa pun yang mendukung MCP akses ke kontrak, vektor signature, modul server siap pakai per tag, dan pemeriksaan domain pengumpulan Anda, semuanya hanya-baca, dan dokumentasi memublikasikan llms.txt serta blok aturan siap pakai untuk AGENTS.md Anda. Secret tetap di environment Anda; agen tidak perlu melihatnya.
Q13Seberapa berat SDK-nya, dan apakah memperlambat halaman?
SDK mengumpulkan sekali, secara paralel, dalam satu permintaan ke subdomain pengumpulan milik Anda. Di desktop, pengumpulan lengkap memakan waktu median sekitar 80 sampai 125 ms di Chrome, Firefox, dan Safari, dengan anggaran keras 250 ms; setiap pemeriksaan memakai paling lama 2 ms main thread, dan yang perlu menunggu, seperti frame timing atau Worker, menunggu secara paralel. SDK tidak pernah menampilkan permintaan izin dan tidak pernah memblokir antarmuka Anda.

17 · Kontak

Nilai journey yang Anda pilih, dalam shadow mode.

Mulailah dalam shadow mode: respons berjalan berdampingan dengan alur nyata Anda tanpa menyentuh keputusan apa pun, Anda membandingkan, mengirim balik hasilnya, dan baru kemudian mulai memakai rekomendasinya. Jika Anda punya layar tempat keputusan itu penting dan ingin melihat respons yang dijelaskan sebelum memercayainya, bicaralah dengan kami.

Jadwalkan demo

Masukkan email dengan domain.
Masukkan nama perusahaan.
Apa yang ingin Anda nilai

Journey adalah layar apa pun yang Anda pilih, dengan nama yang Anda berikan. Centang yang sudah Anda pikirkan; sisanya akan muncul dalam percakapan.

Tanpa newsletter · kami membalas lewat email, satu orang setiap kali · atau tulis langsung ke contato@fingertrackid.com

Cara memulainya

  1. Percakapan 30 menit tentang journey yang ingin Anda nilai dan alur keputusan Anda.
  2. Kredensial server untuk aplikasi Anda, kontrak yang dapat dieksekusi, dan vektor HMAC. Tidak ada sandbox: Anda menguji di produksi, dalam shadow mode.
  3. Shadow mode dengan alur nyata Anda: Anda membandingkan dan mengirim balik hasil sebelum respons memengaruhi keputusan apa pun.
  4. Produksi di layar yang Anda beri tag, dengan policy berversi; setiap keputusan tetap di backend Anda.

Apa yang Anda dapatkan

  • Konsol dengan cakupan bukti dan, akses demi akses, rekomendasi di samping tindakan yang Anda laporkan
  • Kontrak event-assessment.v1 yang dapat dieksekusi, dengan vektor uji HMAC
  • Shadow mode di produksi sejak hari pertama: respons berjalan di samping alur Anda dan tidak pernah menyentuh keputusan
  • Saluran langsung dengan orang-orang yang menulis policy