third-party cookie आख़िरकार, सचमुच मर रहा है। Safari ने इसे बरसों पहले ख़त्म कर दिया, Firefox ने उसका अनुसरण किया, और Chrome ने इसे चरणबद्ध रूप से हटा दिया है। अधिकांश ख़बरों ने इसे निजता की जीत के रूप में पेश किया, और यह है भी। लेकिन इसने चुपके से बहुत सारी वैध मशीनरी भी तोड़ दी जो cookies पर चल रही थी, बिना किसी के इस पर गंभीरता से सोचे — fraud detection, bot filtering, session continuity, और बुनियादी "क्या यह वही visitor है" वाली analytics।
उद्योग की पहली सहज प्रतिक्रिया थी उपयोगकर्ता के device पर संग्रहित करने के लिए कोई नई चीज़ ढूँढना और उसे प्रतिस्थापन कह देना। यह ग़लत सबक़ है। cookies की समस्या कभी storage तंत्र नहीं थी; समस्या यह धारणा थी कि आप किसी की पहचान उस पर एक निशान गाड़कर और बाद में उसे पढ़कर करते हैं। Tracio पूरी तरह एक अलग धारणा से शुरू होता है: आप समझ सकते हैं कि कोई प्रोडक्ट कौन इस्तेमाल कर रहा है, बिना उनके device पर कुछ भी संग्रहित किए।
cookies असल में क्या कर रहे थे
किसी चीज़ को बदलने के लिए, आपको ईमानदारी से मानना होगा कि उसने क्या किया। cookies चुपचाप कम-से-कम चार अलग-अलग काम ढो रहे थे:
- Fraud और दुरुपयोग की पहचान — क्या यह वही कर्ता है जिसने अभी-अभी पाँच चोरी किए गए कार्ड आज़माए?
- Bot filtering — यहाँ कोई इंसान भी है, या कोई headless browser किसी script को चला रहा है?
- Session continuity — क्या यह वही व्यक्ति है जिसने दो क्लिक पहले कार्ट में एक चीज़ डाली थी?
- Analytics — कितने अलग-अलग visitors, लौटने वाले बनाम नए?
जब cookies चले गए, तो चारों एक साथ टूट गए, और अधिकांश "cookieless" समाधान सिर्फ़ analytics वाले को संबोधित करते हैं। कठिन समस्याएँ — fraud और bots — ठीक वही हैं जो सबसे ज़्यादा मायने रखती हैं, क्योंकि दूसरी ओर एक प्रतिद्वंद्वी है जो सक्रिय रूप से आपको हराने की कोशिश कर रहा है।
पहचान बर्ताव से, storage से नहीं
Tracio अपना संकेत इससे बनाता है कि कोई session कैसा बर्ताव करता है और वह किस device पर चलता है, न कि उस चीज़ से जो वह पीछे छोड़ जाता है। संकेत की दो व्यापक श्रेणियाँ इसे पोसती हैं।
पहली है व्यवहारगत। लोग एक स्क्रीन से इस तरह इंटरैक्ट करते हैं जो किसी व्यक्ति के लिए उल्लेखनीय रूप से एकसमान होता है और विश्वसनीय ढंग से नक़ल करना उल्लेखनीय रूप से कठिन: टाइप करने की चाल और लय, माउस की गति और scrolling के सूक्ष्म पैटर्न, आप किसी ग़लती को कैसे सुधारते हैं, क्रियाओं के बीच का समय। इनमें से कुछ भी device पर संग्रहित नहीं होता। इसे उसी पल देखा और उसी पल परखा जाता है।
दूसरी है device और environment की विशेषताएँ — वह configuration जो एक browser उजागर करता है, एक profile में जोड़ी गई। अपने आप में यह कमज़ोर है और कई उपयोगकर्ताओं में साझा, पर बर्ताव के साथ मिलकर यह काफ़ी तेज़ हो जाती है।
अहम डिज़ाइन फ़ैसला यह है कि Tracio जानबूझकर क्या *नहीं* करता। यह ऐसा profile नहीं बनाता जो किसी व्यक्ति का साइट-दर-साइट पीछा करे। कोई cross-site पहचान-graph नहीं, ad networks को बेची गई कोई साझा ID नहीं। संकेत एक अकेले व्यवसाय के अपने संदर्भ के भीतर ही रहता है, उसी व्यवसाय के अपने सवालों का जवाब देते हुए — क्या यह session जोखिम भरा है, क्या यह एक bot है, क्या यह वही लौटने वाला उपयोगकर्ता है जिसका यह दावा करता है — और इससे ज़्यादा कुछ नहीं। यही इसे किसी प्रेस विज्ञप्ति के बजाय डिज़ाइन से निजता-सम्मानी बनाता है। यह डिब्बे से ही GDPR और CCPA अनुपालन-योग्य है, ठीक इसलिए क्योंकि सुलझाने को कोई cross-site tracking है ही नहीं।
असली इम्तिहान bots हैं
Analytics ग़लतियाँ माफ़ कर देती है; fraud नहीं करता। जिस जगह किसी cookie-free नज़रिये को ख़ुद को साबित करना होता है वह है किसी प्रतिद्वंद्वी के विरुद्ध, और उस प्रतिद्वंद्वी का सबसे तीखा रूप है परिष्कृत bot — एक headless browser या automation framework जो ख़ास तौर पर इंसान जैसा दिखने के लिए बना है।
यहीं बर्ताव fingerprinting को मात देता है। एक bot किसी user agent की नक़ल कर सकता है, किसी स्क्रीन resolution का दिखावा कर सकता है, और दिन भर IP पते बदल सकता है। जिसकी नक़ल करने में उसे संघर्ष होता है वह है इंसानी इंटरैक्शन की बनावट: थोड़ी अनियमित timing, अपूर्ण माउस पथ, किसी क्लिक से पहले की हिचक। नियम-आधारित सिस्टम यह देखते हैं कि कोई session होने का *दावा* क्या करता है और आसानी से बेवक़ूफ़ बन जाते हैं। Tracio यह अंक देता है कि कोई session असल में *करता* क्या है, और वे संकेत जाली बनाना कहीं ज़्यादा कठिन होते हैं। यही व्यवहारगत बढ़त bot-detection की सटीकता को उस traffic के विरुद्ध 99.2% तक ले जाती है जो असली के रूप में पास होने के लिए गढ़ा गया है।
Fraud detection ठीक इसी तरह काम करता है, एक परत ऊपर। किसी binary allow/block के बजाय, हर session को व्यवहारगत विसंगतियों से बना एक risk score मिलता है — एक इंटरैक्शन पैटर्न जो उस लौटने वाले उपयोगकर्ता से मेल नहीं खाता जिसका यह दावा कर रहा है, एक लय जो scripted दिखती है, एक device-बर्ताव का बेमेल। वही score वह संकेत है जिस पर कोई fraud टीम कार्रवाई करती है, और यह उन अकाउंटों को पकड़ता है जो हर नियम-आधारित जाँच पास कर जाते हैं क्योंकि, काग़ज़ पर, उनमें कुछ भी ग़लत नहीं है।
एकीकरण कैसा दिखता है
नीचे की तमाम मशीनरी के बावजूद, डेवलपर की सतह जानबूझकर छोटी है। Tracio, JavaScript, Python, Node.js, और Go के लिए SDKs देता है, और आम मामला एक अकेली कॉल है जो पहचान का समाधान, एक bot फ़ैसला, और एक risk score — तीनों एक साथ लौटाती है।
import { Tracio } from "@tracio/node";
const tracio = new Tracio(process.env.TRACIO_KEY);
const result = await tracio.evaluate({ sessionId, signals });
// {
// returningUser: true,
// isBot: false,
// riskScore: 0.08 // 0 = trusted, 1 = hostile
// }
if (result.isBot || result.riskScore > 0.8) {
return challenge();
}जवाब 100 मिलीसेकंड से कम में वापस आता है, और यही वह संख्या है जो तय करती है कि यह किसी login या checkout पथ में, धीमा हिस्सा बने बिना, बैठ सकता है या नहीं। Cross-device पहचान इसी मूल्यांकन पर सवार होती है — किसी लौटने वाले उपयोगकर्ता को इससे पहचाना जाता है कि वह कैसा बर्ताव करता है, इसलिए यह किसी नए browser या नए device पर भी टिका रहता है, जहाँ कोई cookie कभी नहीं टिकती।
उस दुनिया के लिए बनाना जो पहले से यहाँ है
cookie-के-बाद का web अब कोई पूर्वानुमान नहीं है; यह वही माहौल है जिसमें आप आज ship कर रहे हैं। जो टीमें इसे विशुद्ध रूप से निजता की कहानी मानती हैं, वे तब चौंकेंगी जब उनकी fraud दरें चढ़ेंगी और उनका bot traffic अदृश्य हो जाएगा। cookies जो संकेत ढोते थे उनका जवाब अब भी देना ज़रूरी है — बस आप उनका जवाब उपयोगकर्ता पर कुछ संग्रहित करके नहीं दे सकते।
Tracio का दाँव यह है कि बर्ताव, storage से हमेशा बेहतर बुनियाद है: नक़ल करना कठिन, ऐसे device से चुराना असंभव जिसमें कुछ रखा ही नहीं, और निजता के बारे में ईमानदार क्योंकि उपयोगकर्ता का पीछा करती कोई चीज़ है ही नहीं। यह cookie की मौत का कोई जुगाड़ू हल नहीं है। यह वही है जो शुरू से ही जवाब होना चाहिए था।