Skip to content

Secrets ও Environment Variables

কাস্টম backend ও realtime কোডের জন্য API key এবং server-side secret পরিচালনা করুন।

বেশিরভাগ Proyecta অ্যাপের আসলে কোনো secret দরকার হয় না। পেমেন্ট, ইমেইল, auth, এবং কন্টেন্ট হলো platform capabilities — Proyecta সেগুলো নিজেই সংযুক্ত করে এবং credentials পরিচালনা করে (দেখুন Connectors)। বেশিরভাগ অ্যাপকে এখানে কোনো secret যোগ করতে হয় না। কোনো সার্ভিস যদি কোনো capability বা connector দিয়ে কভার না হয় তখনই শুধু এটি দরকার হয় — সাধারণত কাস্টম realtime/backend কোডসহ কোনো অ্যাপে (একটি realtime backend near future-এ আসছে)।

Builder toolbar-এ Settings বাটনে ক্লিক করলে Settings sheet খুলবে। এতে তিনটি সেকশন আছে:

সেকশন কী কাজে লাগে
General প্রজেক্টের নাম ও knowledge base
SEO & sharing সাইটের title, description এবং favicon সেট করা
Secrets কাস্টম backend / realtime কোডের জন্য server-side secrets

কীভাবে একটি secret যোগ করব?

Section titled “কীভাবে একটি secret যোগ করব?”
  1. Builder toolbar-এ Settings বাটনে ক্লিক করো
  2. Secrets ট্যাব খোলো
  3. একটি নাম (যেমন STRIPE_SECRET_KEY) এবং মান লিখুন
  4. Add-এ ক্লিক করো

অ্যাপে secrets কীভাবে ব্যবহার করব?

Section titled “অ্যাপে secrets কীভাবে ব্যবহার করব?”

যেসব অ্যাপে realtime backend আছে, সেখানে secrets সেই deployment-এ sync হয় এবং server কোডে process.env.SECRET_NAME দিয়ে ব্যবহার করা যায়। এগুলো frontend কোডে বা pod-level environment variable হিসেবে পাওয়া যায় না — এতে secrets ব্রাউজার bundle-এ ফাঁস হওয়ার ঝুঁকি থাকে না।

সাধারণ integrations-এর ক্ষেত্রে সাধারণত কোনো secret যোগ করতে হয় না — Proyecta capability বা connector-এর অংশ হিসেবে credentials নিজেই পরিচালনা করে:

  • "Accept payments"Commerce capability, Stripe Connect (checkout, orders, payouts) সংযুক্ত করে দেয়
  • "Send emails"email capability / একটি managed connector, provider key নিজেই সামলায়
  • "Add sign-in"auth capability, একটি OIDC client তৈরি করে এবং OAuth config ইনজেক্ট করে

কোনো সার্ভিস যদি কোনো capability বা connector দিয়ে কভার না হয়, তখনই শুধু এখানে secret যোগ করো — কাস্টম realtime/backend কোডসহ কোনো অ্যাপে (realtime backend near future-এ আসছে)। সেই কোড process.env দিয়ে secret পড়তে পারে।

তৈরি করার পর কি secret দেখা বা সম্পাদনা করা যাবে?

Section titled “তৈরি করার পর কি secret দেখা বা সম্পাদনা করা যাবে?”

Secret-এর মান ডিফল্টভাবে লুকানো থাকে। মান দেখতে, আপডেট করতে, অথবা মুছে নতুন করে তৈরি করতে visibility toggle করা যায়।

AI কি আমার secrets দেখতে পারে?

Section titled “AI কি আমার secrets দেখতে পারে?”

AI তোমার secret-এর নামগুলো দেখতে পারে, কিন্তু তাদের মান দেখতে পারে না। এতে AI সঠিক environment variable রেফারেন্স করে feature তৈরি করতে পারে, আবার sensitive তথ্য উন্মুক্তও হয় না।

Proyecta স্বয়ংক্রিয়ভাবে সাধারণ sensitive key pattern (API key, token, password) সনাক্ত করে এবং UI-তে সেগুলোর মান মাস্ক করে দেয়।

SEO & sharing সেকশনে তুমি নিচেরগুলো সেট করতে পারো:

  • Site title — ব্রাউজার ট্যাব ও সার্চ রেজাল্টে দেখা যায়
  • Site description — SEO meta description হিসেবে ব্যবহৃত হয়
  • Favicon — ব্রাউজার ট্যাবে যে আইকন দেখা যায়

এই সেটিংসগুলো তোমার প্রজেক্টে সংরক্ষিত হয় এবং publish করার সময় প্রয়োগ হয়।

Knowledge Base সেকশনে তুমি reference উপকরণ ও context যোগ করতে পারো, যা AI তোমার অ্যাপ তৈরিতে ব্যবহার করে। Brand guidelines, technical specifications, বা যেকোনো ডকুমেন্টেশন যোগ করো যা AI-কে আরও ভালো সিদ্ধান্ত নিতে সাহায্য করে।

সাধারণ প্রশ্নোত্তর

Section titled “সাধারণ প্রশ্নোত্তর”

Secrets কি encrypted?

Secrets তোমার প্রজেক্টে সংরক্ষিত থাকে, এবং realtime backend আছে এমন অ্যাপে সেগুলো সেই deployment-এ sync হয়। এগুলো কখনো তোমার committed কোডে প্রকাশ পায় না।

Dev এবং production-এর জন্য আলাদা secrets রাখা যাবে কি?

বর্তমানে, secrets তোমার development runtime এবং published অ্যাপ উভয়েই প্রযোজ্য। Per-environment secret management ভবিষ্যতের কোনো release-এ আসার পরিকল্পনা আছে।

ভুলে secret প্রকাশ হয়ে গেলে কী করব?

তাৎক্ষণিকভাবে পুরোনো secret মুছে দাও, third-party provider-এর কাছে key revoke করো, এবং নতুন একটি তৈরি করো।

Secrets এবং connectors-এর মধ্যে পার্থক্য কী?

Secrets হলো raw environment variable যেগুলো তুমি নিজে পরিচালনা করো। Connectors হলো managed integration যেখানে Proyecta নিজেই credential সংরক্ষণ, authentication, token refresh এবং audit logging সামলায়। সম্ভব হলে connector ব্যবহার করো (Stripe, Slack, Resend, ElevenLabs); যেসব সার্ভিসের এখনো connector নেই, সেগুলোর জন্য secrets ব্যবহার করো।