ข้ามไปยังเนื้อหา

Secrets & Environment Variables

จัดการ API key และ secret ฝั่ง server สำหรับโค้ด backend และ realtime แบบกำหนดเอง

แอป Proyecta ส่วนใหญ่ไม่จำเป็นต้องใช้ secret เลย การชำระเงิน, อีเมล, การยืนยันตัวตน และคอนเทนต์ล้วนเป็น platform capabilities — Proyecta จะเชื่อมต่อและจัดการ credentials ให้คุณเอง (ดูที่ Connectors) แอปส่วนใหญ่ไม่ต้องเพิ่ม secret ที่นี่เลย คุณจะต้องใช้ก็ต่อเมื่อมีบริการที่ไม่มี capability หรือ connector รองรับเท่านั้น — โดยทั่วไปคือในแอปที่มีโค้ด realtime/backend แบบกำหนดเอง (realtime backend เร็วๆ นี้)

คลิกปุ่ม Settings ในแถบเครื่องมือของ builder เพื่อเปิดแผง Settings ซึ่งมีสามส่วน:

ส่วน ใช้สำหรับ
General ชื่อโปรเจกต์และ knowledge base
SEO & sharing ตั้งชื่อเว็บไซต์, คำอธิบาย และ favicon
Secrets Secret ฝั่ง server สำหรับโค้ด backend / realtime แบบกำหนดเอง
  1. คลิกปุ่ม Settings ในแถบเครื่องมือของ builder
  2. เปิดแท็บ Secrets
  3. ใส่ชื่อ (เช่น STRIPE_SECRET_KEY) และค่าของมัน
  4. คลิก Add

สำหรับแอปที่มี realtime backend, secret จะถูกซิงค์ไปยัง deployment นั้นและอ้างอิงในโค้ดฝั่ง server ด้วย process.env.SECRET_NAME โดย secret จะไม่ปรากฏในโค้ด frontend หรือตัวแปรสภาพแวดล้อมระดับ pod — เพื่อป้องกันไม่ให้ secret หลุดเข้าไปใน browser bundle

สำหรับการเชื่อมต่อทั่วไป โดยปกติคุณไม่จำเป็นต้องเพิ่ม secret — Proyecta จัดการ credentials ให้เป็นส่วนหนึ่งของ capability หรือ connector:

  • "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 ให้

ให้เพิ่ม secret ที่นี่เฉพาะสำหรับบริการที่ capability หรือ connector ไม่รองรับ ในแอปที่มีโค้ด realtime/backend แบบกำหนดเอง (realtime backend เร็วๆ นี้) โค้ดนั้นจะอ่าน secret ผ่าน process.env

ค่าของ secret จะถูกปิดบังไว้โดยค่าเริ่มต้น คุณสามารถสลับการแสดงผลเพื่อเปิดเผยค่า, อัปเดต หรือลบแล้วสร้างใหม่ได้

AI สามารถเห็นชื่อ secret ของคุณได้ แต่ไม่เห็นค่าของมัน ซึ่งช่วยให้ AI อ้างอิงตัวแปรสภาพแวดล้อมที่ถูกต้องเมื่อสร้างฟีเจอร์ โดยไม่เปิดเผยข้อมูลที่ละเอียดอ่อน

Proyecta ตรวจจับรูปแบบ key ที่ละเอียดอ่อนทั่วไปโดยอัตโนมัติ (API key, token, password) และปิดบังค่าของมันใน UI

ส่วน SEO & sharing ให้คุณตั้งค่า:

  • Site title — แสดงในแท็บ browser และผลการค้นหา
  • Site description — ใช้สำหรับ SEO meta description
  • Favicon — ไอคอนที่แสดงในแท็บ browser

การตั้งค่าเหล่านี้จะถูกเก็บไว้ในโปรเจกต์ของคุณและนำไปใช้เมื่อคุณ publish

ส่วน Knowledge Base ให้คุณเพิ่มเอกสารอ้างอิงและบริบทที่ AI ใช้เมื่อสร้างแอปของคุณ เพิ่ม brand guidelines, technical specifications หรือเอกสารอื่นๆ ที่ช่วยให้ AI ตัดสินใจได้ดีขึ้น

secret ถูกเข้ารหัสไหม?

Secret จะถูกเก็บไว้ในโปรเจกต์ของคุณ และสำหรับแอปที่มี realtime backend จะถูกซิงค์ไปยัง deployment นั้น โดยจะไม่ปรากฏในโค้ดที่ commit ไว้เลย

จะมี secret ที่แตกต่างกันสำหรับ dev และ production ได้ไหม?

ในปัจจุบัน secret จะใช้กับทั้ง runtime สำหรับการพัฒนาและแอปที่ publish แล้ว การจัดการ secret แบบแยก environment มีแผนจะรองรับในอนาคต

ถ้าฉันเผลอเปิดเผย secret ออกไปต้องทำอย่างไร?

ให้ลบ secret เก่าทันที, เพิกถอน key กับผู้ให้บริการ third-party และสร้างอันใหม่

secret ต่างจาก connectors อย่างไร?

Secret คือตัวแปรสภาพแวดล้อมดิบที่คุณจัดการเอง ส่วน Connector คือ managed integration ที่ Proyecta จัดการการเก็บ credentials, การยืนยันตัวตน, การรีเฟรช token และการบันทึก audit log ให้คุณ ใช้ Connector เมื่อมีให้ใช้งาน (Stripe, Slack, Resend, ElevenLabs); ใช้ secret สำหรับบริการที่ยังไม่มี connector รองรับ