ٹائپنگ ٹیسٹ ہر اسکور کے پیچھے موجود کی اسٹروک لاگ جانچ کر دھوکا پکڑتے ہیں۔ ہمارا ٹیسٹ ہر نتیجہ اس کے کی اسٹروک لاگ سے دوبارہ نکالتا ہے، ایک ہیش جانچتا ہے، لاگ کی ساخت اور ٹائمنگ پرکھتا ہے، اور 130 WPM سے اوپر کا ہر وہ وقت والا نتیجہ جس کی ٹائمنگ بھی غیر معمولی لگے، عوامی بورڈز سے اس وقت تک دور رکھتا ہے جب تک آپ دوبارہ ٹیسٹ پاس نہ کر لیں۔ ٹائمنگ کی جانچ لاپروا بوٹس پکڑ لیتی ہے؛ دوبارہ ٹیسٹ محتاط بوٹ کو بھی سب کچھ پھر سے کرنے پر مجبور کرتا ہے۔
ہماری ٹائمنگ جانچ کو ہرانے والا پہلا بوٹ ہمارا اپنا تھا۔
ہمارا اینڈ ٹو اینڈ ٹیسٹ ہیلپر 40 ms کے مقررہ وقفے سے کیز دباتا تھا، کیونکہ ٹیسٹ اسکرپٹ یہی کرتا ہے۔ سرور نے نتیجہ دوبارہ نکالا، ہیش کی تصدیق کی، اور رن کو مشکوک قرار دیا: کی اسٹروکس کے درمیان صفر تغیر، صفر رول اوور، بالکل ایک جیسے دبائے رکھنے کے اوقات۔ ہمیں ہر لفظ پر بے ترتیب جھٹکا (جِٹر) اور کبھی کبھار 80 سے 300 ms کے "سوچنے" والے وقفے شامل کرنے پڑے تب جا کر ہمارا اپنا ٹیسٹ سوٹ انسان جیسا نظر آنے والا نتیجہ بھیج سکا۔ یہ آپشن اب بھی کوڈ میں موجود ہے، humanLike کے نام سے۔
جانچیں ہر اس چیز کے خلاف کام کرتی ہیں جو کوشش نہیں کرتی، اور جو کوشش کرے وہ انہیں پاس کر سکتی ہے، اس لیے ڈیزائن اصل وزن دوبارہ ٹیسٹ پر رکھتا ہے۔
پہلا قدم: سب کچھ دوبارہ حساب کرنا
آپ کا براؤزر ہمیں WPM نہیں بھیجتا۔ یہ کی اسٹروک لاگ بھیجتا ہے (ہر keydown، keyup، input اور composition ایونٹ، یکسمتی performance.now() گھڑی کے وقت کے ساتھ)، اس کے حساب کیے ہوئے میٹرکس، اور معیاری نتیجے کا SHA-256 ہیش۔
سرور لاگ پر وہی میٹرک کوڈ چلاتا ہے اور موازنہ کرتا ہے۔ اگر کوئی بھی عدد 0.01 سے زیادہ مختلف ہو تو نتیجہ metrics_mismatch کے طور پر مسترد ہو جاتا ہے۔ اگر ہیش نہ ملے تو hash_mismatch کے طور پر مسترد ہوتا ہے۔ WPM کا خانہ بدلنے والا براؤزر ایکسٹینشن، جو کلائنٹ پر بھروسا کرنے والی سائٹوں پر سب سے عام دھوکا ہے، یہیں ناکام ہو جاتا ہے۔ آپ کی اسکرین اور ڈیٹا بیس دونوں میں عدد انہی فنکشنز سے بنتا ہے، اسی لیے ہمارا میٹرکس صفحہ وعدہ کر سکتا ہے کہ اس کی حل شدہ مثال دو اعشاریہ تک دوبارہ وہی نکلتی ہے۔
ٹیسٹ کا وقت سرور پر کیوں نہ ناپیں؟ تب آپ کے اسکور میں نیٹ ورک بھی شامل ہو جاتا۔ ہر کی اسٹروک ہم تک تھوڑی دیر سے پہنچتی، ایسی مقدار سے جو آپ کے کنکشن کے ساتھ بدلتی ہے، اور سست لائن پر ایک تیز ٹائپسٹ وہ رفتار کھو دیتا جو اس کے پاس واقعی تھی۔ لاگ ہمیں درستی کے لیے کلائنٹ کی گھڑی دیتا ہے اور ایمانداری کے لیے سرور کا دوبارہ حساب۔
دوسرا قدم: کیا لاگ کا کوئی مطلب بنتا ہے؟
ٹائمنگ کے کسی بھی تجزیے سے پہلے، جمع کرائے گئے نتیجے کی شکل پر سادہ جانچیں:
- ٹیسٹ کم از کم 15 سیکنڈ یا 10 الفاظ کا ہونا چاہیے۔ اس سے چھوٹے رن درجہ بندی کے لیے بہت بے ترتیب ہیں اور انہیں بڑھانا سب سے آسان ہے۔
- کوئی نتیجہ اس سے پہلے نہیں پہنچ سکتا جب ٹیسٹ ختم ہو سکتا تھا: اس کا آغاز جمع اس کی اپنی لمبائی۔ 60 سیکنڈ کا نتیجہ جو شروع ہونے کے بیس سیکنڈ بعد پہنچ جائے، ہوا ہی نہیں۔
- ایونٹس کی تعداد ٹائپ کیے گئے حروف سے میل کھانی چاہیے۔
- ڈیسک ٹاپ پر ہر input ایونٹ 50 ms کے اندر کسی keydown کے بعد آنا چاہیے۔ یہ پیسٹ کیا ہوا متن، اسکرپٹ سے بنے input ایونٹس اور کی اسٹروک داخل کرنے والے زیادہ تر ٹولز پکڑ لیتا ہے، جو کسی فزیکل کی کے بغیر متن بھیجتے ہیں۔ ان پٹ میتھڈ ایڈیٹر (IME composition) کے ذریعے ٹائپ کرنا مستثنیٰ ہے، اور فون کے نتائج عوامی بورڈز سے باہر رہتے ہیں۔
- جس لاگ کا کوئی آغاز نہ ہو، کوئی اختتام نہ ہو یا جس کے ٹائم اسٹیمپ آگے پیچھے ہوں، وہ خراب ہے اور سیدھا مسترد ہوتا ہے۔
اس میں کچھ بھی ہوشیاری والا نہیں، لیکن یہ زیادہ تر حجم ہٹا دیتا ہے۔
تیسرا قدم: کی اسٹروک کی ٹائمنگ کیا ظاہر کر سکتی ہے؟
یہ وہ حصہ ہے جسے ہم جان بوجھ کر پوری طرح دستاویز نہیں کرتے: خصوصیات کی فہرست عوامی ہے، حدیں اور وزن نہیں۔ شائع کی گئی حد ایک نشانہ بن جاتی ہے۔ اگر ہم کہتے کہ "N ملی سیکنڈ سے کم معیاری انحراف پر نشان لگتا ہے" تو ہر اسکرپٹ کا اگلا ورژن N جمع ایک شامل کر دیتا۔ وہ خصوصیات جن پر ہم اسکور دیتے ہیں:
کیز کے درمیان اوسط وقفہ اور یہ کتنا بدلتا ہے۔ انسانی ٹائپنگ بے قاعدہ ہوتی ہے۔ Dhakal اور ساتھیوں کی 2018 کی 168,960 ٹائپسٹوں والی تحقیق میں کیز کے درمیان اوسط وقفہ تقریباً 239 ms تھا اور معیاری انحراف تقریباً 112 ms۔ مقررہ وقفے سے ٹائپ کرنے والے اسکرپٹ میں تقریباً کوئی تغیر نہیں ہوتا؛ کی اسٹروک پر مبنی CAPTCHA کی 2025 کی ایک arXiv تحقیق نے اپنے ٹیسٹ بوٹ میں ٹھیک یہی دیکھا، جو 50 ms کی مقررہ تاخیر سے ٹائپ کرتا تھا۔ یہ ہمارا سب سے مضبوط اشارہ ہے، اور یہی وہ ہے جس میں ہمارا ہیلپر پھنسا۔
40 ms سے کم وقفوں کا حصہ۔ 40 ms کا وقفہ، اگر برقرار رہے، تو ایک منٹ میں 1,500 حروف ہے، یعنی پانچ حروف فی لفظ کے حساب سے 300 WPM۔ رول اوور کے دوران جب کیز ایک دوسرے پر چڑھتی ہیں تو انگلیاں اکا دکا اتنے چھوٹے وقفے بناتی ہیں، اس لیے ایک چھوٹے وقفے کا کوئی مطلب نہیں۔ جس لاگ میں وقفوں کا بڑا حصہ اتنا چھوٹا ہو، وہ ٹائپنگ نہیں ہے۔
کی دبائے رکھنے کا وقت۔ اصلی انگلیوں میں دسیوں ملی سیکنڈ کا فرق ہوتا ہے؛ مصنوعی ایونٹس کے دبائے رکھنے کے اوقات اکثر بالکل ایک جیسے یا تقریباً صفر ہوتے ہیں، کیونکہ ٹول keydown اور keyup ایک کے فوراً بعد ایک بھیجتا ہے۔
رول اوور تناسب۔ کتنی بار اگلی کی پچھلی کے اوپر آنے سے پہلے نیچے جاتی ہے۔ Dhakal نے اوسط رول اوور تناسب 25% ناپا، زیادہ تر تیز ٹائپسٹ 40 سے 70% کی پریسز پر رول اوور کرتے تھے، اور کیز اوسطاً 30 ms ایک دوسرے پر چڑھی رہتی تھیں۔ سست ٹائپسٹ تقریباً اسے استعمال نہیں کرتے، اس لیے بغیر رول اوور کا تیز نتیجہ نمایاں ہو جاتا ہے۔ بوٹس شاذ و نادر ہی کیز کو ایک دوسرے پر چڑھاتے ہیں۔
سب سے لمبا وقفہ، سیکنڈ بہ سیکنڈ رفتار کے اتار چڑھاؤ، اور ایک سیکنڈ سے لمبے وقفوں کا حصہ۔ لوگ ایسے انداز میں ہچکچاتے ہیں جس کی نقل اسکرپٹ کو باقاعدہ سکھانی پڑتی ہے۔
ایک اسکورنگ ماڈل ان سب کو ملاتا ہے اور کسی نتیجے کو مشکوک قرار دے سکتا ہے۔ 130 WPM سے نیچے، نشان اکیلے کچھ بھی مسترد نہیں کرتا۔ آپ کا نتیجہ آپ سے کبھی نہیں چھپایا جاتا؛ یہ جانچیں صرف یہ طے کرتی ہیں کہ اسے درجہ ملے گا یا نہیں۔
کیا ٹائپنگ ٹیسٹ کا دھوکا ٹائمنگ کی جانچ سے بچ سکتا ہے؟
ہاں، اگر دھوکا احتیاط سے بنایا جائے۔ David Condrey کے جنوری 2026 کے ایک arXiv مقالے نے کی اسٹروک ٹائمنگ کے ایسے ڈیٹیکٹر جانچے جو انسان کے ٹائپ کیے ہوئے متن کو AI سے بنے متن سے الگ کرنے کے لیے تھے۔ انہوں نے مکمل خودکار انجیکشن کو بالکل درست الگ کیا، لیکن انسانی ٹائمنگ والے حملے (کوئی شخص AI کا متن دوبارہ ٹائپ کرے، یا کوئی پروگرام انسانی ٹائپنگ کے ڈیٹا سے وقفے لے) پانچوں درجہ بندی کرنے والوں سے کم از کم 99.8% کی شرح سے بچ نکلے۔ مقالہ مصنف کی شناخت کے بارے میں ہے، ٹائپنگ ٹیسٹوں کے بارے میں نہیں، لیکن سبق یہاں بھی لاگو ہوتا ہے: تیسرا قدم لاپروا لوگوں کو پکڑتا ہے اور اس سے زیادہ کچھ نہیں۔
ہمارا اپنا ٹیسٹ ہیلپر چھوٹے پیمانے پر یہی بات دکھاتا ہے: بے ترتیب جھٹکے اور چند وقفوں نے اسے صاف مصنوعی سے قابلِ یقین بنا دیا۔
تو تیسرا قدم ایک چھلنی ہے۔ فیصلہ چوتھے قدم سے آتا ہے۔
چوتھا قدم: تصدیقی دوبارہ ٹیسٹ
اگر وقت والا نتیجہ 130 WPM سے اوپر ہو اور اس کی ٹائمنگ بھی غیر معمولی لگے تو آپ اسے دیکھتے ہیں اور وہ محفوظ ہو جاتا ہے، لیکن عوامی بورڈز سے اس وقت تک دور رہتا ہے جب تک آپ تصدیقی دوبارہ ٹیسٹ پاس نہ کر لیں۔ یہ ایک نیا 30 سیکنڈ کا ٹیسٹ ہے، اور آپ کو اپنی دعویٰ کی گئی رفتار کے کم از کم 75% تک پہنچنا ہوتا ہے۔ ایک بار کا اتفاق یا ادھار لیا ہوا لاگ دوسرے رن میں نہیں بچتا۔
130 WPM کیوں؟ یہ Dhakal کے ڈیٹا کی 51.56 WPM اوسط کا تقریباً ڈھائی گنا ہے، زیادہ تر ٹائپسٹوں سے کافی آگے، اور جو واقعی اتنا تیز ٹائپ کرتا ہے وہ یہ دو بار کر سکتا ہے۔ عجیب ٹائمنگ والا اچانک تیز نتیجہ وہی شکل ہے جو ادھار لیا ہوا لاگ یا اسکرپٹ بناتا ہے، اور اگر نتیجہ ایماندارانہ ہے تو ایک اضافی ٹیسٹ چھوٹی سی قیمت ہے۔
دوبارہ ٹیسٹ ایک عام ٹائپنگ ٹیسٹ ہے، عام متن میں، کوئی بگڑی ہوئی تصویر یا عجیب علامتوں کا صفحہ نہیں۔ مشکل سے پڑھا جانے والا متن سب کو سست کرتا ہے، اور سب سے زیادہ انہی ایماندار تیز ٹائپسٹوں کو جنہیں صاف ثابت کرنے کے لیے دوبارہ ٹیسٹ موجود ہے۔ ایسی تصدیق جس میں ایماندار تیز ٹائپسٹ ناکام ہوں، نہ ہونے سے بدتر ہے۔ عام متن جانچ کو منصفانہ بھی بناتا ہے: دوبارہ ٹیسٹ کا اپنا لاگ بھی انہی ٹائمنگ جانچوں سے گزرتا ہے جن سے کوئی بھی دوسرا نتیجہ۔
شرح کی حدیں اور پابندیاں
نتائج جمع کرانے کی شرح محدود ہے: سائن ان شدہ صارف کے لیے فی منٹ تیس، اور فی IP ایڈریس ساٹھ۔ جو اکاؤنٹ بار بار جانچوں میں پھنستا ہے اس پر شیڈو بین لگتا ہے، یعنی اسے خاموشی سے بورڈز سے چھپا دیا جاتا ہے، اور 24 گھنٹوں میں تین سنگین اینٹی چیٹ واقعات خود بخود یہ کر دیتے ہیں۔ ایک وقتی دائرے کے اندر واقعات گننے کا مطلب ہے کہ ایک عجیب نتیجہ کبھی آپ کا اکاؤنٹ نہیں لیتا، جبکہ بار بار ناکام ہونے والا اسکرپٹ جلد رک جاتا ہے۔
ہمہ وقتی لیڈر بورڈز کے لیے اکاؤنٹ پر 30 منٹ کی ٹائپنگ بھی ضروری ہے، اس لیے ایک بے عیب رن والا نیا اکاؤنٹ ان میں سب سے اوپر نہیں جا سکتا۔
غلطی سے نشان کس چیز پر لگتا ہے
نشان زدہ زیادہ تر نتائج دھوکا نہیں ہوتے۔ ایماندارانہ طریقے جن سے کوئی جانچ پھنس جاتی ہے:
فون پر آٹو کریکٹ۔ ایک تبدیلی ایک input ایونٹ کے طور پر آتی ہے جو کئی حروف بدل دیتا ہے۔ ہم اسے ایک کی پریس گنتے ہیں، نشان لگاتے ہیں، اور نتیجے کو ایک نوٹ کے ساتھ عوامی بورڈز سے باہر رکھتے ہیں، مسترد نہیں کرتے۔
پیسٹ کیا ہوا متن۔ پیسٹ کرنا بند ہے، اور جس نتیجے میں اس کی کوشش ہوئی وہ بورڈز سے خارج ہوتا ہے۔
ٹیب بدلنا۔ ٹیسٹ کے دوران دو سیکنڈ سے زیادہ کے لیے فوکس صفحے سے ہٹ جائے تو ٹیسٹ رکاوٹ زدہ شمار ہوتا ہے؛ وہ محفوظ ہوتا ہے اور دکھایا جاتا ہے لیکن درجہ نہیں پاتا۔
رکنا۔ الفاظ یا اقتباس والے ٹیسٹ میں پانچ سیکنڈ سے لمبا وقفہ نتیجے کو موقوف شدہ قرار دیتا ہے۔ وہی سلوک۔
IME composition۔ جاپانی، کوریائی اور چینی ان پٹ composition ایونٹس کے ذریعے آتا ہے، اس لیے ہم ان کے لیے keydown والا قاعدہ چھوڑ دیتے ہیں۔ اگر پھر بھی کچھ غلط لگے تو یہ بگ ہے، اور ہم لاگ دیکھنا چاہیں گے۔
آف لائن نتائج۔ جو نتیجہ ختم ہونے کے دس منٹ سے زیادہ بعد سنک ہو وہ آپ کی ہسٹری میں بغیر درجے کے رہتا ہے، کیونکہ ہم اس کی گھڑی کی تصدیق نہیں کر سکتے۔
واقعی تیز ہونا۔ 130 WPM سے اوپر آپ کا سامنا دوبارہ ٹیسٹ سے ہوگا، غالباً آپ کے پہلے اچھے دن ہی۔
اپیل کیسے کریں
ہر اخراج آپ کی ہسٹری میں اپنی وجہ دکھاتا ہے۔ اگر آپ سمجھتے ہیں کہ کسی نتیجے یا پابندی کے بارے میں ہم غلط ہیں تو اپنے اکاؤنٹ والے ای میل ایڈریس سے ہمارے اینٹی چیٹ صفحے پر دیے گئے اپیل ایڈریس پر ای میل کریں، نتیجے کے لنک یا ٹیسٹ کی تاریخ اور وقت کے ساتھ۔ ایک انسان کی اسٹروک ری پلے دیکھتا ہے اور چند دنوں میں جواب دیتا ہے۔ اپیلوں کا فیصلہ کبھی صرف خودکار ماڈل نہیں کرتا۔
کیا ہم نے ابھی جانچیں پاس کرنے کا طریقہ شائع کر دیا؟ کچھ حد تک۔ خصوصیات کی فہرست ہمیشہ رویے سے معلوم کی جا سکتی تھی، اور حدیں نجی رہتی ہیں۔ اصل اہم حصہ دوبارہ ٹیسٹ ہے، اور اسے پاس کرنے کا طریقہ ٹائپ کرنا ہے۔
اکثر پوچھے جانے والے سوالات
ٹائپنگ ٹیسٹ بوٹس کو کیسے پکڑتے ہیں؟
اچھے ٹیسٹ کی اسٹروک لاگ پڑھتے ہیں: کیا ہر حرف کے پیچھے کوئی کی پریس ہے، کیز کے درمیان وقفے کتنے بدلتے ہیں، اور کیز کیسے دبائی رکھی جاتی اور ایک دوسرے پر چڑھائی جاتی ہیں۔ اسکرپٹ عموماً ضرورت سے زیادہ باقاعدہ ہوتے ہیں؛ محتاط بوٹس انسانوں کی نقل کر سکتے ہیں، اسی لیے ہم دوبارہ ٹیسٹ شامل کرتے ہیں۔
کیا کوئی بوٹ ٹائپنگ ٹیسٹ کا اینٹی چیٹ پاس کر سکتا ہے؟
محتاط بوٹ ٹائمنگ کی جانچیں پاس کر سکتا ہے: کی اسٹروک ٹائمنگ ڈیٹیکٹرز پر تحقیق نے پایا کہ جعلی انسان نما ٹائمنگ تقریباً ہر بار ان سے بچ نکلی۔ اسی لیے ہم تیز نتائج کو دوبارہ ٹیسٹ کے لیے روک لیتے ہیں، جسے بوٹ کو ایک دوسرے لاگ کے ساتھ پھر سے پاس کرنا ہوتا ہے جو انہی جانچوں سے گزرے۔
میرے ٹائپنگ ٹیسٹ کے نتیجے کو درجہ کیوں نہیں ملا؟
عموماً 15 سیکنڈ یا 10 الفاظ سے چھوٹا ٹیسٹ، پانچ سیکنڈ سے لمبا وقفہ، ٹیب بدلنا، یا 130 WPM سے اوپر کا نتیجہ جو اپنے دوبارہ ٹیسٹ کا منتظر ہے۔ آپ کی ہسٹری وجہ دکھاتی ہے۔