// docs / security guides / bolt.new checklist
Bolt.new security checklist: 23 items before ship
Bolt.new (StackBlitz WebContainer) runs your dev environment in the browser, generates full-stack JS in minutes, and publishes to Bolt hosting by default or to Netlify (Bolt docs). This checklist targets Bolt-specific risks: secrets that were safe in the dev container leak once the project is exported, Express CORS defaults are permissive, session cookies need explicit HttpOnly flags, and credentials pasted into the terminal or chat are hard to take back. 23 items across secrets, database, auth, headers, deployment, and Bolt-specific gotchas.
PRE = pre-deploy (audit your source). DEPLOY = at deploy time. POST = post-deploy verification.
रहस्य और API कुंजियाँ (5 आइटम)
Bolt का WebContainer ब्राउज़र में चलता है; GitHub या Netlify पर निर्यात करने से रहस्य पृथक कंटेनर से सार्वजनिक रेपो में चले जाते हैं।
- PRE — Never paste service-role keys into the Bolt terminal or chat. Anything you paste there is hard to take back. Keep keys in
.envor your host's environment settings instead. - PRE — Create a
.envfile, never hardcode secrets in code. Bolt का डेव कंटेनर.envको अच्छी तरह से अलग करता है, लेकिन जब आप GitHub पर निर्यात करते हैं, तो.envको.gitignoreमें होना चाहिए। - PRE — Confirm
.gitignoreexcludes.env,.env.local,.env.*.local. Bolt आम तौर पर इसे सही ढंग से तैयार करता है, लेकिन निर्यात से पहले सत्यापित करें। - DEPLOY — Set secrets in Netlify Environment Variables, not in code. Netlify → साइट सेटिंग्स → निर्माण और तैनाती → पर्यावरण। अपनी कुंजियाँ वहां जोड़ें, Production के दायरे में।
- POST — Run Secrets in JavaScript Bundles on the deployed URL. यदि कोई कुंजी नेटलिफ़ाई परिनियोजन तक पहुंच गई है, तो स्कैन उसे ढूंढ लेगा।
डेटाबेस अभिगम नियंत्रण (3 आइटम)
Bolt आमतौर पर Supabase या उत्तल के साथ मचान होते हैं। दोनों में डिफ़ॉल्ट-खुले मोड हैं जिनके लिए स्पष्ट नीतियों की आवश्यकता है।
- PRE — If using Supabase, enable RLS on every public table. Bolt's scaffold might not include
ENABLE ROW LEVEL SECURITYor policies. Add both in the migration. - PRE — Write policies that validate user ownership. प्रत्येक पॉलिसी को
auth.uid() = user_idया समकक्ष की जाँच करनी चाहिए। Bolt की बनाई गई नीतियां कभी-कभी इसमें चूक जाती हैं। - POST — Run a FixVibe scan on the deployed app. Check the Supabase Row-Level Security result: it shows any table an anonymous visitor can read with your public key.
प्रमाणीकरण और सत्र (4 आइटम)
Bolt एक्सप्रेस या Next.js प्रमाणीकरण उत्पन्न करता है। जोखिम कुकी कॉन्फ़िगरेशन और टोकन सत्यापन में है।
- PRE — Ensure session cookies are
HttpOnly; Secure; SameSite=Lax. Bolt कभी-कभी इन झंडों के बिना कुकीज़ उत्पन्न करता है। उन्हें मैन्युअल रूप से सत्यापित करें या जोड़ें. - PRE — Check Bolt's generated auth handlers for server-side token verification. यदि
getSession()का उपयोग किया जाता है, तो सत्यापित बैकएंड लुकअप से बदलें। - PRE — Verify the sign-in redirect guard.
nextपैरामीटर/से शुरू होना चाहिए, कभी//से नहीं। Bolt कभी-कभी इसे छोड़ देता है; यदि आवश्यक हो तो इसे मैन्युअल रूप से जोड़ें। - POST — Test logout clears the session cookie. साइन इन करें, साइन आउट करें, कुकीज़ का निरीक्षण करें। लॉगआउट पर सत्र कुकी को हटा दिया जाना चाहिए।
HTTP हेडर और CSP (3 आइटम)
Bolt के एक्सप्रेस/Next.js मचान में शायद ही कभी CSP शामिल होता है। स्टेटिक होस्ट को स्पष्ट कॉन्फ़िगरेशन की आवश्यकता होती है।
- PRE — Add middleware for security headers if using Express. Bolt के एक्सप्रेस स्कैफोल्ड को CSP, HSTS, एक्स-फ़्रेम-ऑप्शंस के लिए मैन्युअल मिडलवेयर की आवश्यकता है।
- PRE — If using Next.js, ensure
src/middleware.tsexists with CSP. Bolt इसे पाला जा सकता है, लेकिन सत्यापित करें कि CSP गैर तर्क सही है। - POST — Run HTTP Security Headers on the deployed Netlify URL. स्कैन गुम हेडर की रिपोर्ट करता है।
परिनियोजन स्वच्छता (5 आइटम)
Bolt GitHub और Netlify पर निर्यात करता है। दोनों को सावधानीपूर्वक विन्यास की आवश्यकता है।
- DEPLOY — Ensure Bolt exports include
.gitignorewith.envlisted. सत्यापित करें कि निर्यात के बाद GitHub रेपो में.envफ़ाइलें नहीं हैं। - DEPLOY — Set Netlify env vars via Site settings, not GitHub secrets. Netlify के पर्यावरण चर आराम से एन्क्रिप्ट किए गए हैं; GitHub रहस्य CI के लिए डिज़ाइन किए गए हैं, परिनियोजन के लिए नहीं।
- DEPLOY — Audit the Netlify deploy log for secret echo. यदि बिल्ड लॉग किसी भी env var को प्रिंट करता है, तो यह समझौता हो गया है।
- DEPLOY — Configure Netlify build command to not run
echo $SECRET. अपनाpackage.jsonजांचें और किसी भी गुप्त आउटपुट के लिए स्क्रिप्ट बनाएं। - POST — Verify Netlify redirect for HTTP → HTTPS exists. Bolt ऐप्स को HTTPS को बाध्य करना चाहिए। Netlify इसे सेटिंग्स के माध्यम से लागू कर सकता है।
Bolt-विशिष्ट गोचर (3 आइटम)
Bolt के वेबकंटेनर-से-निर्यात प्रवाह के लिए अद्वितीय पैटर्न:
- WebContainer isolation is lost on export. Bolt का देव वातावरण रहस्यों को सुरक्षित रूप से अलग करता है, लेकिन एक बार जब आप GitHub पर निर्यात करते हैं, तो आप
.gitignoreऔर env-var अनुशासन के लिए जिम्मेदार होते हैं। - Treat the terminal and chat like a shared log. Don't paste credentials into either; put them in
.envor your host's environment settings. - Express
cors({ origin: '*' })is the default. Bolt के एक्सप्रेस मचान में अक्सर अनुमेय CORS शामिल होता है।cors({ origin: 'https://yourdomain.com', credentials: true })से बदलें.
अगले चरण
51 क्रॉस-टूल आइटम के लिए general vibe coding security checklist की समीक्षा करें। CSP, RLS, और प्रमाणीकरण पैटर्न के लिए step-by-step hardening देखें।
