থার্ড-পার্টি কুকি অবশেষে সত্যিই মরছে। Safari তা বহু বছর আগে মেরে ফেলেছে, Firefox অনুসরণ করেছে, আর Chrome ধাপে ধাপে তা বাতিল করেছে। বেশিরভাগ প্রতিবেদন এটাকে গোপনীয়তার জয় হিসেবে দেখিয়েছে, আর তা ঠিকও। কিন্তু এটা নীরবে অনেকটা বৈধ যন্ত্রপাতিও ভেঙে দিয়েছে, যা কুকির উপর চলছিল অথচ কেউ তা নিয়ে গভীরভাবে ভাবেনি — ফ্রড শনাক্তকরণ, বট ফিল্টারিং, সেশনের ধারাবাহিকতা, আর মৌলিক "এটা কি একই দর্শনার্থী" অ্যানালিটিক্স।

ইন্ডাস্ট্রির প্রথম প্রবৃত্তি ছিল ব্যবহারকারীর ডিভাইসে জমা রাখার জন্য একটা নতুন জিনিস খুঁজে বের করে সেটাকে বিকল্প বলে ডাকা। এটাই ভুল শিক্ষা। কুকির সমস্যা কখনোই সংরক্ষণের কৌশল ছিল না; ছিল সেই ধারণাটা যে কাউকে একটা চিহ্ন লাগিয়ে আর পরে সেটা পড়ে নিয়ে শনাক্ত করবেন। Tracio শুরু করে সম্পূর্ণ ভিন্ন এক ধারণা থেকে: কে একটা পণ্য ব্যবহার করছে তা আপনি বুঝতে পারেন তাদের ডিভাইসে কিছুই জমা না রেখেই।

কুকি আসলে যা করত

একটা জিনিস প্রতিস্থাপন করতে হলে সেটা কী করত সে বিষয়ে সৎ হতে হবে। কুকি নীরবে অন্তত চারটি ভিন্ন কাজ বহন করত:

  • ফ্রড ও অপব্যবহার শনাক্তকরণ — এটা কি সেই একই চরিত্র, যে এইমাত্র পাঁচটা চুরি করা কার্ড চেষ্টা করল?
  • বট ফিল্টারিং — এখানে আদৌ কোনো মানুষ আছে, নাকি একটা স্ক্রিপ্ট চালানো হেডলেস ব্রাউজার?
  • সেশনের ধারাবাহিকতা — এটা কি সেই একই মানুষ, যে দুই ক্লিক আগে কার্টে একটা জিনিস যোগ করেছিল?
  • অ্যানালিটিক্স — কতজন আলাদা দর্শনার্থী, ফিরে আসা বনাম নতুন?

কুকি চলে যেতেই চারটিই একসঙ্গে ভেঙে পড়ল, আর বেশিরভাগ "কুকিহীন" সমাধান কেবল অ্যানালিটিক্সের সমস্যাটাই সামলায়। কঠিন সমস্যাগুলো — ফ্রড আর বট — ঠিক সেইগুলোই যা সবচেয়ে জরুরি, কারণ অপর প্রান্তে একজন প্রতিপক্ষ সক্রিয়ভাবে আপনাকে হারানোর চেষ্টা করছে।

সংরক্ষণ থেকে নয়, আচরণ থেকে পরিচয়

Tracio তার সংকেত গড়ে তোলে একটা সেশন কীভাবে আচরণ করে আর কোন ডিভাইসে চলে তা থেকে, পিছনে ফেলে যাওয়া কিছু থেকে নয়। দুই বিস্তৃত শ্রেণির সংকেত একে খাওয়ায়।

প্রথমটি আচরণগত। মানুষ একটা স্ক্রিনের সঙ্গে এমনভাবে মিথস্ক্রিয়া করে, যা একজন ব্যক্তির ক্ষেত্রে আশ্চর্যজনকভাবে সঙ্গতিপূর্ণ আর বিশ্বাসযোগ্যভাবে নকল করা আশ্চর্যজনকভাবে কঠিন: টাইপ করার ছন্দ ও গতি, মাউসের নড়াচড়া আর স্ক্রলিংয়ের সূক্ষ্ম প্যাটার্ন, আপনি কীভাবে একটা ভুল শোধরান, ক্রিয়াগুলোর মধ্যকার সময়ের ব্যবধান। এর কিছুই ডিভাইসে জমা থাকে না। এটা সেই মুহূর্তে পর্যবেক্ষণ করা হয় আর সেই মুহূর্তেই বিচার করা হয়।

দ্বিতীয়টি ডিভাইস ও পরিবেশের বৈশিষ্ট্য — একটি ব্রাউজার যে কনফিগারেশন প্রকাশ করে, তা একত্র করে একটা প্রোফাইলে সাজানো। একা এটা দুর্বল আর বহু ব্যবহারকারীর মধ্যে ভাগ করা, কিন্তু আচরণের সঙ্গে মিলিয়ে দিলে এটা অনেকটাই ধারালো হয়।

সবচেয়ে জরুরি ডিজাইন-সিদ্ধান্তটি হলো Tracio ইচ্ছাকৃতভাবে যা *করে না* তা। এটি এমন একটা প্রোফাইল বানায় না, যা একজন মানুষকে সাইট থেকে সাইটে অনুসরণ করে। কোনো ক্রস-সাইট পরিচয়-গ্রাফ নেই, বিজ্ঞাপন নেটওয়ার্কে বিক্রি করা কোনো ভাগ করা ID নেই। সংকেতটি একটি ব্যবসার নিজস্ব প্রেক্ষাপটের ভেতরেই থাকে, সেই ব্যবসার নিজের প্রশ্নের উত্তর দেয় — এই সেশন কি ঝুঁকিপূর্ণ, এটা কি একটা বট, এটা কি সত্যিই সেই ফিরে আসা ব্যবহারকারী যা সে দাবি করছে — আর তার বেশি কিছু নয়। এটাই একে প্রেস রিলিজের বদলে নকশার দ্বারা গোপনীয়তা-সম্মানকারী করে তোলে। এটি বাক্সের বাইরেই GDPR ও CCPA-সম্মত, ঠিক এই কারণে যে মেলানোর মতো কোনো ক্রস-সাইট ট্র্যাকিংই নেই।

বটই আসল পরীক্ষা

অ্যানালিটিক্স ভুল ক্ষমা করে; ফ্রড করে না। কুকি-বিহীন পন্থাকে নিজেকে প্রমাণ করতে হয় একজন প্রতিপক্ষের বিরুদ্ধে, আর সেই প্রতিপক্ষের সবচেয়ে ধারালো রূপটি হলো পরিশীলিত বট — একটি হেডলেস ব্রাউজার বা অটোমেশন ফ্রেমওয়ার্ক, যা বিশেষভাবে মানুষের মতো দেখানোর জন্য বানানো।

এখানেই আচরণ ফিঙ্গারপ্রিন্টিংকে হারিয়ে দেয়। একটা বট একটা user agent জাল করতে পারে, একটা স্ক্রিন রেজোলিউশন নকল করতে পারে, আর সারাদিন IP ঠিকানা ঘোরাতে পারে। যা নকল করতে সে হিমশিম খায় তা হলো মানুষের মিথস্ক্রিয়ার বুনন: সামান্য অনিয়মিত সময়জ্ঞান, অসম্পূর্ণ মাউস-পথ, একটা ক্লিকের আগের দ্বিধা। নিয়ম-ভিত্তিক সিস্টেম দেখে একটা সেশন কী *দাবি* করছে, আর সহজেই বোকা বনে যায়। Tracio স্কোর করে একটা সেশন আসলে কী *করে*, আর সেই ইঙ্গিতগুলো জাল করা অনেক বেশি কঠিন। সেই আচরণগত সুবিধাই বট-শনাক্তকরণের নির্ভুলতাকে ৯৯.২%-এ পৌঁছে দেয়, এমন ট্রাফিকের বিরুদ্ধে যা আসল বলে চালিয়ে দিতে বানানো।

ফ্রড শনাক্তকরণ একইভাবে কাজ করে, এক স্তর উপরে। একটা দ্বিমুখী অনুমতি/বাধার বদলে প্রতিটি সেশন পায় আচরণগত অসংগতি থেকে গড়া একটি ঝুঁকি-স্কোর — এমন একটা মিথস্ক্রিয়ার প্যাটার্ন যা সে যে ফিরে আসা ব্যবহারকারী বলে দাবি করছে তার সঙ্গে মেলে না, স্ক্রিপ্টেড দেখানো একটা ছন্দ, একটা ডিভাইস-আচরণের অমিল। সেই স্কোরই সেই সংকেত যার উপর একটি ফ্রড টিম কাজ করে, আর এটা সেই অ্যাকাউন্টগুলো ধরে যা প্রতিটি নিয়ম-ভিত্তিক যাচাই পেরিয়ে যায়, কারণ কাগজে-কলমে তাদের সম্পর্কে ভুল কিছুই নেই।

ইন্টিগ্রেশন দেখতে কেমন

নিচের সব যন্ত্রপাতির পরও ডেভেলপারের সংস্পর্শে থাকা অংশটা ইচ্ছাকৃতভাবে ছোট। Tracio JavaScript, Python, Node.js আর Go-র জন্য SDK নিয়ে আসে, আর সাধারণ ঘটনাটা হলো একটিমাত্র কল, যা একসঙ্গে পরিচয় নিরূপণ, একটা বট রায়, আর একটা ঝুঁকি-স্কোর ফেরত দেয়।

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();
}

উত্তরটা ফিরে আসে ১০০ মিলিসেকেন্ডেরও কম সময়ে, আর এটাই সেই সংখ্যা, যা ঠিক করে দেয় এটা একটা লগইন বা চেকআউট পথে বসতে পারে কি না, ধীর অংশটা হয়ে না উঠে। ক্রস-ডিভাইস শনাক্তকরণ সেই একই মূল্যায়নের উপরই চলে — একজন ফিরে আসা ব্যবহারকারীকে চেনা হয় সে কীভাবে আচরণ করে তা দিয়ে, তাই এটা একটা নতুন ব্রাউজার বা একটা নতুন ডিভাইস জুড়েও টিকে থাকে, যেখানে একটা কুকি কখনও পারত না।

ইতিমধ্যেই এসে-পড়া দুনিয়ার জন্য গড়া

কুকি-পরবর্তী ওয়েব আর কোনো পূর্বাভাস নয়; এটাই সেই পরিবেশ, যাতে আপনি আজই ছাড়ছেন। যেসব টিম এটাকে নিছক একটা গোপনীয়তার গল্প হিসেবে দেখে, তারা অবাক হবে যখন তাদের ফ্রডের হার চড়বে আর তাদের বট-ট্রাফিক অদৃশ্য হয়ে যাবে। কুকি যে সংকেতগুলো বহন করত সেগুলোর এখনও উত্তর দরকার — আপনি স্রেফ আর সেগুলোর উত্তর দিতে পারবেন না ব্যবহারকারীর উপর কিছু জমা রেখে।

Tracio-র বাজি হলো, সংরক্ষণ কখনও যা ছিল আচরণ তার চেয়ে ভালো ভিত্তি: জাল করা কঠিনতর, কিছুই ধরে না রাখা একটা ডিভাইস থেকে চুরি করা অসম্ভব, আর গোপনীয়তা নিয়ে সৎ, কারণ ব্যবহারকারীর পিছু নেওয়ার মতো সত্যিই কিছুই নেই। এটা কুকির মৃত্যুর কোনো এড়ানোর উপায় নয়। এটাই সেই উত্তর, যা গোড়া থেকেই হওয়া উচিত ছিল।