Detectarea fraudei la edge: Cloudflare Workers + tracio.ai
Rulează validarea amprentei de dispozitiv în Cloudflare Workers înainte ca cererile să ajungă la origin. Decizii antifraudă sub 5 ms la edge.
Detectarea tradițională a fraudei are loc la nivelul aplicației: cererea ajunge la serverul tău, interoghezi API-ul de detectare a fraudei, aștepți răspunsul și apoi decizi dacă permiți sau blochezi. Acest dus-întors adaugă 50-200 ms de latență la fiecare cerere — acceptabil pentru încărcarea paginilor, dar dureros pentru endpoint-urile de API, apelurile AJAX și interacțiunile în timp real.
Ce-ar fi dacă ai putea lua decizia antifraudă înainte ca cererea să ajungă la serverul tău de origin? Exact asta permite edge computing, iar Cloudflare Workers este platforma pe care o folosim pentru a demonstra acest model.
Arhitectura
Configurația are trei componente: SDK-ul JS tracio.ai (@tracio/sdk) care rulează în browser, un Cloudflare Worker plasat între client și origin-ul tău, și webhook-uri tracio.ai semnate care livrează analiza completă a semnalelor către backend-ul tău.
Fluxul funcționează astfel: SDK-ul JS colectează semnalele dispozitivului și le trimite către tracio.ai în timpul încărcării paginii, returnând un visitorId către browser. Backend-ul tău primește rezultatul complet de identificare — clasificarea bot, smart signals, nivelul de încredere — printr-un webhook semnat și scrie verdictul într-un cache la edge. Browser-ul include visitorId în cererile de API ulterioare (prin header sau cookie). Cloudflare Worker interceptează fiecare cerere, caută verdictul din cache pentru acel visitorId și ia o decizie de permitere/blocare în mai puțin de 5 ms.
Implementarea Worker-ului
Worker-ul menține un cache ușor cu rezultatele recente de verificare a dispozitivelor folosind stocarea KV de la Cloudflare, populat de backend-ul tău pe măsură ce sosesc webhook-urile tracio.ai semnate. Când o cerere ajunge cu un header visitorId, Worker-ul verifică cache-ul. Dacă verdictul este în cache și vizitatorul este curat (scor bot scăzut, fără VPN, nivel de încredere peste prag), cererea trece imediat mai departe. Dacă niciun verdict nu este încă în cache, Worker-ul aplică politica ta de rezervă — trece cu o limitare de rată conservatoare sau lansează un challenge — până când cache-ul alimentat de webhook-uri se sincronizează.
Ideea esențială este că cache-ul de verificare este populat proactiv. Prima încărcare a paginii declanșează colectarea semnalelor și pune rezultatul în cache. Toate apelurile de API ulterioare de la acel vizitator ajung în cache — fără dus-întors către tracio.ai. TTL-ul cache-ului este configurabil; recomandăm 5 minute pentru endpoint-urile cu securitate ridicată și 30 de minute pentru conținutul general.
Cifrele de performanță
Am testat această arhitectură cu un client care procesează 50.000 de cereri pe minut prin Cloudflare Workers. Rezultate:
Rata de cache hit: 94% (majoritatea cererilor provin de la vizitatori care au încărcat deja o pagină). Latența deciziei la edge (cache hit): 1,2 ms median, 3,8 ms p99. Latența deciziei la edge (cache miss): 45 ms median (include apelul de API către tracio.ai). Economia de latență la origin: 120 ms median per cerere (verificarea antifraudă din partea serverului a fost eliminată).
Rata de cache hit de 94% înseamnă că 94% dintre deciziile antifraudă au loc în mai puțin de 4 ms la edge, fără nicio implicare a origin-ului. Restul de 6% sunt cereri la prima vizită, care necesită un dus-întors complet către API.
Strategii de blocare
Worker-ul suportă trei strategii de blocare, configurabile per rută:
Blocare dură: Returnează imediat 403 pentru vizitatorii cu risc ridicat (scor bot > 0,9, framework de automatizare cunoscut). Blocare moale: Adaugă header-e X-Tracio-Risk și lasă origin-ul să decidă. Aceasta este utilă când vrei context la nivel de aplicație pentru decizie. Challenge: Redirecționează vizitatorii suspecți (scor bot moderat, VPN detectat) către o pagină de challenge care necesită verificare suplimentară.
Recomandăm să începi cu blocarea moale în producție, să monitorizezi distribuția riscului timp de o săptămână și apoi să activezi blocarea dură pentru cazurile clare (boți cunoscuți, browsere headless, automatizare cu nivel ridicat de încredere).
Analiza costurilor
Prețul Cloudflare Workers se bazează pe cereri și pe timpul de calcul. La 50K cereri/minut (2,16 miliarde/lună), costul Worker-ului este de aproximativ 500 $/lună. Compară asta cu economia de latență: eliminarea a 120 ms de verificare antifraudă din partea origin reduce utilizarea CPU a serverului cu 15-20%, ceea ce de obicei economisește la calcul mai mult decât costul Worker-ului.
Valoarea reală stă în prevenirea fraudei: prinderea boților și a cererilor frauduloase înainte să consume resursele origin-ului, conexiunile la baza de date și apelurile de API din aval. Un client și-a redus numărul de servere de origin de la 12 la 8 după implementarea detecției fraudei la edge — boții care consumau 30% din capacitatea sa de calcul nu au mai ajuns niciodată la origin.