Identity
Risk Snapshot

Risk Snapshot'ı

analyze (veya analyze-sync) çağrısının her biri tek bir nesne döndürür: IdentityDecisionSnapshot. Bu düz ve açıklanabilir bir kayıttır — kanonik bir verdict, üstte dört skor, aile bazlı sinyal alanları ve verdict'in neden öyle çıktığını söyleyen bir bulgu yüzeyi. Identity bağımsız bir kanıt sağlayıcıdır (evidence provider): snapshot riski tanımlar, riske göre aksiyon almaz.

Snapshot tek bir verdict alanı taşır — identityRiskLevel. Bu, identity'nin oturuma dair kendi kanıt-derece değerlendirmesidir; bir fraud ya da ödeme aksiyonu DEĞİLDİR. block/allow alanı yoktur: seviyeyi, skorları ve bulguları okur, kararı siz verirsiniz. Snapshot'ı kendi kurallarınıza, Fraud Detection mantığına ya da checkout'unuza besleyin.

Yanıt zarfı

Gateway yanıtları tek bir zarfı paylaşır — { success, message, code, data, meta }. Snapshot her zaman data içindedir:

{
  "success": true,
  "message": "Analysis complete",
  "code": "IDENTITY_ANALYZED",
  "data": { /* IdentityDecisionSnapshot — aşağıdaki her şey */ },
  "meta": { "traceId": "trc_01HV3K9X..." }
}

Kanonik verdict

identityRiskLevel, oturumu özetleyen tek enum'dur. Identity'nin kendi kanıtından derecelenir — onu onaylama ya da reddetme talimatı olarak okumayın.

AlanTipAnlamı
identityRiskLevelclean | low | medium | high | criticalIdentity'nin oturum için kanıt-derece risk bandı
identityRiskPolicyVersionstringSeviyeyi üreten policy sürümü — derecelendirme değişiklikleri denetlenebilsin diye sabitleyin
⚠️

identityRiskLevel, snapshot'taki tek verdict enum'udur. Geri kalan her şey bir sinyal, bir skor ya da bir bulgudur. Ayrı bir "decision" veya "action" alanı yoktur — o yüzey sizin kendi mantığınıza aittir.

Skorlar

Snapshot'ın üstünde dört normalize skor durur. Bunları eşik olarak değil, sürekli sinyal olarak ele alın — kendi kesme noktalarınızın nerede olacağını siz seçersiniz.

AlanAralıkNe söyler
riskScore0–100Oturumun genel risk büyüklüğü
confidenceScore0–1Değerlendirmeyi ne kadar kanıt destekliyor
similarityScore0–1Bu oturumun, konunun bilinen iyi geçmişine ne kadar benzediği
stabilityScore0–1Cihaz/kimlik sinyalinin oturumlar arasında ne kadar stabil olduğu

Sinyal aileleri

Skorların altında snapshot, sinyalleri ailelere göre gruplar. Her aile kendi sayfasında derinlemesine belgelenir; buradaki tablolar alan referansıdır.

Cihaz & süreklilik

Bu cihazın/aktörün daha önce görülüp görülmediği ve eşleşmenin ne kadar stabil olduğu. Tüm detay: Cihaz & Süreklilik.

AlanTipAnlamı
knownDevicebooleanCihaz bu merchant için daha önce görüldü
stableDevicebooleanFingerprint son oturumlar boyunca stabil
sameDeviceProbability0–1Bunun önceki oturumlarla aynı fiziksel cihaz olma olasılığı
sameBrowserProbability0–1Aynı tarayıcı örneği olma olasılığı
sameActorProbability0–1Bu ve önceki oturumların arkasında aynı kişinin olma olasılığı
matchedClusterIdstring | nullOturumun eşleştiği cihaz kümesi (cluster)
clusterStabilityScore0–1O kümenin zaman içinde ne kadar stabil olduğu
clusterRiskScore0–100Eşleşen kümenin toplam riski
continuityDriftReasonsstring[]Süreklilik güveninin neden düştüğü (örn. yeni donanım öznitelikleri)
continuityEvidenceobject[]Süreklilik eşleşmesinin arkasındaki kanıt kayıtları

Ağ zekâsı

VPN/proxy/Tor/hosting duruşu artı geo, ASN ve ISP. Tüm detay: Ağ Zekâsı.

AlanTipAnlamı
networkCategorystringAğ tipi (örn. residential, hosting, vpn, proxy)
networkRiskScore0–100Ağ yolunun risk büyüklüğü
networkPosturestringAğ için özet duruş etiketi
ipCountry / ipRegion / ipCitystringIP coğrafi konumu
geoConfidence0–1Coğrafi konum güveni
asnnumberOtonom sistem numarası
ispstringİnternet servis sağlayıcı
providerstringAğ/hosting sağlayıcı etiketi
hostingRiskstringHosting/datacenter risk seviyesi
geoConflictDetectedbooleanCoğrafi sinyaller çelişiyor (örn. IP vs beyan edilen)
networkMatchedSourcesstring[]Hangi zekâ kaynakları eşleşti
networkMatchedArtifactsstring[]Hangi ağ artifact'ları eşleşti

Bot & otomasyon

Bot sınıflandırması, otomasyon/kötüye kullanım sinyalleri ve beyan/doğrulanmış-bot güveni. Tüm detay: Bot & Otomasyon.

AlanTipAnlamı
botClassificationstringBot verdict'i (örn. human, automation_likely, verified_bot)
botConfidence0–1Bot sınıflandırmasının güveni
botSignalsstring[]Gözlenen tekil otomasyon/kötüye kullanım sinyalleri
botTrustOutcomestringBeyan/doğrulanmış-bot değerlendirmesinin sonucu
botTrustTierstringTanınan bir bota atanan güven kademesi
botTrustDeclaredbooleanİstemci kendini otomatik ajan olarak beyan etti
botIssuerId / botKeyId / botActorIdstringKayıtlı, doğrulanmış bir botun tanımlayıcıları

Mobil bütünlük

Yalnız native-mobil oturumlarda mevcut. Tüm detay: Mobil Tehdit.

AlanTipAnlamı
mobileIntegrityClassificationstringAttest edilmiş cihaz/uygulama bütünlük verdict'i
mobileIntegrityConfidence0–1Bütünlük verdict'inin güveni
mobilePolicyStatusstringMobil uygulama policy'nize göre sonuç
mobileAppTrustedbooleanUygulama güvenilen bir registry kaydıyla eşleşti
mobilePlatformstringios / android
mobileAppId / mobileAppVersionstringBildirilen uygulama kimliği

Kurcalama & gizlilik

Tarayıcı-bütünlüğü/kurcalama duruşu ve gizlilik-aracı duruşu.

AlanTipAnlamı
tamperClassificationstringTarayıcı-bütünlüğü/kurcalama verdict'i (örn. clean, tampered)
tamperConfidence0–1Kurcalama verdict'inin güveni
privacyPosturestringGizlilik-aracı duruşu (örn. hardened, anti-detect)
privacyConfidence0–1Gizlilik duruşunun güveni

Boolean bayraklar

En yüksek sinyalli koşullar için hızlı, üst düzey boolean'lar.

AlanAnlamı
vpnDetectedOturum ticari bir VPN üzerinden geldi
proxyDetectedOturum bir proxy/relay üzerinden geldi
torDetectedOturum bir Tor çıkış düğümünden geldi
ipBlacklistedIP bir engelleme listesinde
fingerprintBlacklistedCihaz fingerprint'i bir engelleme listesinde
deviceTokenBlacklistedCihaz token'ı bir engelleme listesinde

Verdict yüzeyi

Snapshot açıklanabilirdir: skorların ve sinyallerin yanında, onların arkasındaki gerekçeleri de taşır.

AlanTipNe taşır
reasonCodesstring[]Sürücüleri özetleyen makine-okunur kodlar
tagsstring[]Oturuma iliştirilen tanımlayıcı etiketler
riskFlagsstring[]Tetiklenen risk koşulları
findingsobject[]Açıklanan sürücüler — katkı sunan her sinyal için bir kayıt
featuresobjectDeğerlendirmede kullanılan ham feature değerlerinin bir haritası

findings içindeki her kayıt, katkı sunan tek bir sinyali kırar:

Finding alanıAnlamı
codeBulgunun stabil kodu
severitylow | medium | high (bu sürücünün göreli ağırlığı)
scoreDeltaBu bulgunun risk skorunu ne kadar hareket ettirdiği
sourceHangi sinyal ailesinden geldiği (device, network, bot, …)
descriptionİnsan-okunur açıklama

Her sinyal ailesi ayrıca bir kanıt ve yöntem kırılımı sunar — her sinyal, onu üreten kanıtı ve yöntemi taşır, dolayısıyla bir verdict asla kara kutu değildir. Açıklanan sürücüler için findings'i, ham köken için aile bazlı kanıtı okuyun.

Tam bir snapshot

Gerçek alan adlarıyla eksiksiz bir data payload'ı:

{
  "identityRiskLevel": "high",
  "identityRiskPolicyVersion": "2026-07-01",
 
  "riskScore": 72,
  "confidenceScore": 0.91,
  "similarityScore": 0.38,
  "stabilityScore": 0.55,
 
  "knownDevice": true,
  "stableDevice": true,
  "sameDeviceProbability": 0.97,
  "sameBrowserProbability": 0.88,
  "sameActorProbability": 0.74,
  "matchedClusterId": "clu_3b1d",
  "clusterStabilityScore": 0.62,
  "clusterRiskScore": 66,
  "continuityDriftReasons": ["timezone_shift"],
 
  "networkCategory": "vpn",
  "networkRiskScore": 61,
  "networkPosture": "anonymizing",
  "ipCountry": "NL",
  "ipRegion": "North Holland",
  "ipCity": "Amsterdam",
  "geoConfidence": 0.84,
  "asn": 60068,
  "isp": "Example ISP",
  "provider": "Example Network",
  "hostingRisk": "high",
  "geoConflictDetected": true,
  "networkMatchedArtifacts": ["vpn_range"],
 
  "botClassification": "automation_likely",
  "botConfidence": 0.70,
  "botSignals": ["headless_hints", "input_cadence_synthetic"],
  "botTrustOutcome": "unverified",
  "botTrustDeclared": false,
 
  "tamperClassification": "tampered",
  "tamperConfidence": 0.81,
  "privacyPosture": "anti_detect",
  "privacyConfidence": 0.66,
 
  "vpnDetected": true,
  "proxyDetected": false,
  "torDetected": false,
  "ipBlacklisted": false,
  "fingerprintBlacklisted": false,
  "deviceTokenBlacklisted": false,
 
  "reasonCodes": ["vpn_detected", "automation_likely", "browser_tampered"],
  "tags": ["anonymizing_network"],
  "riskFlags": ["network", "bot", "tamper"],
  "findings": [
    { "code": "vpn_detected",      "severity": "medium", "scoreDelta": 18, "source": "network", "description": "Commercial VPN range" },
    { "code": "automation_likely", "severity": "high",   "scoreDelta": 26, "source": "bot",     "description": "Synthetic input cadence" },
    { "code": "browser_tampered",  "severity": "high",   "scoreDelta": 22, "source": "tamper",  "description": "Impossible feature combination" }
  ],
  "features": { "input_entropy": 0.12, "canvas_delta": 0.44 }
}

Alanlar yalnızca ilgili sinyal mevcutsa görünür. Örneğin mobil-bütünlük alanları tarayıcı oturumlarında yoktur ve bir oturum hiçbir kümeyle eşleşmediğinde matchedClusterId null olur. Her zaman savunmacı okuyun.

Sonraki adımlar