একটি CAPTCHA একটি সহজ ধারণা: দর্শকের সামনে এমন একটি কাজ দিন যা মানুষ সমাধান করতে পারে এবং machine পারে না, এবং যে pass করে তাকে এগিয়ে যেতে দিন। বহু বছর ধরে এটি একটি যুক্তিসঙ্গত trade ছিল। মানুষ কয়েক সেকেন্ড হারাত, আর সবচেয়ে খারাপ automation ধীর হয়ে যেত।
তিনটি বিষয় বদলেছে। machine কাজগুলো সমাধানে ভালো হয়ে গেছে। মানুষ সেগুলো সমাধান করতে ক্লান্ত হয়ে পড়েছে। আর এক নতুন ধরনের visitor এসেছে: AI agent যারা বাস্তব customer-দের হয়ে কাজ করছে, এবং AI assistant-এর সঙ্গে কাজ করা মানুষ। "তুমি কি মানুষ?" প্রশ্ন করা একটি test-এর কাছে এদের কারও জন্যই ভালো উত্তর নেই।
Proof of Actor ভিন্ন পদ্ধতি নেয়। প্রতিটি visitor-কে test করার বদলে, এটি evidence-এর ভিত্তিতে আপনার application-কে জানায় কে বা কী কাজ করছে, এবং আপনার code-কে ঠিক করতে দেয় challenge আদৌ দরকার কি না।
সংক্ষিপ্ত সংস্করণ
| CAPTCHA | Proof of Actor | |
|---|---|---|
| মূল প্রশ্ন | এই visitor কি human test pass করতে পারে? | কে বা কী কাজ করছে, এবং evidence কী? |
| খরচ বহন করে কে | challenge দেখা প্রতিটি visitor | কেউ না; classification background-এ হয় |
| সম্ভাব্য উত্তর | pass বা fail | Human, Human + AI, Agent বা Unknown, সঙ্গে একটি basis |
| বৈধ AI agent | থামানো হয়, বা test-এর workaround করতে বাধ্য হয় | স্বীকৃত হয়, এবং সঠিক experience-এ route করা হয় |
| AI assistant ব্যবহারকারী মানুষ | অন্য যেকোনো visitor-এর মতো treated হয় | একটি আলাদা class, Human + AI |
| অস্পষ্ট traffic | একই test pass করতে হবে | Unknown, প্রতি route-এ আপনার বেছে নেওয়া fallback-এর সঙ্গে |
| কোথায় প্রযোজ্য | যে page-এ আপনি এটি বসান | আপনার integration যে প্রতিটি route cover করে |
| install-এর সময় default behavior | দৃশ্যমান challenge | পর্যবেক্ষণ; আপনি policy যোগ না করা পর্যন্ত কিছুই বদলায় না |
test বনাম evidence
একটি CAPTCHA এক বিট তথ্য তৈরি করে: visitor pass করেছে নাকি fail করেছে। এটি আপনাকে বলে না visitor কে ছিল, তারা assistant-এর সঙ্গে কাজ করছিল কি না, বা ফলাফল নিয়ে আপনার কতটা confidence থাকা উচিত। আর এটি সেই বিট তৈরি করে visitor-কে কাজ করিয়ে।
Proof of Actor একটি classification এবং তার evidence basis তৈরি করে। একটি Verified result মানে একটি check করা যায় এমন assertion validate হয়েছে, যেমন published key-এর বিরুদ্ধে request signature verify করা হয়েছে। একটি Declared result মানে client বা আপনার নিজের application তা জানিয়েছে। একটি Inferred result একটি inference হিসেবে labeled থাকে। Unknown মানে evidence কোনো determination সমর্থন করে না। আপনার team প্রতিটি result পড়তে পারে এবং এটি কীসের উপর দাঁড়িয়ে আছে তা দেখতে পারে, আর visitor-কে কিছুই করতে হয় না।
সবাইকে challenge করার খরচ
প্রতিটি challenge আপনার সেরা user-দের ওপর friction চাপায়, যাতে আপনার সবচেয়ে খারাপ user-দের গতি কমে। একটি sign-up page-এ এটি conversion-এর খরচ। একটি checkout-এ এটি revenue-এর খরচ। accessibility-এর দৃষ্টিতে, এটি মানুষকে সম্পূর্ণভাবে বাদও দিতে পারে। দলগুলো এই খরচ মেনে নেয় শুধু এই কারণে যে বিপরীত পাশে কে আছে সে সম্পর্কে তাদের ভালো signal নেই।
actor context-এর সঙ্গে trade বদলে যায়। আপনি human-directed session-গুলোর জন্য স্বাভাবিক experience রাখতে পারেন, evidence শক্ত হলে challenge বাদ দিতে পারেন, এবং কেবল সেই সংকীর্ণ set-এর জন্য এটি reserve করতে পারেন যেখানে এটি এখনও value যোগ করে: উদাহরণস্বরূপ, একটি password change বা high-value action-এ Unknown result। বেশিরভাগ visitor আর কোনো challenge দেখেই না।
legitimate agent-দের puzzle নয়, path দরকার
একটি CAPTCHA software থামানোর জন্য তৈরি। যখন আপনার page ভিজিট করা প্রায় সব software অবাঞ্ছিত ছিল, তখন এটি অর্থপূর্ণ ছিল। এখন আর তা নয়।
আজ একটি assistant কোনো customer-এর জন্য আপনার plan compare করতে পারে, একটি agent আপনার app-এর মাধ্যমে একটি meeting বুক করতে পারে, এবং একটি AI client কাজ শেষ করতে আপনার MCP server-এ কল করতে পারে। তাদের থামালে আপনার customer-দেরই থামানো হয়। মানুষদের জন্য তৈরি page এবং puzzle-এর মধ্যে তাদের বাধ্য করা brittle automation তৈরি করে যা প্রতিটি redesign-এ ভেঙে যায়।
Proof of Actor agent-দের শনাক্ত করে, এবং signed request-এর মাধ্যমে এটি verify করতে পারে কোন key এবং operator তাদের পিছনে আছে। তখন আপনার application challenge-এর চেয়ে ভালো কিছু করতে পারে: একটি structured API serve করা, একটি agent-friendly flow অফার করা, বা automation-এর জন্য উপযুক্ত একটি rate limit প্রয়োগ করা। AI agent-দের structured content সরবরাহ করা-এর guide দেখায় কীভাবে।
একটি verified identity permission-এর সমান নয়। একটি valid signature আপনাকে বলে request-এ কোন key sign করেছে; সেই agent কোনো action করতে পারবে কি না, তা আপনার authorization decision। Proof of Actor এই দুই প্রশ্নকে আলাদা রাখে।
AI-এর সঙ্গে কাজ করা মানুষও আপনার user
যে person একটি assistant-এর সাহায্যে support message draft করে, বা AI-এর সহায়তায় form পূরণ করে, সে একজন customer। একটি human test তাদের সম্পর্কে কোনো useful কথা বলে না: তারা হয় pass করে, নয়তো তাদের behavior অস্বাভাবিক দেখায় বলে block হয়ে যায়।
Proof of Actor তাদের জন্য আলাদা class দেয়, Human + AI, যখন assistance declared হয় বা supported integration-এর মাধ্যমে observable হয়। এতে আপনি AI-drafted submission-গুলোকে সঠিক team-এর জন্য label করতে পারেন, assisted user-রা কীভাবে আপনার product-এর মধ্যে এগোয় তা study করতে পারেন, এবং তাদের experience smooth রাখতে পারেন। আরও পড়ুন AI-assisted interaction glossary entry-তে।
অনিশ্চিত case-গুলো ইচ্ছাকৃতভাবে সামলানো
কিছু traffic সবসময়ই অস্পষ্ট থাকবে। একটি CAPTCHA এটিকে সর্বত্র একইভাবে সামলায়: সবাই test নেয়।
Proof of Actor Unknown-কে একটি first-class result হিসেবে ফেরায়, কখনও default হিসেবে human ধরা হয় না এবং কখনও default হিসেবে malicious ধরা হয় না। আপনি risk অনুযায়ী প্রতি route-এ fallback বেছে নেন:
- Public page এবং documentation: allow, এবং standard experience বজায় রাখুন।
- Sign-up এবং contact form: allow, আপনার প্রচলিত abuse control সহ।
- Account change: আপনার existing re-authentication flow বজায় রাখুন।
- High-impact action: review-এ route করুন, অথবা আপনি এখনও চাইলে এখানে একটি challenge প্রয়োগ করুন।
এখানেই একটি challenge এখনও নিজের স্থান অর্জন করতে পারে: একটি sensitive route-এ একটি deliberate policy outcome হিসেবে, প্রতিটি visitor-এর ওপর toll হিসেবে নয়।
সিদ্ধান্ত কোথায় থাকে
একটি CAPTCHA widget দেখানোর মুহূর্তেই, আপনি যেখানে বসিয়েছেন সেই page-এ, এবং কেবল একবার সিদ্ধান্ত নেয়।
Proof of Actor-এর সঙ্গে, আপনার application decide করে, আপনার integration যে প্রতিটি route cover করে সেখানে: server middleware, Next.js, edge, একটি approved browser integration, একটি generic HTTP API বা আপনার MCP server। Policy actor class এবং basis-কে একসঙ্গে ব্যবহার করে: allow, adapt, challenge, review বা rate-limit। এগুলো আপনার code-এ থাকে, আপনার বাকি business logic-এর পাশে, এবং একটি page redesign না করেও আপনি এগুলো পরিবর্তন করতে পারেন।
rollout করা
Proof of Actor শুরু হয় observation mode-এ। এটি install করলে আপনার user-রা যা দেখে তাতে কিছুই বদলায় না। blanket challenge থেকে সরে আসার একটি যুক্তিসঙ্গত path এরকম দেখায়:
- Observe. আপনার existing challenge-গুলো যেমন আছে তেমন রাখুন এবং Proof of Actor যোগ করুন। প্রতিটি route-এ actor mix এবং Unknown rate দেখুন।
- Compare. প্রতিটি challenged route-এর জন্য দেখুন কত challenge human session, AI-assisted user এবং verified agent-এ পড়ছে।
- Preview. এমন একটি policy লিখুন যা evidence শক্ত হলে challenge skip করে এবং sensitive action-এ Unknown-এর জন্য তা রাখে। বাস্তব traffic-এর বিরুদ্ধে এর effect preview করুন।
- Enforce. একবারে একটি route-এ policy চালু করুন, documented fallback এবং rollback switch সহ।
actor-aware policy নিরাপদে rollout করা-এর guide প্রতিটি ধাপ বিস্তারিতভাবে covers করে।
কখনও CAPTCHA এখনও যুক্তিযুক্ত
কয়েকটি জায়গায় challenge এখনও একটি useful tool: sensitive action-এর বিরুদ্ধে একটি unclear traffic burst, active abuse-এর অধীনে থাকা একটি form, বা এমন একটি route যেখানে আপনার কাছে এখনও অন্য signal নেই। Proof of Actor আপনাকে এই tool ফেলে দিতে বলে না। এটি আপনাকে context দেয়, যাতে আপনি এটি কেবল সেখানে ব্যবহার করেন যেখানে এটি সাহায্য করে।
শুরু করুন
Proof of Actor private beta-তে আছে। নির্বাচিত founding developer team-গুলো agreed usage limit-এর মধ্যে direct support সহ up to 12 months free access পেতে পারে। early access-এর জন্য apply করুন এবং আজ আপনি কোন route-এ challenge করেন তা জানান।