Proprietary code AI gateway দিয়ে পাঠালে জানা দরকার ওই gateway ঠিক কী কী রেখে দেয়। এই পেজে বলা আছে Tokens কী রাখে, কী রাখে না, আপনার prompt কোথায় যায়, আর অ্যাকাউন্ট কীভাবে শক্ত করে তালা দেবেন। সংক্ষিপ্ত পাবলিক বিবরণ আছে security পেজে।
আপনার request নিয়ে Tokens কী রাখে#
Billing-এর জন্য দরকার, তাই প্রতিটা request-এর usage metadata Tokens রাখে:
- আপনি কোন model call করেছেন
- input, output আর cache-read token-এর সংখ্যা
- খরচ
- latency আর সময়ের তথ্য
- কোন API key ব্যবহার হয়েছে
- request id (
x-tokens-request-id)
Usage dashboard আর CSV export-এ যা দেখেন সেটাই, এর বেশি কিছু নয়।
Tokens যা রাখে না#
- Prompt আর response-এর content রাখা হয় না। Gateway আপনার request সরাসরি model provider-এর কাছে stream করে দেয় আর পথে token গুনে যায়। Prompt, কোড বা model-এর উত্তরের কোনো archive নেই।
- Application log-এ prompt আর message field মুছে (redact করে) রাখা হয়, যাতে ভুল করেও content log-এ ঢুকে না পড়ে।
- আপনার ডেটায় Tokens কোনো model train করে না, আর ডেটা বিক্রিও করে না।
আপনার prompt কোথায় যায়: upstream provider#
Request-এর উত্তর দিতে Tokens আপনার prompt পাঠায় এমন একটা upstream provider-এর কাছে, যে আপনার বেছে নেওয়া model চালায়। সেখান থেকে ওই provider-এর নিজের data-retention আর training policy তার service-এ খাটে। এই policy provider ভেদে, কখনো model ভেদেও আলাদা, আর Tokens সেগুলো বদলাতে পারে না।
বাস্তবে এর মানে:
- Model বেছে নেওয়া মানে কার policy খাটবে সেটাও বেছে নেওয়া। সংবেদনশীল কোড বা ব্যক্তিগত তথ্য পাঠানোর আগে আপনার model-এর provider-এর শর্তগুলো দেখে নিন।
- Automatic failover থাকায় প্রথম source ব্যর্থ হলে একই model-এর অন্য কোনো upstream source আপনার request চালাতে পারে। আপনার কাজে এটা গুরুত্বপূর্ণ হলে Support-এ জানান আর জিজ্ঞেস করুন কোনো model কোন কোন provider চালায়।
- Secret (পাসওয়ার্ড, private key, production credential) কখনোই prompt-এ দেবেন না। বেশিরভাগ coding agent আপনার working directory থেকে file পড়ে, তাই
.envfile আর credential agent-এর নাগালের বাইরে রাখুন, অথবা agent-এর ignore setting ব্যবহার করুন।
Tokens প্ল্যাটফর্ম কীভাবে সুরক্ষিত রাখে#
- Upstream provider-এর credential জমা থাকা অবস্থায় AES-256-GCM দিয়ে encrypt করা।
- আপনার API key রাখা হয় hash করে। পুরো secret দেখানো হয় তৈরির সময় একবারই, পরে আর দেখানো যায় না।
- পাসওয়ার্ড সামলায় authentication service, আর রাখা হয় শুধু salted hash হিসেবে।
- Customer-এর ডেটা database-এ row-level security দিয়ে সুরক্ষিত। Staff শুধু ততটুকুই দেখতে পায় যতটুকু তার role-এর জন্য দরকার।
- Admin access-এ multi-factor authentication লাগে, কিছুক্ষণ নিষ্ক্রিয় থাকলে session শেষ হয়ে যায়, আর কে কী করতে পারবে তা role দিয়ে সীমিত। স্পর্শকাতর admin কাজ audit log-এ লেখা হয়।
- পেমেন্ট credit যোগ হওয়ার আগে server-এ payment provider-এর কাছ থেকে confirm করা হয়, আর প্রতিটা confirmation ঠিক একবারই কাজ করে। আপনার পুরো card নম্বর বা banking পাসওয়ার্ড Tokens কখনো দেখে না, রাখেও না।
অ্যাকাউন্ট নিরাপদ রাখুন: MFA আর session#
Dashboard-এ account security খুলুন (/account/security):
Two-factor authentication চালু করুন#
একটা authenticator app (TOTP) যোগ করুন। QR code scan করে 6 অঙ্কের code দেখায় এমন যেকোনো app চলবে। এরপর Sign in করতে পাসওয়ার্ডের সাথে চলতি একটা code-ও লাগবে। কেউ আপনার পাসওয়ার্ড জেনে ফেললেও আপনার key বা billing-এ ঢুকতে পারবে না।
চালু session দেখে নিন#
Active Sessions তালিকায় দেখা যায় কোথায় কোথায় আপনার অ্যাকাউন্টে Sign in করা আছে। চেনেন না এমন যেকোনো session revoke করুন। অন্য কেউ ঢুকেছে সন্দেহ হলে sign out everywhere চাপুন। তারপর পাসওয়ার্ড বদলান আর /dashboard/keys-এ গিয়ে দেখুন আপনি বানাননি এমন কোনো key আছে কি না।
Google দিয়ে Sign in করলে আপনার Google অ্যাকাউন্টের নিজের নিরাপত্তাই (2-step verification সহ) ওই Sign in-এর পথটাও আগলে রাখে।
API key-র যত্ন#
আপনার key-ই সবচেয়ে বেশি ফাঁস হয়, সাধারণত commit, screenshot বা শেয়ার করা terminal log থেকে।
- প্রতিটা tool বা machine-এর জন্য আলাদা key। তাহলে একটা revoke করলে বাকিগুলো বন্ধ হয় না।
- যে key নিজে নিজে চলে, তাতে monthly spend cap দিন, আর কোনো tool-এর এক-দুটো model লাগলে allowed-models তালিকা দিন। দুটোই key তৈরির সময় সেট হয়; দেখুন API key।
- Key রাখুন environment variable বা secrets manager-এ, commit করা file-এ কখনো নয়।
.gitignore-এ.envযোগ করে রাখুন। - Browser বা mobile কোডে কখনো key বসাবেন না। Tokens browser থেকে call সমর্থন করে না; server থেকে call করুন।
- Support ticket, chat বা issue-তে key paste করবেন না। Support-এর কখনো আপনার key লাগে না; request id-ই যথেষ্ট।
- Key ফাঁস হলে সাথে সাথে rotate বা revoke করুন। Rotation তখনই কার্যকর হয়; পুরোনো secret সঙ্গে সঙ্গে অকেজো হয়ে যায়।
Usage dashboard-এ অচেনা model বা অদ্ভুত সময়ের traffic আছে কি না নজর রাখুন। অনেক সময় এটাই প্রথম ইঙ্গিত যে অন্য কেউ আপনার key চালাচ্ছে।
অ্যাকাউন্ট মুছে ফেলা#
অ্যাকাউন্ট মোছার কাজ Support করে। যে অ্যাকাউন্টটা মুছতে চান সেখান থেকেই /dashboard/support-এ একটা ticket খুলুন। আগে নিজের API key-গুলো revoke করে নিন, যাতে এর মধ্যে কিছু চলতে না থাকে।
Vulnerability জানান#
Tokens-এ কোনো নিরাপত্তা-সমস্যা পেয়েছেন মনে হলে প্রকাশ করার আগে ব্যক্তিগতভাবে জানান। যোগাযোগের তথ্য আছে security পেজে। কী পেয়েছেন, কীভাবে আবার ঘটানো যায়, আর কীভাবে আপনার সাথে যোগাযোগ করা যাবে তা লিখে দিন। পরীক্ষা করার সময় অন্য customer-দের ডেটায় হাত দেবেন না, আর service-এর ক্ষতি করবেন না।