'কে কী দেখতে পাবে' সমস্যা: আপনার AI-built app-এ user permission যোগ করা
বেশিরভাগ AI-built app শুরু হয় একজন ইউজার দিয়ে: আপনি। যেদিন আপনি দ্বিতীয় একজনকে যোগ করেন, সেদিনই আপনার permission দরকার — আর বেশিরভাগ মানুষ এটা ভুল করে। সিকিউরিটি বিশেষজ্ঞ না হয়েই কীভাবে এটা নিয়ে ভাববেন, তা এখানে।
আপনার AI-built app যে মুহূর্তে শুধু আপনার জন্য থাকা বন্ধ করে, সেই মুহূর্তেই permission একটা আসল সমস্যা হয়ে দাঁড়ায়। তার আগ পর্যন্ত প্রতিটা পেজ সবকিছু দেখায়। প্রতিটা তালিকা প্রতিটা সারি দেখায়। প্রতিটা বোতাম সবার জন্য কাজ করে। এটা একটা সিঙ্গেল-প্লেয়ার app, যা মাল্টি-প্লেয়ারের ভান করছে।
তারপর আপনি আপনার প্রথম টিমমেট, কিংবা প্রথম কাস্টমার, কিংবা প্রথম বেটা টেস্টারকে যোগ করেন — আর তারা এমন কিছু দেখে ফেলে যা তাদের দেখার কথা নয়। হয়তো তাদের টিমমেটের বেতন। হয়তো একটা draft যা এখনো তৈরি ছিল না। হয়তো admin সেটিংস, ভুল করে উন্মুক্ত হয়ে গেছে।
এটাই “কে কী দেখতে পাবে” সমস্যা, আর একটা AI app builder প্রজেক্ট শিপ করার সময় নন-টেকনিক্যাল বিল্ডাররা একক বড় যে ভুলটা করে, এটাই সেটা। সুখবর: এটা সমাধান করতে আপনাকে সিকিউরিটি বিশেষজ্ঞ হতে হবে না। আপনার শুধু দরকার এটা নিয়ে আপনার AI builder-এর সঙ্গে কথা বলার একটা পরিষ্কার উপায়।
আপনার AI-built app কেন শিথিল permission দিয়ে শুরু হয়
আপনি যখন একটা AI builder-কে একটা app বর্ণনা করেন — “আমি একটা CRM চাই যেখানে আমি ক্লায়েন্ট আর নোট যোগ করতে পারব” — তখন builder একটা জিনিসের জন্য অপ্টিমাইজ করে: যে বর্ণনা করছে তার জন্য এটাকে কাজে লাগানো। ডিফল্ট app হলো “যে কেউ log in করা আছে সে সবকিছু দেখতে পারে।” একটা ব্যক্তিগত টুলের জন্য এটা ঠিকই আছে। দ্বিতীয় একজন ইউজার আসামাত্রই এটা একটা বিপর্যয়।
এটা AI app builder-এর কোনো bug নয়। এটা স্বাভাবিক পরিণতি — কারণ আপনি এটাকে বলেননি কে কী দেখার অনুমতি পাবে। আপনার ক্লায়েন্ট তালিকা যে স্পর্শকাতর, কিংবা “Notes”-এ যে এমন জিনিস থাকতে পারে যা আপনি ক্লায়েন্টদের দেখাতে চান না — builder-এর সে সম্পর্কে কোনো ধারণা নেই। আপনাকেই সেটা বলে দিতে হবে।
দ্বিতীয় একজন ইউজার যোগ করার আগে যে তিনটা প্রশ্ন করবেন
কাউকে আমন্ত্রণ জানানোর আগে নিজেকে তিনটা জিনিস জিজ্ঞেস করুন। উত্তরগুলো লিখে রাখুন — পরের ধাপে এগুলো আপনি আপনার AI builder-কে দেবেন।
১. রোলগুলো কী কী?
মানুষগুলো নয় — শ্রেণিগুলো। বেশিরভাগ app-এ দুই থেকে চারটার মতো রোল থাকে। একটা ফ্রিল্যান্সার পোর্টালের জন্য: “আমি” আর “Client”। একটা ইন্টারনাল টুলের জন্য: “Admin”, “Manager”, “Team member”। একটা কমিউনিটি app-এর জন্য: “Moderator”, “Member”, “Guest”। শুরুতেই চারটা রোলের বেশি যাওয়ার লোভটা ঠেকান। প্রতিটা রোল আপনার মনে রাখার মতো নিয়মের সংখ্যা দ্বিগুণ করে দেয়।
২. প্রতিটা রোল কী কী দেখতে পারে?
আপনার app-এর প্রতিটা পেজ মনে মনে একবার ঘুরে আসুন। প্রতিটার জন্য জিজ্ঞেস করুন: একজন Client-এর কি এই পেজটা আদৌ দেখা উচিত? তাদের কি এটার সব ডেটা দেখা উচিত, নাকি শুধু নিজেদেরটা? তাদের কি পেজটা দেখা উচিত, তবে কিছু ফিল্ড লুকানো অবস্থায়?
সবচেয়ে সহজ প্যাটার্ন: owner-রা সবকিছু দেখে; বাকি সবাই শুধু সেটাই দেখে, যেটার access তাদের স্পষ্টভাবে দেওয়া হয়েছে। বেশি কাস্টমাইজেশন ছাড়াই এটা ৮০% app-এর জন্য কাজ করে।
৩. প্রতিটা রোল কী কী করতে পারে?
একই অনুশীলন, তবে বোতাম আর অ্যাকশনের জন্য। একজন Member কি একটা প্রজেক্ট ডিলিট করতে পারে? একজন Client কি তার প্রোফাইল এডিট করতে পারবে, কিন্তু তার plan নয়? একজন Manager কি নতুন মানুষকে আমন্ত্রণ জানাতে পারে? বেশিরভাগ নন-টেকনিক্যাল বিল্ডার এই ধাপটা পুরোপুরি ভুলে যায় আর এমন app নিয়ে শেষ করে যেখানে log in করা যেকোনো ইউজার এক বোতামের ক্লিকে পুরো ডেটাবেস মুছে ফেলতে পারে।
permission নিয়ে আপনার AI builder-এর সঙ্গে কথা বলা
উত্তরগুলো পেয়ে গেলে, আপনার AI builder-কে দেওয়া prompt-টা নিজেই নিজে লিখে ফেলে। এটা দেখতে এমন:
এই app-টা দুটো রোল সমর্থন করার মতো করে আপডেট করো: Owner আর Client।
Owner-রা সব ক্লায়েন্ট, সব প্রজেক্ট আর সব invoice দেখতে পারে। Owner-রা যেকোনো কিছু তৈরি, এডিট আর ডিলিট করতে পারে।
Client-রা শুধু নিজেদের প্রজেক্ট আর নিজেদের invoice দেখতে পারে। তারা ক্লায়েন্ট তালিকা, team পেজ বা settings পেজ দেখতে পারবে না। তারা নিজেদের প্রজেক্ট দেখতে পারবে কিন্তু এডিট করতে পারবে না। তারা নিজেদের invoice দেখতে আর সেগুলোর পেমেন্ট করতে পারবে।
একজন Client log in করা থাকলে Settings আর Team-এর navigation লিংকগুলো লুকিয়ে দাও। কোনো Client যদি URL দিয়ে ওই পেজগুলোতে যাওয়ার চেষ্টা করে, তাকে তার dashboard-এ redirect করো।
ওই prompt-এ তিনটা জিনিস গুরুত্বপূর্ণ:
- পেজ আর অ্যাকশন ধরে ধরে নির্দিষ্ট হোন। “Client-রা তাদের প্রজেক্ট দেখতে পারে” — অস্পষ্ট। “Client-রা /projects পেজে তাদের নিজেদের প্রজেক্ট দেখতে পারে কিন্তু এডিট করতে পারে না” — এটা এমন কিছু যা একটা AI builder আসলেই বাস্তবায়ন করতে পারে।
- nav-এর কী হবে তা বলুন। লিংক লুকানো আর পেজ ব্লক করা এক জিনিস নয়। আপনি দুটোই চান।
- URL-টাইপ করার কেসটা সামলান। নইলে একজন কৌতূহলী ইউজার তার ব্রাউজার বারে
/adminপেস্ট করে সোজা ভেতরে ঢুকে যেতে পারে।
যে চারটা ভুল আমি প্রতি সপ্তাহে দেখি
অনেক বিল্ডারকে তাদের প্রথম মাল্টি-ইউজার app শিপ করতে দেখার পর, একই ভুলগুলো বারবার দেখা দেয়:
বোতাম লুকানো মানে ডেটা লুকানো নয়। আপনি যদি আপনার AI builder-কে বলেন “Client-দের জন্য delete বোতামটা লুকিয়ে দাও,” তাহলে বোতামটা স্ক্রিন থেকে উধাও হয়ে যায়। কিন্তু কেউ যদি কীভাবে সেটা কল করতে হয় বের করে ফেলে, তাহলে নিচের delete অপারেশনটা তখনো কাজ করে। সমাধান: builder-কে এটাও বলুন যে “ব্যাকএন্ডে non-Owner অ্যাকাউন্টের delete অনুরোধগুলো বাতিল করো।” আপনার app-এ “ব্যাকএন্ড” মানে কী, builder সেটা না জানলে তাকে বলুন “অ্যাকশনটা সার্ভার-সাইডে ব্লক করো, শুধু বোতাম লুকিয়ে নয়।”
দুটো কাজের জন্য একটা রোল। মানুষ “যারা টাকা দেয়” আর “যারা app ব্যবহার করে”-কে গুলিয়ে ফেলে। আপনাকে কাজের জন্য টাকা দেওয়া একজন Client, আর ওই ক্লায়েন্টের জন্য আপনার বানানো dashboard ব্যবহার করা একজন Client-কর্মচারী এক রোল নয়। আপনি এদের মিশিয়ে ফেললে পরের মাসটা আপনি একটা-একটা করে নিয়ম তালি দিতে দিতে কাটাবেন। দুটো রোল। সবসময়।
প্রথম দিন থেকেই ইউজারদের ইউজার আমন্ত্রণ জানাতে দেওয়া। সঙ্গে সঙ্গে “একজন টিমমেটকে আমন্ত্রণ জানান” যোগ করার লোভ হয়। করবেন না। আপনার প্রথম ১০ জন ইউজারের জন্য, তাদের আপনি নিজে হাতে আমন্ত্রণ জানান, শুধু আপনার দেখা যায় এমন একটা admin panel থেকে। সেলফ-সার্ভ আমন্ত্রণ permission নিয়মের একটা পুরো শ্রেণি (কে কাকে আমন্ত্রণ জানাতে পারে? আমন্ত্রিতরা কোন রোল পায়? তারা কি অন্যদের আমন্ত্রণ জানাতে পারে?)। যতক্ষণ না সত্যিই দরকার হয়, অপেক্ষা করুন।
যাচাই না করে AI builder যা বলে তা বিশ্বাস করা। AI builder আপনাকে আত্মবিশ্বাসের সঙ্গে বলবে যে permission সেট করা হয়ে গেছে। হয়তো হয়েছে। হয়তো হয়নি। সবসময় একজন non-owner হিসেবে log in করে খারাপ কাজ করার চেষ্টা করে যাচাই করুন: delete বোতামে ক্লিক করুন, admin URL পেস্ট করুন, যে ফিল্ড এডিট করার কথা নয় সেগুলো এডিট করার চেষ্টা করুন। যা কাজ করার কথা নয়, তেমন কিছু কাজ করলে builder-কে নির্দিষ্টভাবে সেটা ঠিক করতে বলুন।
কাউকে আমন্ত্রণ জানানোর আগে একটা দ্রুত চেকলিস্ট
দ্বিতীয় ইউজারকে সেই প্রথম আমন্ত্রণটা পাঠানোর আগে এটা একবার দেখে নিন:
- আমি আমার app-এর রোলগুলো এক হাতের আঙুলে গুনে বলতে পারি।
- প্রতিটা রোলের জন্য আমি জানি কোন পেজ তাদের দেখা উচিত আর কোনগুলো নয়।
- আমি একজন non-owner হিসেবে log in করে নিশ্চিত করেছি যে ভুল পেজগুলো লুকানো আছে।
- আমি একজন non-owner হিসেবে ব্রাউজারে একটা admin URL পেস্ট করার চেষ্টা করেছি আর ব্লক হয়েছি।
- আমি এমন delete বা edit বোতামে ক্লিক করার চেষ্টা করেছি যেগুলো নাগালের বাইরে থাকার কথা, আর ব্লক হয়েছি।
- কিছু একটা গণ্ডগোল হলে, আমার কাছে কোনো ইউজারের access দ্রুত সরিয়ে নেওয়ার একটা উপায় আছে।
এর কোনো বুলেট না মিললে, সেটাই আপনার AI builder-এর সঙ্গে পরের আলাপ — আমন্ত্রণ পাঠানোর আগে, পরে নয়।
যে একটা মনোভাবের পরিবর্তন কাজে লাগে
একটা মাল্টি-ইউজার app-এর জন্য permission বানানো মূলত এই নিয়ে যে, আপনি কল্পনা করুন আপনি আপনার সবচেয়ে দুষ্টু ইউজারের সামান্য নাক-গলানো একটা সংস্করণ। বিদ্বেষপূর্ণ নয় — শুধু কৌতূহলী। তারা জিনিসপত্রে ক্লিক করবে। তারা URL পেস্ট করবে। আপনার স্ক্রিনশটে দেখা “Settings” পেজে কী আছে তা দেখার চেষ্টা করবে।
আপনার কাজ — আর আপনার AI builder-এর কাজ — হলো নিশ্চিত করা যে তারা যখন তাকায়, উত্তরটা যেন সঙ্গতিপূর্ণ হয়: হয় তারা এটা দেখতে পারে কারণ এটা তাদের ডেটা, নয়তো তারা এটা দেখতে পারে না কারণ এটা তাদের নয়। কোনো ফাঁক নেই। ভুল করে উন্মুক্ত হওয়া কোনো admin পেজ নেই। কোনো “ওই পেজটা যে আছে তা আমি ভুলেই গিয়েছিলাম” নেই।
বেশিরভাগ বিল্ডার permission নিয়ে ভাবেই না, যতক্ষণ না লজ্জাজনক কিছু একটা ঘটে। সুখবর: শিপ করার আগে রোলগুলো নিয়ে ২০ মিনিট ভাবা আপনাকে পরে সেটা ঠিক করার ২০ ঘণ্টা থেকে বাঁচায়, সঙ্গে যে কাস্টমার ভুল জিনিসটা দেখে ফেলেছে তাকে লেখার মতো ইমেইলটাও আপনাকে আর লিখতে হয় না।
মাল্টি-ইউজার একটা দিকওয়ালা কিছু বানাচ্ছেন? পরের বার যখন আপনার AI app builder নিয়ে বসবেন, সেশনটা শুরু করুন আপনার app-এর রোলগুলো জোরে জোরে বলে। এটা গড়ে তোলার মতো সবচেয়ে সহজ পাঁচ-মিনিটের অভ্যাস, আর এটা সবচেয়ে খারাপ ভুলগুলোর বেশিরভাগই ঘটার আগেই ধরে ফেলবে।