সিকিউরিটি
ইন্টারনেটের মাধ্যমে একটি ফিজিক্যাল রোবট টেলিঅপারেট করার জন্য একটি লগইন ফর্মের চেয়ে বেশি কিছু দরকার। এই পাতায় বর্ণনা করা হয়েছে অথেনটিকেশন ও রোল কীভাবে কাজ করে, API কী কীভাবে হ্যান্ডেল করা উচিত, কোন সেফগার্ডস লাইভ কন্ট্রোল রক্ষা করে, অডিট ট্রেইল কী রেকর্ড করে, এবং একটি দুর্বলতা কীভাবে রিপোর্ট করবেন।
সর্বশেষ আপডেট 2026-08-09
অথেনটিকেশন
অ্যাকাউন্টগুলো Supabase Auth দ্বারা ইমেইল ও পাসওয়ার্ড, Google OAuth, বা GitHub OAuth দিয়ে পরিচালিত হয়। লগইনের পর, আপনার ব্রাউজার একটি সেশন টোকেন (একটি JWT) ধরে রাখে যা প্ল্যাটফর্ম মিডলওয়্যার দ্বারা স্বয়ংক্রিয়ভাবে রিফ্রেশ হয়, তাই একটি কার্যকর সেশন কাজের মাঝপথে নীরবে মেয়াদ শেষ হয়ে যায় না।
API সেই সেশন টোকেন দুটো রূপে গ্রহণ করে: ড্যাশবোর্ড যাই হোক পাঠায় এমন সেশন কুকি হিসেবে, অথবা একটি Authorization Bearer হেডার হিসেবে। ব্রাউজার লগইন ছাড়া প্রোগ্রাম্যাটিক অ্যাক্সেসের জন্য API কী ব্যবহার করা হয়, যা নিচে বর্ণনা করা আছে। এন্ডপয়েন্টগুলো বৈধ ক্রেডেনশিয়াল ছাড়া রিকোয়েস্ট প্রত্যাখ্যান করে; শুধুমাত্র স্পষ্টভাবে পাবলিক রুটস, যেমন হেলথ চেক এবং কনট্যাক্ট ফর্ম, অথেনটিকেশন ছাড়াই কাজ করে।
রোলস এবং অনুমতিসমূহ
প্রতিটি অ্যাকাউন্টের ঠিক একটি রোল আছে: CLIENT, OPERATOR, বা ADMIN। ক্লায়েন্টরা রোবটের মালিক হয় এবং সেশনের জন্য অর্থ প্রদান করে, অপারেটররা রোবট নিয়ন্ত্রণ করে এবং সেশন থেকে উপার্জন করে, এবং অ্যাডমিনরা প্ল্যাটফর্ম পরিচালনা করে। অনবোর্ডিংয়ের সময় আপনি ক্লায়েন্ট ও অপারেটরের মধ্যে বেছে নেন; অ্যাডমিন রোল প্ল্যাটফর্ম অ্যাডমিনিস্ট্রেটরদের দ্বারা নিয়োগ করা হয় এবং নিজে বেছে নেওয়া যায় না।
| সক্ষমতা | CLIENT | OPERATOR | ADMIN |
|---|---|---|---|
| রোবট রেজিস্টার ও পরিচালনা করা | হ্যাঁ | না | হ্যাঁ |
| টেলিঅপারেশন সেশন শুরু ও চালানো | না | হ্যাঁ | হ্যাঁ |
| সেশন দেখা | নিজের রোবটে | নিজের সেশন | সব |
| ডেটাসেটস ও এক্সপোর্টস | হ্যাঁ | না | সব |
| বিলিং, ইনভয়েসেস, পেমেন্ট মেথডস | হ্যাঁ | না | সব |
| উপার্জন ও পেআউটস | না | হ্যাঁ | সব |
| সার্টিফিকেশনস অনুমোদন করা | না | শুধু অনুরোধ | হ্যাঁ |
| বিরোধ নিষ্পত্তি করা | শুধু ফাইল | না | হ্যাঁ |
রোল চেক প্রতিটি রিকোয়েস্টে সার্ভার-সাইডে ঘটে, UI-তে নয়। API-এর নিচে, ডাটাবেস অ্যাক্সেস আরও রো-লেভেল সিকিউরিটি পলিসি দিয়ে সীমাবদ্ধ, তাই একটি এন্ডপয়েন্টে বাগ থাকলেও তা অন্য অ্যাকাউন্টের রো-তে বিনামূল্যে অ্যাক্সেসে পরিণত হয় না।
API কীজ
API কী স্ক্রিপ্ট ও সার্ভারকে ব্রাউজার লগইন ছাড়া অ্যাক্সেস দেয়। আপনি /dashboard/settings-এ এগুলো তৈরি ও বাতিল করেন; কী-গুলোতে ayr_live_ প্রিফিক্স থাকে এবং একটি Authorization Bearer হেডার হিসেবে পাঠানো হয়। একটি কী তা তৈরি করা অ্যাকাউন্টের রোল এবং অনুমতি নিয়ে কাজ করে, তাই একটি ফাঁস হওয়া কী ঠিক ততটাই খারাপ যতটা একটি ফাঁস হওয়া পাসওয়ার্ড।
- কী-গুলো সার্ভার-সাইডে রাখুন। এগুলো ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট, মোবাইল অ্যাপ, বা পাবলিক রিপোজিটরিতে থাকা উচিত নয়।
- প্রতি ইন্টিগ্রেশনে একটি কী ব্যবহার করুন। কিছু ফাঁস হলে, আপনি একটি consumer বাতিল করতে চান, সবগুলো নয়।
- ডাউনটাইম ছাড়া রোটেট করুন: প্রথমে প্রতিস্থাপন কী তৈরি করুন, এটি ডিপ্লয় করুন, তারপর /dashboard/settings-এ পুরনো কী বাতিল করুন।
- যেকোনো সন্দেহে সঙ্গে সঙ্গে বাতিল করুন। একটি নতুন কী তৈরি করতে কয়েক সেকেন্ড লাগে; একটি বৈধ কীসহ একজন আক্রমণকারী আপনার অ্যাকাউন্ট যা করতে পারে তা সবই করতে পারে।
লাইভ কন্ট্রোলের সময় সেফগার্ডস
লাইভ কন্ট্রোল একটি সেশন লিজের সঙ্গে বাঁধা। একটি রোবট শুধুমাত্র তখনই কমান্ড গ্রহণ করে যখন এটি ঠিক একটি ACTIVE সেশনে থাকে, এবং শুধুমাত্র সেই সেশন ধরে রাখা অপারেটরের কাছ থেকে; বাকি সবার জন্য রোবট নিজেই IN_SESSION হিসেবে চিহ্নিত হয়। একজন অপারেটর একই সময়ে সর্বোচ্চ একটি ACTIVE বা PAUSED সেশন ধরে রাখতে পারেন, যা একজন ব্যক্তির একই সময়ে নামমাত্র দুটো আর্ম নিয়ন্ত্রণ করাকে বাদ দেয়।
ককপিট একটি ইমার্জেন্সি স্টপ প্রদান করে যা তৎক্ষণাৎ আর্ম থামিয়ে দেয়, এবং সেশন পজ বা শেষ করা পুরো কমান্ড প্রবাহকে থামিয়ে দেয়। এর উপরে, প্ল্যাটফর্ম অপারেটরের অ্যাক্টিভিটি মনিটর করে: কিছু সময় ইনপুট ছাড়া থাকলে একটি ইনঅ্যাক্টিভিটি ওয়ার্নিং পাঠানো হয়, এবং অপারেটর নিষ্ক্রিয় থাকলে সেশন স্বয়ংক্রিয়ভাবে থেমে যায়। এটি উভয় পক্ষকে রক্ষা করে, ক্লায়েন্টকে অলস সময়ের জন্য অর্থ প্রদান থেকে এবং রোবটকে একটি লাইভ লিজসহ অনিয়ন্ত্রিত অবস্থায় বসে থাকা থেকে।
অডিট ট্রেইল
প্রতিটি সেশন একটি ইভেন্ট লগ রাখে: শুরু ও শেষ, পজ ও পুনরায় শুরু, অ্যাক্টিভিটি চেক, ইনঅ্যাক্টিভিটি ওয়ার্নিং, অপারেটর সুইচ, এক্সটেনশন রিকোয়েস্ট, এবং এরর, প্রতিটির একটি টাইমস্ট্যাম্প সহ। যখন একটি বিরোধ পর্যালোচনা করা হয়, এই ইভেন্ট লগই প্রাথমিক প্রমাণ, যা আরেকটি কারণ কেন প্ল্যাটফর্ম এটি স্বয়ংক্রিয়ভাবে লেখে, কারো স্মৃতির উপর নির্ভর করার বদলে।
সেশনের বাইরে, উল্লেখযোগ্য প্ল্যাটফর্ম অ্যাকশনগুলো একটি অডিট লগে রেকর্ড করা হয় সেই ব্যবহারকারীর আইডি সহ যিনি কাজটি করেছেন, অ্যাকশন, প্রভাবিত রিসোর্স, এবং মেটাডেটা। প্রোফাইল পরিবর্তন, পেমেন্ট-সম্পর্কিত লেনদেন, এবং অ্যাডমিন অ্যাকশন সবই এন্ট্রি রেখে যায়। অডিট রেকর্ডগুলো প্ল্যাটফর্ম দ্বারা লেখা হয় এবং কোনো ব্যবহারকারী-মুখী ইন্টারফেসের মাধ্যমে সম্পাদনযোগ্য নয়।
এনক্রিপশন এবং ডেটা সুরক্ষা
প্ল্যাটফর্মে যাওয়া ও আসা সব ট্রাফিক ট্রানজিটে TLS দিয়ে এনক্রিপ্টেড, ভিডিও স্ট্রিমস এবং কন্ট্রোল সিগনালস সহ। ডেটা স্তরে, রো-লেভেল সিকিউরিটি পলিসি প্রতি অ্যাকাউন্টে ডাটাবেস অ্যাক্সেস সীমাবদ্ধ করে। পেমেন্ট ডেটা সবচেয়ে স্পষ্ট সীমারেখা: কার্ড এবং ব্যাংকের বিবরণ শুধুমাত্র Stripe দ্বারা পরিচালিত হয় এবং কখনো AY-Robots সার্ভারকে স্পর্শ করে না।
একটি দুর্বলতা রিপোর্ট করা
আপনি যদি একটি সিকিউরিটি ইস্যু খুঁজে পান, /security পাতা বা Bug Report ক্যাটাগরি ব্যবহার করে /contact ফর্মের মাধ্যমে দায়িত্বশীলভাবে এটি রিপোর্ট করুন। আপনি কী পেয়েছেন, কোথায়, এবং কীভাবে এটি পুনরুৎপাদন করবেন তা অন্তর্ভুক্ত করুন; সমস্যাটি প্রদর্শনের জন্য প্রয়োজনীয় ন্যূনতমের বাইরে অন্য ব্যবহারকারীদের ডেটা অ্যাক্সেস করবেন না, এবং আমাদের কাছে ঠিক করার যুক্তিসঙ্গত সুযোগ পাওয়ার আগে বিস্তারিত প্রকাশ করবেন না। আমরা প্রতিটি রিপোর্ট পড়ি।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
একজন অপারেটর কি আমার বিলিং ডেটা দেখতে পারেন?▾
না। বিলিং, ইনভয়েসেস, এবং পেমেন্ট মেথডস ক্লায়েন্ট-রোল সক্ষমতা। আপনার রোবটে থাকা একটি সেশনে একজন অপারেটর সেশনের কনটেক্সট দেখেন, আপনার অ্যাকাউন্ট বা পেমেন্ট ডেটা নয়।
সেশনের মাঝপথে আমার কানেকশন বিচ্ছিন্ন হয়ে গেলে রোবটের কী হয়?▾
কানেকশনের সঙ্গে সঙ্গে কমান্ড প্রবাহ থেমে যায়, এবং ইনঅ্যাক্টিভিটি সেফগার্ড দায়িত্ব নেয়: ইনপুট ছাড়া একটি ওয়ার্নিং পিরিয়ডের পর, সেশন স্বয়ংক্রিয়ভাবে থেমে যায়। সেই স্টপের পরের অলস অংশের জন্য ক্লায়েন্টকে বিল করা হয় না।
আমি নিরাপদে একটি API কী কীভাবে রোটেট করব?▾
/dashboard/settings-এ নতুন কী তৈরি করুন, আপনার ইন্টিগ্রেশন এটিতে সুইচ করুন, এটি কাজ করছে কিনা যাচাই করুন, তারপর পুরনো কী বাতিল করুন। এই ক্রমে এটি করার অর্থ শূন্য ডাউনটাইম এবং কোনো বৈধ কী না থাকার কোনো সময় নেই।
আমার পেমেন্ট ডেটা কি AY-Robots সার্ভারে সংরক্ষিত?▾
না। কার্ড এবং ব্যাংকের বিবরণ সরাসরি Stripe-এ যায়। প্ল্যাটফর্ম শুধুমাত্র Stripe অবজেক্টের রেফারেন্স সংরক্ষণ করে, অন্তর্নিহিত পেমেন্ট ডেটা কখনো নয়।