নিরাপত্তা অডিট
AI-কে আপনার অ্যাপের নিরাপত্তা পরিস্থিতি পর্যালোচনা করতে বলুন, নিচের best practice গুলো অনুসরণ করুন এবং secrets গুলো Settings পেজে রাখুন।
Proyecta-তে নিরাপত্তা পরিচালিত হয় platform-এর ডিফল্ট সেটিং, AI-চালিত পর্যালোচনা এবং কিছু অভ্যাসের সমন্বয়ে যা আপনার গড়ে তোলা উচিত। বিষয়টি কীভাবে ভাববেন তা এখানে দেওয়া হলো।
নিরাপত্তা অডিট চালান
Section titled “নিরাপত্তা অডিট চালান”Command Palette (Cmd+K / Ctrl+K) খুলুন এবং Run Security Audit নির্বাচন করুন। এটি AI-এ একটি পূর্ণাঙ্গ নিরাপত্তা prompt পাঠায়, যা আপনার পুরো codebase পড়ে এবং অগ্রাধিকারভিত্তিক ফলাফল ও নির্দিষ্ট সমাধানসহ দুর্বলতাগুলো সামনে তুলে ধরে।
অডিটটি নিম্নলিখিত বিষয়গুলো পরীক্ষা করে:
- source file-এ hardcoded API key, token বা password
VITE_-prefixed env var যা client-এ secrets ফাঁস করে- API endpoint-এ server-side input validation-এর অনুপস্থিতি
- authentication ছাড়া page বা API endpoint
- unescaped user content (XSS ঝুঁকি)
- Dependency দুর্বলতা
- Mixed content বা hardcoded
http://URL - File upload validation-এর অনুপস্থিতি
আপনি chat থেকেও ম্যানুয়ালি নিরাপত্তা অডিট চালাতে পারেন, অথবা নির্দিষ্ট কোনো ক্ষেত্রে সীমাবদ্ধ রাখতে পারেন:
"Review my checkout flow for security issues""Check the admin pages — who can access what?""Look at every endpoint that writes to the database and tell me if any of them are missing authorization"
নিরাপত্তার best practice
Section titled “নিরাপত্তার best practice”Secrets নিরাপদ রাখুন
- প্রতিটি API key, database credential এবং third-party token Settings পেজের Environment Variables অংশে সংরক্ষণ করুন
- কখনো chat message-এ secrets পেস্ট করবেন না বা code-এ commit করবেন না
- কোনো secret প্রকাশ পেলে, সঙ্গে সঙ্গে third-party provider-এ সেটি revoke করুন এবং নতুন একটি তৈরি করুন
অ্যাক্সেস সীমিত রাখুন
- আপনার অ্যাপে role-based permission চালু করুন (
"Add admin and member roles. Only admins can access /admin pages.") - সংবেদনশীল page এবং endpoint গুলো শুধুমাত্র authenticated ব্যবহারকারীদের মধ্যে সীমাবদ্ধ রাখুন
- সবসময় server side-এ user input যাচাই করুন, শুধু client-এ নয়
সর্বত্র HTTPS ব্যবহার করুন
- সকল প্রকাশিত Proyecta অ্যাপ স্বয়ংক্রিয়ভাবে HTTPS-এর মাধ্যমে পরিবেশন করা হয়
- SSL certificate স্বয়ংক্রিয়ভাবে সরবরাহ ও নবায়ন করা হয়
- custom domain-এর জন্য, DNS সঠিকভাবে নির্দেশিত হলে একই নিয়ম প্রযোজ্য
Dependency আপডেট রাখুন
- AI-কে নিয়মিত জিজ্ঞেস করুন:
"Check my dependencies for known security vulnerabilities and upgrade the vulnerable ones." - AI কী পরিবর্তন করছে তা পর্যালোচনা করুন — dependency upgrade-এ মাঝে মাঝে breaking change অন্তর্ভুক্ত থাকে
বড় পরিবর্তনের পরে অডিট করুন
- authentication, payment, file upload বা user data স্পর্শ করে এমন কিছু যোগ করার পরে আবার অডিট চালান
- প্রথমবার production-এ publish করার আগে একটি পরিষ্কার সমীক্ষা করুন
Proyecta আপনার হয়ে যা পরিচালনা করে
Section titled “Proyecta আপনার হয়ে যা পরিচালনা করে”- আপনার
*.proyecta.livesubdomain-এর জন্য HTTPS এবং certificate - আপনার অ্যাপের ডেটা কোথায় থাকে — আপনার অ্যাপের content, record এবং catalog Proyecta platform-এর data layer-এ (Postgres-backed) সংরক্ষিত হয়, আপনার organization-এর আওতায় scoped এবং rest-এ encrypted থাকে। আপনার প্রকাশিত অ্যাপ এটি একটি publishable key (
pk_pub_*) দিয়ে অ্যাক্সেস করে, যা page-এ ship করা নিরাপদ: server স্বয়ংক্রিয়ভাবে anonymous request গুলো শুধুমাত্র published content-এ সীমাবদ্ধ করে, এবং admin action-এর জন্য অতিরিক্তভাবে সঠিক role সহ একটি signed-in session প্রয়োজন হয়। প্রতিটি request আপনার organization-এর বিপরীতে authorized হয় — একটি অ্যাপ কখনো অন্যটির ডেটা পড়তে পারে না। - Environment variables — secrets একটি নির্ধারিত secrets store-এ সংরক্ষিত হয়, প্রযোজ্য ক্ষেত্রে আপনার অ্যাপের backend-এ sync করা হয় এবং কখনো আপনার codebase-এ commit হয় না। দ্রষ্টব্য: project access সহ workspace member-রা secrets দেখতে পারবেন।
- Isolated runtime — প্রতিটি project নিজস্ব container-এ চলে, তাই dev-environment-এর সমস্যা অন্য ব্যবহারকারীদের প্রভাবিত করে না
- প্রথম publish-এর আগে অডিট চালান — একটি পরিষ্কার সমীক্ষা live হওয়ার আগেই সমস্যাগুলো ধরে ফেলে।
- বড় পরিবর্তনের পরে আবার চালান — auth, payment বা file upload যোগ করলে নতুন attack surface তৈরি হয়।
- পরিসর সীমিত রাখুন — নির্দিষ্ট ক্ষেত্রের অডিট পূর্ণ-অ্যাপ sweep-এর চেয়ে দ্রুত এবং আরও পুঙ্খানুপুঙ্খ হয়।