01 · Device intelligence cho phòng chống gian lận Những hành trình bạn gắn tag

API device intelligence và rủi ro gian lận cho web Đánh giá mọi lượt truy cập. Quyết định bằng bằng chứng.

Một tag cho mỗi màn hình bạn chọn

Một script trên website của bạn đọc trình duyệt và thiết bị trong khoảng một phần mười giây trên máy tính. Một lệnh gọi có chữ ký từ backend của bạn, kèm tag do bạn đặt tên, nhận ngay câu trả lời: điểm tin cậy, độ bao phủ bằng chứng và 13 chỉ báo, từ bot và tự động hóa, giả mạo trình duyệt và trình giả lập đến VPN, proxy và Tor, cùng lý do đằng sau mọi khuyến nghị. Phát hiện chiếm đoạt tài khoản, đăng ký giả và gian lận rút tiền bằng bằng chứng, không phải phỏng đoán. Chúng tôi khuyến nghị. Bạn quyết định và hành động.

Phản hồi đồng bộ trên mọi màn hình bạn gắn tag · Shadow mode trước khi ảnh hưởng đến bất kỳ quyết định nào · Quy tắc của bạn, danh sách của bạn, quyết định của bạn

Cách đọc phản hồi này · ví dụ v1.1/login_completed

  1. Vì sao có khuyến nghị này

    ALLOWreason_codes · NO_ADVERSE_INDICATOR_MATCH

    Không chỉ báo nào mà policy cân nhắc được ghi nhận là đã phát hiện. Ví dụ theo hợp đồng: policy được quản lý của FingerTrackID khuyến nghị MONITOR ở mọi mức điểm; ALLOW đến từ một khoảng điểm do công ty bạn đặt trong quy tắc rủi ro của chính mình. Quyết định theo policy-login-v1.

  2. Điểm số là gì, và không là gì

    trust_score 1000–100 · càng cao càng tốt

    Mức tin cậy đối với lượt truy cập này theo phiên bản policy này, không phải xác suất gian lận. Ngoài COMPLETED, giá trị là null, không bao giờ là giá trị mặc định.

  3. Quan sát được bao nhiêu

    evidence_coverage 100limitation_codes · không có

    Tỷ lệ các kiểm tra dự kiến đã được chạy. Bằng chứng thiếu sẽ được nêu tên tại đây: nó làm giảm độ bao phủ và không bao giờ là lý do rủi ro.

  4. Sau đó là việc của bạn

    customer_actionrồi đến kết quả thực tế

    Backend của bạn quyết định và hành động, rồi báo lại đã làm gì và kết quả thực tế. Chúng tôi không bao giờ chặn hay giữ tiền.

POST /v1/assessments → 201

event-assessment.v1.1 · ví dụ theo hợp đồng

assessment_statusCompletedđánh giá hoàn tất
trust_score1000–100 · càng cao càng tốt
device_match_confidence0.980–1 · độ mạnh của khớp thiết bị
evidence_coverage1000–100 · mức đầy đủ
ALLOWrecommendation_basis · EVALUATIONkhuyến nghị, không phải hành động
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}
Phản hồi đầy đủ · 54 dòng · 13 tín hiệu, các tín hiệu không phát hiện được thu gọn
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}

Các phiên bản tạo nên nó · 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 tín hiệu trong phản hồi đầy đủ · ma trận chỉ báo ↓

Sản phẩm qua các con số

Phản hồi

13

Chỉ báo web trong mọi phản hồi

3

Trạng thái cho mỗi chỉ báo: đã phát hiện, không phát hiện, chưa đánh giá

14

Lý do được nêu tên cho "chưa đánh giá", không bao giờ là một giá trị false âm thầm

5

Khuyến nghị khả dĩ

3

Các thước đo tách biệt: tin cậy, khớp thiết bị, độ bao phủ bằng chứng

1

Lệnh gọi có chữ ký cho mỗi sự kiện được đánh giá

Thu thập

17

Phần bằng chứng về trình duyệt và thiết bị trong mỗi lần thu thập

48

API trình duyệt được đối chiếu với phiên bản mà trình duyệt khai báo

125

Mili giây trở xuống: thời gian thu thập trung vị trên máy tính với Chrome, Firefox và Safari

0

Hộp thoại xin quyền hiển thị cho người dùng của bạn

Quy tắc và điều tra của bạn

54

Insight ngữ cảnh được tính trong mọi lần đánh giá

67

Quy tắc mà công ty bạn có thể cân nhắc trong điểm số riêng: 13 chỉ báo và 54 insight

6

Danh sách tham chiếu công khai đứng sau các chỉ báo mạng

6

Ngôn ngữ của console: tiếng Anh, tiếng Bồ Đào Nha (Brazil và Bồ Đào Nha), tiếng Tây Ban Nha, tiếng Pháp, tiếng Đức

Không bao giờ — và điều này không thay đổi theo gói

  • Chuyển động con trỏ và thao tác phím: SDK không thu thập cả hai
  • Pixel, mẫu âm thanh, tên nhà sản xuất và renderer của GPU hay tên font: canvas, WebGL, WebGPU, âm thanh và font chỉ rời khỏi trình duyệt dưới dạng hash, một họ GPU và một mặt nạ hiện diện trên danh sách font cố định
  • WebRTC, cổng cục bộ, pin, cảm biến chuyển động: không bao giờ đọc
  • Không hộp thoại xin quyền, không quyết định nào được đưa ra trong trình duyệt, không hành động nào do chúng tôi thực hiện trên tài khoản của bạn

— Mỗi giá trị là một con số đếm từ hợp đồng, danh mục hoặc danh sách có phiên bản, trừ thời gian thu thập, được đo trên máy thử nghiệm của chúng tôi với bộ nhớ đệm trống. Không giá trị nào thay đổi theo gói hay khối lượng.

03 · Tình huống sử dụng

Phòng chống gian lận trên những màn hình nơi quyết định thật sự quan trọng.

Device intelligence trả lời một câu hỏi trước khi backend của bạn cho phép hành động: thực sự có gì ở phía bên kia màn hình này? Cùng một lệnh gọi phục vụ mọi hành trình; tag bạn gửi chỉ dùng để phân loại.

login · password_recovery · profile_change

Ngăn chặn chiếm đoạt tài khoản

Một tài khoản quen thuộc trên thiết bị chưa từng dùng, một trình duyệt nói dối về chính nó, một trình duyệt anti-detect, một chuyến di chuyển không thể thực hiện kịp. Mỗi điều đều trả về dưới dạng bằng chứng, để bạn chỉ yêu cầu yếu tố xác thực thứ hai khi thật sự cần.

signup · login · checkout

Phát hiện bot và tự động hóa

Trình duyệt headless, framework tự động hóa, AI agent được nhận diện qua chữ ký và lưu lượng từ trung tâm dữ liệu. BOT_AUTOMATION và NETWORK_HOSTING cho biết điều đã thấy; độ bao phủ cho biết quan sát được bao nhiêu.

signup · deposit · promotions

Tài khoản giả và nhiều tài khoản

Số tài khoản và số người trên mỗi thiết bị và mỗi IP, mức độ hiếm của hồ sơ thiết bị trong tập khách hàng của bạn, một lần thu thập bị lặp lại trên thiết bị khác. Ngữ cảnh mà quy tắc của bạn có thể cân nhắc, không bao giờ là phán quyết tự động: một người có thể có nhiều tài khoản hợp lệ.

withdrawal · pix_transfer · trade

Gian lận rút tiền, Pix và chuyển khoản

Một lệnh rút tiền trong giờ đầu tiên sau khi xuất hiện thiết bị mới, người thụ hưởng dùng chung giữa nhiều tài khoản, tài khoản lân cận mà bạn đã đánh dấu là gian lận đã xác nhận. Backend của bạn giữ hoặc xem xét khoản tiền; chúng tôi thì không bao giờ.

mọi hành trình

Trình giả lập và trình duyệt giả mạo

Trình giả lập Android và ảo hóa, một GPU không thể có trên hệ thống đã khai báo, một phiên bản trình duyệt bị chính API của nó phủ nhận. Tín hiệu device fingerprinting được đọc dưới dạng hash và họ thiết bị, không bao giờ là pixel thô.

mọi hành trình

Phát hiện VPN, proxy và Tor

Nhà cung cấp VPN đã biết, proxy công khai, nút thoát Tor, dải địa chỉ hosting và Apple iCloud Private Relay, từ các danh sách công khai được chúng tôi làm mới. Ẩn danh là ngữ cảnh, không phải tội lỗi: policy của bạn quyết định nó nặng bao nhiêu.

04 · Các thước đo

Các thước đo tách biệt. Không có con số trung bình đội lốt sự chắc chắn.

Gộp mức tin cậy, độ bao phủ và khớp thiết bị vào một con số duy nhất sẽ che đi chính điều chuyên viên phân tích cần thấy: vấn đề nằm ở lượt truy cập hay ở bằng chứng.

trust_score

Tin cậy của lượt truy cập

72

0100 · càng cao càng tốt

Trả lời lượt truy cập này đáng tin đến mức nào theo phiên bản policy này; tag bạn gửi không làm thay đổi nó. Số nguyên từ 0 đến 100. Chỉ tồn tại khi assessment_status = COMPLETED; ở mọi trạng thái khác giá trị là null, không bao giờ là giá trị mặc định.

Không phải xác suất gian lận, uy tín của người dùng hay giá trị mặc định khi thiếu dữ liệu. Chúng tôi hiển thị 72/100, không bao giờ "đáng tin 72%".

device_match_confidence

Khớp thiết bị

0.94

01 · tối đa 0.98

Độ mạnh của bằng chứng cho thấy lượt truy cập này đến từ cùng một thiết bị đã thấy trước đó, từ 0 đến 1. Đi kèm device_id, một định danh công khai không minh bạch của cụm xác suất.

Không phải danh tính của người dùng, cũng không phải bằng chứng về phần cứng. Party và Account là hai thứ khác nhau.

evidence_coverage

Mức đầy đủ của bằng chứng

100

0100 · đã đánh giá 13 trên 13

Có thể chạy được bao nhiêu trong tập kiểm tra dự kiến, từ 0 đến 100. Mỗi chỉ báo áp dụng được mà bị để ở NOT_EVALUATED sẽ làm giảm độ bao phủ và xuất hiện trong limitation_codes.

Không phải một phần của điểm số. Độ bao phủ thấp không kéo điểm xuống cũng không đẩy điểm lên: nó khiến lần đánh giá trở nên không kết luận được.

Vì sao chúng tôi không cộng chúng lại

Một điểm "nghi ngờ" duy nhất trộn lẫn ba câu hỏi khác nhau: lượt truy cập này có đáng tin không? Bằng chứng có đủ không? Có phải cùng một thiết bị không? Khi câu trả lời được tách riêng, chuyên viên phân tích biết nên yêu cầu yếu tố thứ hai, chờ thu thập hay xem lịch sử. Khi chúng bị gộp lại, tất cả những gì họ biết là "được 42 điểm".

05 · 13 chỉ báo

Mười ba chỉ báo. Mỗi chỉ báo cho biết đã thấy, không thấy, hay không thể đánh giá.

Mọi lần đánh giá web đều trả về đủ 13 mã, luôn luôn. Thứ thay đổi là trạng thái của từng mã, không bao giờ là danh sách. Mỗi chỉ báo có bộ phát hiện riêng có phiên bản, và phản hồi nêu rõ phiên bản đã đánh giá nó. Bộ phát hiện bị thiếu, hết hạn hoặc lỗi không bao giờ trở thành false.

signal_catalog web · 13 mã · ví dụ withdrawal_completed

  • Đã phát hiện
  • Not_detected
  • — Chưa đánh giá

Tính toàn vẹn của môi trường

Quyền riêng tư của trình duyệt · ngữ cảnh trung tính

Mạng · ngữ cảnh trung tính

Thiết bị

reason_codes · NETWORK_TOR_DETECTED REVIEW

Trong các policy được quản lý của chúng tôi, riêng Tor không bao giờ biện minh cho BLOCK_RECOMMENDED; các quy tắc do công ty bạn cấu hình tuân theo trọng số và ngưỡng cắt mà công ty đã chọn. Trong ví dụ hợp đồng v1 này, policy-withdrawal-v1 yêu cầu xem xét lệnh rút tiền, không phải chặn, và mã lý do duy nhất nói đúng điều đó. Policy được quản lý đang chạy production hiện nay khuyến nghị MONITOR ở mọi mức điểm.

Cùng một chỉ báo, ba trạng thái

  • Đã phát hiện · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · ví dụ withdrawal_completed
  • Không phát hiện · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · ví dụ login_completed
  • — Chưa đánh giá · NETWORK_TOR not_evaluated_reason_code PROVIDER_UNAVAILABLE · limitation_codes ["PROVIDER_UNAVAILABLE"] · evidence_coverage 69 · ví dụ provider_unavailable

Bộ phát hiện bị thiếu, hết hạn hoặc lỗi không bao giờ trở thành false. NOT_APPLICABLE chỉ đến từ ma trận bất biến của danh mục theo kênh, engine và nền tảng; tag của bạn không bao giờ thay đổi nó, và policy bị tắt, timeout hay sự cố không bao giờ đi đường tắt đó.

Mặc định là ngữ cảnh trung tính

PRIVATE_BROWSINGBROWSER_PRIVACY_BRAVEBROWSER_PRIVACY_SAFARIBROWSER_PRIVACY_SAMSUNG_INTERNETNETWORK_PROXYNETWORK_VPNNETWORK_TOR

Chúng có thể hạn chế những gì chúng tôi quan sát được. Độ bao phủ chỉ giảm ở nơi bằng chứng chưa được đánh giá. Chúng không phải gian lận. Chúng mô tả môi trường; chúng không buộc tội người dùng. Trong các policy được quản lý của chúng tôi, riêng chúng không bao giờ biện minh cho BLOCK_RECOMMENDED; các quy tắc do công ty bạn cấu hình tuân theo trọng số và ngưỡng cắt mà công ty đã chọn. Khi không thể phân biệt loại mạng, như phía sau Apple iCloud Private Relay, hosting, VPN và proxy đều giữ ở NOT_EVALUATED với NETWORK_TYPE_AMBIGUOUS: chúng tôi không bao giờ đánh dấu ba lần phát hiện từ một giá trị boolean duy nhất.

Bằng chứng mạng đến từ các danh sách tham chiếu công khai mà chúng tôi làm mới trên hạ tầng của chính mình: địa chỉ nút thoát Tor, dải địa chỉ của nhà cung cấp cloud, danh sách mạng hosting, dải địa chỉ của nhà cung cấp VPN và một cơ sở dữ liệu proxy công khai. Địa chỉ của người dùng bạn không bao giờ được gửi đến bên phát hành danh sách. Danh sách quá tuổi tối đa sẽ để chỉ báo của nó ở NOT_EVALUATED, không bao giờ NOT_DETECTED.

06 · Insight ngữ cảnh

Ngoài 13 chỉ báo: 54 insight ngữ cảnh. Dành cho điều tra, và cho điểm số của bạn khi bạn muốn.

Trong mọi lần đánh giá, trước khi trả phản hồi, chúng tôi tính 54 insight ngữ cảnh từ dữ liệu thu thập và từ lịch sử riêng của công ty bạn: ai khác dùng thiết bị, tài khoản đang hoạt động nhanh đến đâu, từ mạng nào, bên cạnh những tài khoản nào. Policy được quản lý của FingerTrackID giữ chúng ngoài điểm số. Trong quy tắc rủi ro của riêng bạn, mỗi insight có thể ở trạng thái tắt, ghost hoặc kích hoạt, với số điểm cho mức bất thường và rất bất thường: một insight đang kích hoạt khi kích hoạt sẽ trừ điểm tin cậy và tự nêu tên trong reason_codes.

context-insight.v1 · 54 insight trong sáu chủ đề · được nhóm như trong console và trong quy tắc của bạn

  • Tài khoản và thiết bị · 10

    Thiết bị mới và hệ điều hành mới đối với tài khoản · số tài khoản và số người khác nhau trên thiết bị trong 30 ngày · các tài khoản của cùng một người trên thiết bị · số thiết bị trên mỗi tài khoản và mỗi người trong 24 giờ · thiết bị hoạt động cao · hồ sơ thiết bị phổ biến, ít gặp hay hiếm đến mức nào trong công ty bạn · mất cookie thiết bị

  • Rút tiền và đơn hàng · 7

    Rút tiền trong giờ đầu tiên sau khi có thiết bị mới · số người thụ hưởng trên mỗi thiết bị và số tài khoản trên mỗi người thụ hưởng trong 30 ngày · số lần và số tiền rút trên mỗi tài khoản · số đơn hàng trên mỗi tài khoản và khoảng thời gian trung vị giữa các đơn

  • Mạng và vị trí · 12

    Quốc gia mới và nhà cung cấp internet (ASN) mới đối với tài khoản · số quốc gia, nhà cung cấp và IP khác nhau trên mỗi tài khoản · số tài khoản và số người trên mỗi IP · di chuyển bất khả thi · múi giờ trình duyệt không khớp với quốc gia của IP · quốc gia đầu ra của VPN · nhà cung cấp nằm trong danh sách lạm dụng công khai · Apple iCloud Private Relay

  • Tính toàn vẹn của trình duyệt và SDK · 16

    Công cụ nhà phát triển đang mở · dấu hiệu tự động hóa · dấu hiệu trình duyệt anti-detect · chữ ký TLS không khớp với trình duyệt đã khai báo, và độ ổn định của nó trong 30 ngày · renderer phần mềm và họ GPU · canvas hoặc âm thanh thay đổi giữa hai lần đọc · trình duyệt trong ứng dụng · có thể là chế độ khách · AI agent được nhận diện qua chữ ký · loại bot · SDK khác với gói đã được phê duyệt · một phiên SDK trên nhiều thiết bị · lần thu thập giống hệt bị lặp lại trên thiết bị khác · cookie thiết bị được dùng ở những nơi cách nhau quá xa

  • Tốc độ · 5

    Số lượt truy cập trên mỗi thiết bị và mỗi tài khoản trong 5 phút, 1 giờ và 24 giờ; trên mỗi IP trong 5 phút và 1 giờ · số lần đánh giá có cùng tag trên mỗi tài khoản và mỗi thiết bị trong 1 phút, 5 phút và 1 giờ

  • Liên kết giữa các tài khoản, một bước · 4

    Các tài khoản khác đã dùng cùng thiết bị · tài khoản lân cận bị phát hiện tự động hóa hoặc giả mạo trình duyệt · tài khoản lân cận bạn đã đánh dấu là gian lận đã xác nhận · người thụ hưởng rút tiền dùng chung với các tài khoản khác

Ba trạng thái · luôn có lý do, không bao giờ là số 0

  • Đã quan sát · điều kiện hiện diện, hoặc số đếm hay thước đo khác với giá trị trung tính của nó.
  • Không quan sát thấy · đã đánh giá, và vắng mặt hoặc trung tính.
  • Chưa đánh giá · luôn kèm lý do, không bao giờ hiển thị là số 0.

Một số insight phụ thuộc vào những gì bạn gửi. Nếu không có ref tài khoản hoặc ref người dùng, không có tag, hoặc không có kết quả thực tế, mục đó sẽ nói rõ: chưa gửi tài khoản, đánh giá không có tag, chưa gửi kết quả thực tế. Một yêu cầu có tag không mang số tiền hay người thụ hưởng, nên các mục số tiền rút và người thụ hưởng cũng nói rõ điều đó. Lượt truy cập đầu tiên, mạng ẩn danh hoặc một IP nằm ngoài cửa sổ một giờ của phép kiểm tra cũng là những lý do.

Chúng không phải là gì

  • Không phải một trong 13 chỉ báo, và không bao giờ là mã giới hạn. Chúng chỉ đến reason_codes thông qua một quy tắc mà công ty bạn đã kích hoạt.
  • Không bao giờ nằm trong điểm số của policy được quản lý của FingerTrackID. Một insight đang kích hoạt mà không có dữ liệu không trừ điểm nào: bằng chứng thiếu không bao giờ trở thành rủi ro.
  • Không phải mô hình ẩn: mỗi insight được đọc là bình thường, bất thường hoặc rất bất thường theo một thước đo mà công ty bạn có thể điều chỉnh, bắt đầu từ một mặc định được công bố.
  • Không phải lời buộc tội: số lượng lớn tài khoản hoặc người dùng trên một thiết bị không phải bằng chứng gian lận, và không có quy tắc "N tài khoản trên một thiết bị = gian lận".

Chuyên viên phân tích đọc chúng ở đâu

Chi tiết lượt truy cập. Thẻ "Ngữ cảnh truy cập" nhóm các insight theo chủ đề, kèm cửa sổ thời gian, mốc cắt của lịch sử đã xét, mức bất thường của từng insight trên thước đo của bạn và lý do cho mọi mục không có giá trị. Insight không vừa ngân sách thời gian của lần đánh giá sẽ được hoàn tất ở chế độ nền và nói rõ điều đó; nó không bao giờ làm chậm hay làm hỏng phản hồi.

Danh mục chỉ báo. Một trang giải thích mỗi chỉ báo trong 13 chỉ báo tìm kiếm điều gì, điều gì khiến nó chưa được đánh giá và liệu nó có thể thay đổi điểm số hay không, đồng thời liệt kê các insight ngữ cảnh cùng các lý do khiến chúng có thể không có giá trị.

Canvas, WebGL, âm thanh và font được đọc theo policy thu thập được quản lý của mọi công ty, chỉ dưới dạng giá trị dẫn xuất, và cung cấp dữ liệu cho một số insight, chẳng hạn họ GPU, renderer phần mềm hoặc kết quả render thay đổi giữa hai lần đọc. Ở nơi trình duyệt không cho phép một phép kiểm tra, mục đó giữ trạng thái chưa đánh giá, kèm lý do.

07 · Không kết luận được cũng là một kết quả

Khi không thể đánh giá, chúng tôi nói rõ, và nói lý do.

Thiếu bằng chứng không tạo ra mức tin cậy 100, và cũng không trở thành tín hiệu gian lận. Khi không có điểm, khuyến nghị đến từ phương án dự phòng được cố định trong phiên bản policy và được bảo đảm bởi hash của nó, và đó là một câu trả lời duy nhất cho mọi trạng thái không có điểm, bất kể tag nào: MONITOR. Không bao giờ ALLOW.

Các trường hợp không có điểm từ ví dụ hợp đồng

Tag không bao giờ chọn phương án dự phòng. Trong policy được quản lý, mọi trạng thái không có điểm, với bất kỳ tag nào, đều khuyến nghị MONITOR: tiếp tục và ghi nhận lại. Ba ví dụ hợp đồng dưới đây cũng vậy.

  • INCONCLUSIVEtag login · SDK không tải được

    MONITOR

    Không có thu thập: trust_score: null, evidence_coverage: 0, COLLECTOR_NOT_LOADED, basis INSUFFICIENT_EVIDENCE. Không gì được cho qua dưới dạng ALLOW.

  • INCONCLUSIVEbằng chứng mạng không khả dụng

    MONITOR

    Bốn chỉ báo mạng NOT_EVALUATED, evidence_coverage: 69, PROVIDER_UNAVAILABLE. Dù là thao tác gì, nó vẫn nằm trong hệ thống của bạn, theo quyết định của bạn; chúng tôi không bao giờ giữ tiền.

  • FAILEDtag pix_transfer · policy không khả dụng

    MONITOR

    Lỗi kỹ thuật: POLICY_UNAVAILABLE, policy_version: null, basis TECHNICAL_FAILURE. Không bao giờ được hiểu là "không có rủi ro".

Khi không có điểm, chúng tôi không bao giờ khuyến nghị ALLOW · fallback_policy_version production-observation-fallback-v2 trong các ví dụ · phương án dự phòng được xác thực cùng policy mỗi khi policy được đọc

Bốn trạng thái đánh giá

Completed 72 basis EVALUATION · reason_codes giải thích điểm số
Inconclusive null basis INSUFFICIENT_EVIDENCE · limitation_codes cho biết điều gì còn thiếu
Unscorable null basis OUT_OF_POLICY_SCOPE · sự kiện hợp lệ, policy không bao quát
Failed null basis TECHNICAL_FAILURE · POLICY_UNAVAILABLE, policy_version null · không bao giờ là "không có rủi ro"

14 mã giới hạn của danh mục · điều gì còn thiếu, không bao giờ là vì sao nó rủi ro

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

Mã giới hạn giải thích việc thu thập và chất lượng; mã lý do giải thích policy. Mỗi chỉ báo NOT_EVALUATED trỏ đến mã riêng của nó; lần đánh giá tổng hợp tất cả trong limitation_codes. Giới hạn thu thập không bao giờ là lý do rủi ro.

08 · Bạn quyết định

Năm khuyến nghị. Không hành động nào do chúng tôi thực hiện.

recommended_action cho biết policy gợi ý gì. customer_action cho biết bạn đã làm gì. Hai trường vì đó là hai sự thật.

Ai khuyến nghị, ai quyết định, ai hành động

FingerTrackID khuyến nghị

  • ALLOW
  • MONITOR
  • STEP_UP
  • REVIEW
  • BLOCK_RECOMMENDED

Không bao giờ chỉ vì quyền riêng tư · Tor, VPN, proxy, ẩn danh, thiết bị dùng chung

Luồng của bạn quyết định

Backend của bạn quyết định và hành động. Chúng tôi trả về một khuyến nghị; hiện nay policy được quản lý trả lời MONITOR, chỉ quan sát. Điều gì xảy ra với lượt truy cập được quyết định và thực thi ở phía bạn. Bạn biết tài khoản, hạn mức, lịch sử và chi phí của sự phiền toái. Chúng tôi thì không.

Bạn hành động và báo lại

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

customer_action · trường bạn gửi lại

  • Chúng tôi không bao giờ xác thực một người.
  • Chúng tôi không bao giờ chặn giao diện của bạn.
  • Chúng tôi không bao giờ chuyển tiền.

Mỗi khuyến nghị không có nghĩa là gì

  • ALLOW

    Policy không tìm thấy lý do gây phiền toái cho lượt truy cập này. Không có nghĩa là người đó hợp lệ hay lượt truy cập được chứng nhận. Nó chỉ được đưa ra khi có điểm số và các bằng chứng bắt buộc đã được đánh giá.

  • MONITOR

    Tiếp tục, nhưng ghi nhận lại. Đây là phương án dự phòng khi không có điểm trên mọi tag, và hiện nay cũng là câu trả lời của policy được quản lý ở mọi mức điểm. Không có nghĩa là nghi ngờ đã được xác nhận, và không đòi hỏi người dùng phải làm gì.

  • STEP_UP

    Yêu cầu yếu tố xác thực thứ hai hoặc một bước xác nhận. Không có nghĩa là chúng tôi thử thách ai đó: chính bạn là người hiển thị thử thách.

  • REVIEW

    Chuyển cho người xem xét. Không có nghĩa là chúng tôi giữ tiền: thao tác vẫn nằm trong hệ thống của bạn, theo quyết định của bạn.

  • BLOCK_RECOMMENDED

    Policy gợi ý từ chối. Không có nghĩa là đã thực hiện chặn, đã xác nhận gian lận hay đã cấm. Khi bạn chặn, việc đó trở thành customer_action: BLOCKED, một sự kiện của bạn, và được dùng để đo độ chính xác.

09 · Tích hợp

Ba bước, một hợp đồng. Trình duyệt thu thập; backend của bạn hỏi; chúng tôi trả lời.

Một script trên website của bạn, một endpoint server-to-server trong backend của bạn và hai lệnh gọi để gửi lại hành động và kết quả. Không có quyết định nào ở phía client.

SDK trên website của bạn

SDK thu thập và trả về một token. Chỉ vậy thôi.

Được phục vụ từ một subdomain của bạn. Trước khi bạn gửi yêu cầu cần đánh giá, ở bất kỳ màn hình nào, nó thu thập tín hiệu trình duyệt và môi trường rồi nhận 202 PROCESSING: xác nhận đã nhận, không phải kết quả. Tín hiệu mạng được edge bổ sung trên domain thu thập của bạn, không bao giờ do script. Không có điểm số, tín hiệu hay quyết định nào quay về trình duyệt.

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 của bạn gọi

Một lệnh gọi đồng bộ, có chữ ký, theo thời hạn của bạn.

HMAC-SHA-256 trên mười dòng chuẩn hóa — marker, key_id, method, path, timestamp, ID sự kiện và ID yêu cầu, metadata nội dung, và SHA-256 của chính xác các byte body ở dòng cuối. Không bao giờ serialize lại JSON trước khi hash; hợp đồng có kèm vector chuẩn. key_id là bộ định vị công khai duy nhất. Secret không bao giờ được truyền đi. Vector chuẩn requests.both_refs_deadline_750 từ hợp đồng v1.1: cùng route và cùng chữ ký như v1, với tag thay cho journey, action và 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 là một slug chữ thường dài tối đa 64 ký tự (chữ cái, chữ số và dấu gạch dưới, tối đa mười chữ số), không bao giờ là dữ liệu cá nhân; vector này nằm đúng ở giới hạn đó · subject_ref và account_ref có thể là null, và account_ref yêu cầu có subject_ref · ref là mã không minh bạch của bạn, không bao giờ là số định danh công dân, email hay ID tuần tự · deadline_ms là số nguyên từ 250 đến 5000, hoặc null cho 5000; nếu vượt quá, một Problem 503 có thể thử lại sẽ được trả về, không phải điểm số dở dang

Phản hồi đồng bộ

Đọc, quyết định, gửi lại những gì bạn đã làm.

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

Sau đó là hai lệnh gọi phản hồi: customer_action với những gì bạn đã làm và, khi đã biết, truth_status với kết quả thực tế (outcome: hợp lệ, đã xác nhận gian lận hoặc không đủ bằng chứng). Hợp đồng áp dụng cho cả hai cùng kỷ luật như lệnh gọi đánh giá: không gì được tính là đã chấp nhận trước khi commit bền vững, và một lần thử lại giống hệt không tạo thêm hiệu ứng thứ hai. Kết quả thực tế có thể được sửa sau — bản sửa được nối thêm như bản kế tiếp, và bản ghi trước đó vẫn đọc được.

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

↑ quay lại ví dụ đầy đủ

  • Web SDK
  • API S2S đồng bộ
  • Server SDK cho Node.js
  • MCP server cho coding agent
  • API hành động và kết quả thực tế
  • Console

Web, trên mọi trình duyệt hiện đại · không cần cài ứng dụng · SDK, đánh giá và phản hồi trong cùng một hợp đồng có phiên bản

npm install @fingertrackid/server ký lệnh gọi giúp bạn, và @fingertrackid/mcp cho phép Claude Code, Cursor hoặc bất kỳ coding agent nào hỗ trợ MCP kết nối tích hợp từ hợp đồng đã công bố. Hướng dẫn từng bước trong quickstart, hướng dẫn Web SDK và tài liệu tham chiếu API.

10 · Zero trust trong trình duyệt

Trình duyệt chỉ thu thập. Quyết định và định danh không bao giờ đi qua nó.

Không có gì đến từ trình duyệt được coi là có thẩm quyền. Đánh giá diễn ra server-to-server, có chữ ký, và mỗi lần thử chỉ được tính một lần: lặp lại không tạo hiệu ứng mới.

Ai nói chuyện với ai

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

Trình duyệt chỉ nhận ID phiên và ID sự kiện không minh bạch. Điểm số, tín hiệu và khuyến nghị được sinh ra và ở lại trên server. Cookie first-party được ký, HttpOnly, Secure và giới hạn phạm vi theo tenant và ứng dụng của bạn.

Giải phẫu lệnh gọi

POST /v1/assessmentssecurity ftidHmacV1 từ hợp đồng
X-FTID-Signature: v1=<key_id>:<mac-hex>key_id UUIDv7 là bộ định vị duy nhất; tenant, ứng dụng, môi trường và capability chỉ trở thành thẩm quyền sau khi MAC hợp lệ trong phép so sánh thời gian hằng định. X-Client-Id, nonce cũ và nhiều chữ ký đều bị từ chối.
X-FTID-Timestamp: 1791720000Epoch tính bằng giây. Dung sai ±300 s. Timestamp ở tương lai không bao giờ kéo dài thời gian lưu giữ.
X-FTID-Request-Id: <uuidv7>Dùng một lần cho mỗi lần thử, được giữ chỗ sau khi MAC hợp lệ. Một lần thử lại logic ký một request_id mới; MAC không hợp lệ không tạo giữ chỗ nào.
X-FTID-External-Event-Id: evt:tag-0003Giống hệt từng byte với giá trị trong body và trong chuỗi được ký.
body.idempotency_keyCùng key, cùng thao tác: một lần thử lại giống hệt trả về cùng lần đánh giá đã lưu, không tính lại.
body.deadline_msNgân sách thời gian của bạn. Vượt quá trước khi đánh giá xong: Problem assessment-unavailable (503, retryable: true), không phải điểm số dở dang.
  • 401đồng nhất: key_id không tồn tại, đã bị thu hồi, hay chữ ký sai đều tạo ra cùng một authentication-failed.
  • 403một credential đã xác thực nhưng không có capability đánh giá của route.
  • 503phụ thuộc secret không khả dụng: một chốt toàn cục làm phản hồi đồng nhất mà không tiết lộ liệu key_id có tồn tại hay không. Hãy ký một request_id mới.

11 · Policy có phiên bản

Mọi quyết định đều có phiên bản. Phiên bản cố định mọi thứ đã tạo nên nó.

Thay đổi độ nhạy của một chỉ báo sẽ tạo ra phiên bản mới, kèm tác giả, thời gian hiệu lực, mô phỏng và rollback. Lịch sử không thay đổi. Thiếu phiên bản thực sẽ chặn việc sử dụng.

Phiên bản đã quyết định · ví dụ 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 dùng cho hỗ trợ mà không để lộ định danh cá nhân. Các phiên bản được hiển thị là tag công khai không minh bạch; ID nội bộ của cơ sở dữ liệu không bao giờ xuất hiện trong API, webhook hay console.

Một phiên bản policy cố định những gì

  • danh mục tín hiệu
  • chuẩn hóa
  • feature
  • bộ phân giải thiết bị
  • quy tắc
  • chiến lược tương quan
  • mức độ cho mỗi chỉ báo
  • mức trần và ngưỡng

Có thể tái lập, không bao giờ bị viết lại

ví dụ login_completed

assessment_version1

supersedes_assessment_idnull

ví dụ login_completed_revision_2

assessment_version2

supersedes_assessment_id…0000000101

Một bản sửa đổi vận hành giữ nguyên policy và mọi phiên bản khác có hiệu lực tại received_at của sự kiện. Policy mới áp lên sự kiện cũ là một mô phỏng riêng; nó không bao giờ viết lại khuyến nghị nào đã định hướng quyết định trong quá khứ.

12 · Shadow mode

Chạy song song trước. Chỉ sau đó phản hồi mới ảnh hưởng đến hành động.

Shadow mode là chạy FingerTrackID song song với giải pháp bạn đang dùng, mà phản hồi không chạm vào bất kỳ quyết định nào. Bạn so sánh, gửi lại kết quả thực tế, và chỉ sau đó mới bắt đầu dùng khuyến nghị. Đây là cách chúng tôi khuyên bạn bắt đầu.

Toàn bộ chu trình

  1. 01

    SDK thu thập

    202 PROCESSING · event_context_token

  2. 02

    Backend của bạn yêu cầu đánh giá

    POST /v1/assessments · đồng bộ

  3. 03

    Bạn quyết định qua luồng của mình

    ở chế độ shadow, không dùng phản hồi

  4. 04

    Bạn báo lại hành động

    customer_action · POST …/customer-actions

  5. 05

    Bạn báo lại kết quả

    truth_status · POST …/outcomes

recommendation_alignment · được suy ra trên server từ cặp khuyến nghị × hành động; không bao giờ do client khai báo. Sự trùng khớp không chứng minh quan hệ nhân quả, độ chính xác hay gian lận.

So sánh, từng trường một

recommended_actioncustomer_actionrecommendation_alignment
REVIEWREVIEWED hoặc HELDALIGNED
STEP_UPALLOWEDNOT_ALIGNED
ALLOW hoặc MONITORALLOWEDALIGNED
BLOCK_RECOMMENDEDBLOCKEDALIGNED
bất kỳCANCELLEDNOT_COMPARABLE

Chặn không chứng minh gian lận. Xác nhận gian lận cần bằng chứng độc lập: truth_status chuyển từ PENDING sang LEGITIMATE, FRAUD_CONFIRMED hoặc INSUFFICIENT_EVIDENCE, với độ chín PROVISIONAL hoặc MATURE. Chỉ nhãn đã chín mới trở thành chỉ số chất lượng.

Chu trình cung cấp dữ liệu cho điều gì

  • Dương tính giả và âm tính giả là các chỉ số suy ra từ nhãn đã chín, không phải trường nhập tay.
  • Hiệu chỉnh lại quy tắc và ngưỡng, luôn dưới dạng phiên bản policy mới.
  • Chất lượng bộ phát hiện được đo trong shadow mode của bạn, trước khi phản hồi ảnh hưởng đến bất kỳ hành động nào của bạn.
  • Điều nó không làm: trở thành cơ chế thực thi tự động. customer_action và truth_status là hai sự thật tách biệt, và mỗi lần sửa đều tạo ra một bản kế tiếp.

13 · Quyền riêng tư theo hợp đồng

Được giới hạn bởi hợp đồng, không phải bởi một tùy chọn cấu hình.

PII dạng văn bản rõ không phải là yêu cầu của sản phẩm. Bạn gửi ref người dùng và ref tài khoản không minh bạch; chúng tôi không yêu cầu số định danh công dân, email hay số điện thoại để đánh giá một lượt truy cập.

packages/contracts/src/sdk-handshake-v1.ts · policy thu thập

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

packages/contracts/src/sdk-signals/rendering-v1.ts · trích đoạn

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

Thu thập hành vi, tức chuyển động con trỏ và thao tác phím, chỉ chấp nhận giá trị tắt: bật nó lên đòi hỏi thay đổi hợp đồng, không phải một tùy chọn cấu hình. Canvas, WebGL, âm thanh offline và sự hiện diện của font được đọc theo policy thu thập được quản lý, policy này bật chúng cho mọi công ty, và chúng chỉ rời khỏi trình duyệt dưới dạng giá trị dẫn xuất: hash có độ dài cố định, một họ GPU khép kín, một số đếm và một mặt nạ hiện diện trên danh sách font cố định. Hợp đồng không có trường nào cho pixel, mẫu âm thanh, tên nhà sản xuất hay renderer của GPU, hay tên font. Khi kết hợp, các giá trị dẫn xuất này có thể nhận ra lại cùng một trình duyệt, nên chúng được xem là dữ liệu thiết bị, không phải dữ liệu ẩn danh. Không bao giờ thu thập, như một quy tắc tuyệt đối: mật khẩu, văn bản đã gõ, nội dung chat hay tài liệu, clipboard, ảnh chụp màn hình, micro, camera. Mỗi loại bằng chứng có một lớp quyền riêng tư, và lớp này không phải là trọng số rủi ro.

Những bảo đảm không phụ thuộc vào thiện chí

  • PII không đi vào log. Dữ liệu thô không hiển thị tự do trong console: mọi lần truy cập đều được ghi lại. Định danh hay giá trị cá nhân không bao giờ nằm trong URL.
  • Tương quan giữa các tenant bị tắt. Mọi bảng nghiệp vụ đều mang tenant_id với cơ chế cô lập được ép buộc trong cơ sở dữ liệu. Không có uy tín hay nhãn nào được chia sẻ giữa các khách hàng.
  • Cookie first-party được phục vụ từ domain của bạn: có chữ ký, HttpOnly, Secure, giới hạn trong tenant và ứng dụng của bạn. Giá trị không bao giờ đi vào cơ sở dữ liệu, hàng đợi hay log; nếu thiếu hoặc bị từ chối, tính liên tục giảm xuống như một giới hạn và lần đánh giá không dừng lại.
  • Mọi lần hợp nhất thiết bị đều có thể đảo ngược và ghi lại phiên bản resolver đã thực hiện. Riêng IP không bao giờ hợp nhất các thiết bị.
  • Mỗi loại bằng chứng có mục đích, lớp quyền riêng tư, quy tắc truy cập và thời hạn lưu giữ được khai báo trong danh mục dữ liệu của chúng tôi. Cơ sở pháp lý, nơi lưu trữ dữ liệu và DPA được xử lý cùng đội pháp lý của bạn khi ký hợp đồng; không nội dung nào trên trang này là tư vấn pháp lý.

Party không phải là Account

Party Account Account Account

Liên kết đến từ backend của bạn · không bao giờ được suy ra từ fingerprint

Một người, nhiều tài khoản hợp lệ. Một tài khoản không bao giờ âm thầm đổi chủ; phiên chỉ tiến từ ẩn danh đến người dùng rồi đến một tài khoản của cùng người đó. Mâu thuẫn là xung đột, không phải một liên kết mới và cũng không phải bằng chứng bất lợi tự bịa ra.

Dữ liệu nằm ở đâu

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

Một console để tích hợp, điều tra và khép kín vòng lặp.

Console trước hết trả lời câu hỏi "chúng ta có đang nhận, đánh giá và giải thích với chất lượng tốt không?", và chỉ sau đó mới cho phép bàn đến tính hợp lệ. Mọi tỷ lệ phần trăm đều nêu rõ mẫu số.

Sơ đồ minh họa, không phải ảnh chụp màn hình · tông màu console bên trong khung

Chi tiết lượt truy cập. Ba thước đo là ba thành phần tách biệt; khuyến nghị kèm recommendation_basis, policy đang có hiệu lực và điều đội của bạn báo đã làm; độ mới của bằng chứng; 13 chỉ báo với trạng thái, khả năng áp dụng, nguồn, độ tin cậy của bộ phát hiện, độ mới và lý do cho mọi chỉ báo chưa đánh giá; giới hạn và mã lý do; phiên, thiết bị và các liên kết của chúng; mức độ nhiều tài khoản trên thiết bị; vị trí gần đúng từ mạng; ngữ cảnh truy cập; và một tab dữ liệu kỹ thuật với mọi thứ SDK và edge đã thu thập, bao gồm phiên bản trình duyệt thực đọc từ các API nó cung cấp, bên cạnh phiên bản nó khai báo.

Bộ lọc điều tra. Danh sách lượt truy cập có thể thu hẹp theo nhà cung cấp internet (ASN), quốc gia của mạng, bản cài đặt thiết bị, lý do một chỉ báo chưa được đánh giá, và tối đa hai chỉ báo ở các trạng thái đã chọn cùng lúc, và tìm một lượt truy cập theo ref tài khoản hoặc ref người dùng của chính bạn. Không có bộ lọc theo địa chỉ IP: đó là dữ liệu cá nhân. Mỗi chi tiết lượt truy cập cũng mang insight ngữ cảnh ↑ của nó.

Điều tra chuyên sâu. Từ bất kỳ lượt truy cập nào, một đồ thị liên kết mở ra các thiết bị và tài khoản xung quanh, từng bước một, trên tối đa 92 ngày lịch sử của chính bạn. Mỗi lần mở rộng là một lượt đọc được ghi lại; địa chỉ IP không bao giờ trở thành nút.

Danh sách chặn và danh sách cho phép. Từ chi tiết lượt truy cập, đội của bạn đưa một thiết bị, một ref tài khoản hoặc một IP đơn lẻ vào danh sách chặn (chặn hoặc xem xét) hoặc danh sách cho phép của công ty, kèm ghi chú và tên người đã thêm. Với lượt truy cập production có điểm, một mục trong danh sách sẽ ghi đè khuyến nghị và tự nêu tên trong reason_codes. Không gì bị xóa: gỡ một mục sẽ ghi lại ai đã gỡ và khi nào.

Trợ lý AI. Một bảng bên giải thích từng màn hình và trả lời câu hỏi về tích hợp và lượt truy cập của chính bạn, trong phạm vi công ty và vai trò của bạn.

Cấu hình rủi ro. Quy tắc rủi ro riêng của công ty bạn, theo từng ứng dụng: mỗi chỉ báo trong 13 chỉ báo ở trạng thái tắt, ghost hoặc kích hoạt, với trọng số từ 1 đến 100 điểm, và bạn đặt các khoảng điểm cùng hành động cho từng khoảng. Quy tắc ghost được tính và ghi lại nhưng không bao giờ thay đổi phản hồi. Trước khi bạn công bố, thẻ tác động chạy lại bản nháp của bạn trên các lần đánh giá của 1, 7 hoặc 30 ngày gần nhất. Mỗi insight trong 54 insight ngữ cảnh ↑ có thể tham gia với số điểm riêng. Quản trị viên hoặc người giám sát rủi ro của bạn công bố trực tiếp; mỗi lần công bố là một phiên bản mới được kiểm toán, và chuyển tất cả sang ghost dừng mọi quy tắc của bạn cùng lúc. FingerTrackID không bao giờ kích hoạt quy tắc thay bạn: bộ phận hỗ trợ chỉ có thể chuyển mọi quy tắc của một ứng dụng sang ghost, kèm lý do hiển thị trong console của bạn. Khi chưa có quy tắc nào được kích hoạt, policy được quản lý sẽ trả lời, do đội ngũ FingerTrackID công bố với phê duyệt được ghi lại.

Mười sáu màn hình trong bốn nhóm · chính, phát hiện, vận hành, quản trị

  • 01Trang chủ
  • 09Tích hợp và tình trạng
  • 02Tổng quan
  • 10Mức sử dụng
  • 03Lượt truy cập
  • 11Xuất dữ liệu
  • 04Hàng đợi xem xét
  • 12Báo cáo
  • 05Cấu hình rủi ro
  • 13Người dùng và quyền truy cập
  • 06Mô phỏng policy
  • 14Kiểm toán
  • 07Danh sách
  • 15Vòng đời khách hàng
  • 08Danh mục chỉ báo
  • 16Tài khoản và bảo mật

Hàng đợi xem xét là module xem xét rút tiền: một hàng đợi vận hành xây trên cùng lõi, đưa mọi lệnh rút tiền v1 được khuyến nghị REVIEW đến một người, kèm bằng chứng bên cạnh. Các lần đánh giá có tag không bao giờ vào hàng đợi này, và nó vẫn trống khi policy khuyến nghị MONITOR, như policy được quản lý hiện nay.

Bằng tiếng Anh, tiếng Bồ Đào Nha (Brazil và Bồ Đào Nha), tiếng Tây Ban Nha, tiếng Pháp và tiếng Đức. Đăng nhập bằng passkey hoặc yếu tố thứ hai; phân quyền theo vai trò; nhật ký kiểm toán ghi lại ai đã xem dữ liệu nhạy cảm và ai đã thay đổi gì. Dữ liệu thô không hiển thị tự do: mọi lần truy cập đều được ghi lại.

15 · Cách chúng tôi tính phí

Một đơn vị tính phí. Mọi thứ khác không được tính.

Giá theo khối lượng lần thu thập hoàn tất, được xác định trong đề xuất. Shadow mode tiêu thụ cùng đơn vị và hiển thị trong console dưới dạng mức sử dụng ước tính; những gì được đưa vào hóa đơn cho giai đoạn đó được xác định trong đề xuất.

Đơn vị

Một snapshot device intelligence production, do tích hợp của bạn yêu cầu và đã hoàn tất.

Đây là đơn vị đo lường và là đơn vị tính phí dự kiến. Mỗi device_intelligence_snapshot_id tạo ra tối đa một đơn vị, bất kể có bao nhiêu lần đánh giá, tag, nhà cung cấp hay lần xử lý lại sử dụng lần thu thập đó.

  • Điểm số, khuyến nghị, hành động và kết quả thực tế không quyết định việc tính phí. Kết quả rủi ro không đắt hơn; kết quả hợp lệ không rẻ hơn.
  • Giới hạn thương mại không bao giờ trở thành chặn, giới hạn tốc độ hay tự động hạ cấp dịch vụ.
  • Mỗi snapshot được yêu cầu đều tạo ra một bản ghi sử dụng bất biến, kể cả khi không tính phí. Các trường hợp loại trừ được chứng minh bằng bản ghi đó, không phải dựng lại từ log.

Sự kiện · có tạo đơn vị không?

  • Ứng dụng không phải production (development, staging)không
  • Thử lại với cùng idempotency_keykhông
  • Bất kỳ lần đánh giá nào, trên bất kỳ tag nào, tái sử dụng một snapshot còn mớikhông
  • Xử lý lại, phát lại lịch sử, thay đổi policykhông
  • Làm giàu dữ liệu bất đồng bộ và làm mới do chúng tôi khởi tạokhông
  • Lệnh gọi hoặc thử lại tới nhà cung cấpkhông
  • Gửi webhookkhông
  • customer_action và kết quả thực tếkhông
  • Truy vấn, dashboard, báo cáo, xuất dữ liệukhông
  • 4xx do xác thực, phân quyền hoặc hợp đồng không hợp lệkhông
  • 5xx, timeout phía chúng tôi, lần thu thập INCONCLUSIVE hoặc FAILEDkhông
  • Snapshot production, do tích hợp yêu cầu, đã hoàn tấtcó · 1

Đề xuất theo khối lượng, với mức sử dụng trong shadow mode được đưa lên bàn.

Yêu cầu đề xuất

16 · Hỏi đáp

Những câu hỏi mà trưởng bộ phận rủi ro và CTO thường đặt ra.

Q01Tích hợp bắt đầu như thế nào?
Bằng shadow mode. Bạn cài SDK trên website, bật lệnh gọi server-to-server, và phản hồi bắt đầu chạy song song với luồng thực của bạn mà không chạm vào quyết định nào. Bạn gửi lại customer_action và kết quả thực tế, và trong console bạn so sánh, từng lượt truy cập, khuyến nghị với điều đội của bạn báo đã làm, đồng thời theo dõi độ bao phủ bằng chứng. Khi các con số khớp, đội của bạn quyết định có cho khuyến nghị bắt đầu ảnh hưởng đến quyết định hay không và ở đâu, luôn do backend của bạn thực thi.
Q02Các bạn đánh giá những hành trình nào?
Bất kỳ màn hình nào bạn chọn. Backend của bạn gửi một tag của riêng bạn kèm mỗi lần đánh giá, là một slug chữ thường như login, withdrawal hoặc pix_transfer: không cần đăng ký, không có danh sách đóng và không giới hạn. Console lọc, nhóm và xuất dữ liệu theo tag, và các mẫu (đăng ký, đăng nhập, khôi phục mật khẩu, yếu tố thứ hai, thay đổi hồ sơ, nạp tiền, rút tiền, chuyển khoản Pix, giao dịch, thanh toán) là hướng dẫn tích hợp. Tag không bao giờ chọn policy, bộ phát hiện, phương án dự phòng hay thời hạn: mọi lần đánh giá có tag đều chạy theo cùng policy và cùng 13 chỉ báo. Tag không bao giờ được mang dữ liệu cá nhân. Yêu cầu không mang số tiền, loại tiền tệ hay người thụ hưởng.
Q03Vì sao các bạn không chặn?
Vì sự kiện không phải là gian lận, điểm số không phải là quyết định, và việc chặn không chứng minh điều gì. Bạn là người biết tài khoản, hạn mức, lịch sử và chi phí của sự phiền toái. Chúng tôi cung cấp bằng chứng, độ bao phủ và một khuyến nghị có giải thích. BLOCK_RECOMMENDED là khuyến nghị mạnh nhất, và nó vẫn chỉ là khuyến nghị. Khi bạn chặn, bạn ghi lại customer_action: BLOCKED, và điều đó trở thành dữ liệu để đo xem khuyến nghị có đúng hay không.
Q04VPN, Tor hay tab ẩn danh có kéo điểm xuống không?
Trong các policy được quản lý của chúng tôi, không yếu tố nào trong số đó tự nó tạo ra BLOCK_RECOMMENDED; các quy tắc do công ty bạn cấu hình tuân theo trọng số và ngưỡng cắt mà công ty đã chọn. Chế độ riêng tư và cơ chế bảo vệ của trình duyệt là ngữ cảnh trung tính: chúng có thể làm giảm độ bao phủ và hiển thị trong chi tiết, không kèm mã lý do bất lợi nào. Tor, proxy, VPN và hosting là ngữ cảnh ẩn danh: policy có thể cân nhắc chúng cùng những gì khác đã thấy, không bao giờ theo tag. Trong policy được quản lý hiện nay, chỉ tự động hóa và giả mạo trình duyệt làm thay đổi điểm, và khuyến nghị là MONITOR. Trong ví dụ hợp đồng rút tiền v1 trên trang này, Tor được phát hiện dẫn đến REVIEW, và mã lý do nói rõ điều đó. Bản thân nó không bao giờ là gian lận.
Q05Nếu SDK không tải được, hoặc người dùng chặn script thì sao?
Hành trình vẫn tiếp tục. Backend của bạn gọi API mà không có event_context_token và nhận INCONCLUSIVE, trust_score: null, evidence_coverage: 0, limitation_codes: ["COLLECTOR_NOT_LOADED"] cùng khuyến nghị dự phòng, MONITOR. Không bao giờ là điểm số bịa ra. Không bao giờ ALLOW vì thiếu bằng chứng.
Q06Độ trễ là bao nhiêu? Có SLA không?
Thời hạn do bạn quyết định. Mặc định của hợp đồng là 5000 ms, và deadline_ms đặt nó ở bất kỳ giá trị nào từ 250 đến 5000 (hãy giữ timeout HTTP của bạn trên khoảng 6 giây với mặc định); nếu vượt quá, bạn nhận một Problem assessment-unavailable (503, retryable: true, với Retry-After), không phải phản hồi dở dang. Lặp lại cùng thao tác logic với một request_id mới. Độ trễ và SLA được đưa vào đề xuất, đo trong shadow mode của bạn trước khi bất kỳ quyết định nào phụ thuộc vào phản hồi.
Q07Làm sao tôi biết phản hồi không bị giả mạo?
Nó không bao giờ đi qua trình duyệt. Backend của bạn ký mọi lệnh gọi bằng HMAC-SHA-256 trên mười dòng chuẩn hóa, dòng cuối là SHA-256 của chính xác các byte body; key_id UUIDv7 là bộ định vị công khai duy nhất; request_id được giữ chỗ để chống replay; lỗi xác thực trả về một 401 đồng nhất mà không tiết lộ key có tồn tại hay không. Secret không bao giờ được truyền đi. Vector kiểm thử chuẩn của giao thức là một phần của hợp đồng; với nó bạn tái tạo chữ ký giống hệt từng byte.
Q08Tôi có phải gửi số định danh công dân, email hay số điện thoại không?
Không. Lần đánh giá dùng ref người dùng và ref tài khoản không minh bạch mà chỉ hệ thống của bạn phân giải được. PII dạng văn bản rõ không phải là yêu cầu của sản phẩm. Hành vi con trỏ và thao tác phím bị tắt trong hợp đồng. Các kiểm tra canvas, WebGL, âm thanh và font chạy theo policy thu thập được quản lý của mọi công ty và chỉ rời khỏi trình duyệt dưới dạng hash, một họ GPU và một mặt nạ hiện diện trên danh sách font cố định, không bao giờ là pixel, âm thanh, tên GPU hay tên font. Mật khẩu, văn bản đã gõ, clipboard, ảnh chụp màn hình, micro và camera bị cấm. Mỗi loại bằng chứng có mục đích, lớp quyền riêng tư và thời hạn lưu giữ được khai báo; cơ sở pháp lý được xem xét cùng đội pháp lý của bạn trước khi bật production, và không nội dung nào trên trang này thay thế cho việc xem xét đó.
Q09Chi phí bao nhiêu và đội của tôi phải làm gì?
Giá theo khối lượng lần thu thập hoàn tất, trong một đề xuất. Đơn vị tính phí dự kiến là một snapshot hoàn tất trong production; không gì ngoài production được tính. Về phía bạn: một script trên website, một endpoint server-to-server trong backend để yêu cầu đánh giá, và hai lệnh gọi API để gửi lại hành động đã thực hiện và kết quả thực tế (outcome). SDK dành cho web và chạy trên mọi trình duyệt hiện đại; không cần cài ứng dụng.
Q10Device intelligence là gì, và khác gì so với device fingerprinting (dấu vân tay thiết bị)?
Device fingerprinting đọc các đặc điểm ổn định của trình duyệt để nhận ra nó lần sau. Device intelligence bắt đầu từ đó và đi xa hơn: kiểm tra xem các đặc điểm đó có nhất quán với nhau và với mạng hay không, có tự động hóa, trình giả lập hay trình duyệt anti-detect đang hoạt động hay không, và thiết bị này hành xử thế nào trên các tài khoản của bạn. FingerTrackID trả về kết quả dưới dạng điểm tin cậy, khớp thiết bị với mức tin cậy riêng, độ bao phủ bằng chứng và 13 chỉ báo, mỗi chỉ báo kèm phiên bản của bộ phát hiện đã đọc nó.
Q11Chúng tôi có thể tự đặt quy tắc, điểm số và danh sách không?
Có. Trong console, công ty bạn gán điểm cho bất kỳ chỉ báo nào trong 13 chỉ báo và 54 insight ngữ cảnh, chọn các khoảng điểm và khuyến nghị cho từng khoảng, và có thể chạy bất kỳ quy tắc nào ở chế độ ghost trước, được tính và ghi lại mà không thay đổi phản hồi. Danh sách chặn và danh sách cho phép nhận một thiết bị, một ref tài khoản hoặc một IP đơn lẻ, từng mục một, kèm ghi chú và tên người đã thêm. Mỗi lần công bố là một phiên bản mới được kiểm toán. FingerTrackID không bao giờ kích hoạt quy tắc hay thêm mục vào danh sách thay bạn.
Q12AI coding agent có thể thực hiện tích hợp không?
Có. Server SDK @fingertrackid/server ký lệnh gọi, MCP server @fingertrackid/mcp cung cấp cho Claude Code, Cursor hoặc bất kỳ agent nào hỗ trợ MCP các hợp đồng, vector chữ ký, một module server dựng sẵn cho mỗi tag và một phép kiểm tra domain thu thập của bạn, tất cả chỉ đọc, và tài liệu công bố llms.txt cùng một khối quy tắc dựng sẵn cho AGENTS.md của bạn. Secret ở lại trong môi trường của bạn; agent không bao giờ cần nhìn thấy nó.
Q13SDK nặng bao nhiêu, và có làm chậm trang không?
SDK thu thập một lần, song song, trong một yêu cầu duy nhất tới subdomain thu thập của chính bạn. Trên máy tính, toàn bộ lần thu thập mất khoảng 80 đến 125 ms ở mức trung vị trên Chrome, Firefox và Safari, trong ngân sách cứng 250 ms; mỗi phép kiểm tra chiếm tối đa 2 ms của main thread, và những phép kiểm tra cần chờ, như đo thời gian khung hình hay một Worker, đều chờ song song. Nó không bao giờ hiển thị hộp thoại xin quyền và không bao giờ chặn giao diện của bạn.

17 · Liên hệ

Đánh giá hành trình bạn chọn, trong shadow mode.

Bắt đầu với shadow mode: phản hồi chạy song song với luồng thực của bạn mà không chạm vào quyết định nào, bạn so sánh, gửi lại kết quả, và chỉ sau đó mới bắt đầu dùng khuyến nghị. Nếu bạn có những màn hình nơi quyết định thật sự quan trọng và muốn thấy phản hồi được giải thích trước khi tin tưởng nó, hãy trao đổi với chúng tôi.

Đặt lịch demo

Nhập email có tên miền.
Nhập tên công ty.
Điều bạn muốn đánh giá

Hành trình là bất kỳ màn hình nào bạn chọn, với tên do bạn đặt. Đánh dấu những hành trình bạn đã nghĩ đến; phần còn lại sẽ rõ trong cuộc trò chuyện.

Không gửi bản tin · chúng tôi trả lời qua email, từng người một · hoặc viết thẳng cho contato@fingertrackid.com

Cách bắt đầu

  1. Một cuộc trò chuyện 30 phút về các hành trình bạn muốn đánh giá và luồng ra quyết định của bạn.
  2. Credential server cho ứng dụng của bạn, hợp đồng có thể thực thi và vector HMAC. Không có sandbox: bạn thử nghiệm trong production, ở shadow mode.
  3. Shadow mode với luồng thực của bạn: bạn so sánh và gửi lại kết quả trước khi phản hồi ảnh hưởng đến bất kỳ quyết định nào.
  4. Production trên các màn hình bạn gắn tag, với policy có phiên bản; mọi quyết định vẫn thuộc về backend của bạn.

Đi kèm những gì

  • Console với độ bao phủ bằng chứng và, từng lượt truy cập, khuyến nghị bên cạnh hành động bạn đã báo lại
  • Hợp đồng event-assessment.v1 có thể thực thi, kèm vector kiểm thử HMAC
  • Shadow mode trong production ngay từ ngày đầu: phản hồi chạy song song với luồng của bạn và không bao giờ chạm vào quyết định
  • Kênh trao đổi trực tiếp với những người viết policy