~/VibeHandbook
$39

챕터 11 · 03

환경 변수와 비밀

당신의 코드는 API 키, 데이터베이스 URL, 토큰이 필요하다. 이것들은 당신 저장소에 절대 커밋되어서는 안 된다. 비밀이 git 히스토리에 한 번 들어가면 사실상 영원히 공개된 것이다 — 나중 커밋에서 그 줄을 지워도 히스토리에서 사라지지 않으며, 봇들은 새 공개 저장소를 몇 분 안에 긁어 유출된 키를 찾는다. 두 규칙이 멀리까지 데려다준다:

  • 비밀을 로컬에서 .env 파일에 두고, .env.gitignore에 있는지 확인하라.
  • 프로덕션을 위해 같은 값들을 호스트의 대시보드에서(또는 CLI로) 환경 변수로 설정하라.
# .env  (로컬 전용 — 이건 절대 커밋하지 말 것)
DATABASE_URL=postgres://localhost:5432/app
STRIPE_SECRET_KEY=sk_test_xxx
SESSION_SECRET=change-me

# 프로덕션 대응 값을 호스트에 설정
wrangler secret put STRIPE_SECRET_KEY
vercel env add STRIPE_SECRET_KEY production

모든 변수의 (값이 아닌) 이름을 나열하는, 커밋된 .env.example을 유지하라. 그래야 미래의 당신과 AI 둘 다 앱이 무엇을 기대하는지 안다. 위의 sk_test_ 접두사를 보라 — 테스트 키와 라이브 키를 분명히 구별되게 유지하고, 라이브 키가 채팅에 붙여 넣을 수도 있는 로컬 .env에 절대 놓이지 않게 하라. 채팅에 비밀을 붙여 넣거나 실수로 하나를 커밋하게 되면, 그것을 유출된 것으로 취급하고 즉시 교체하라: 제공자 대시보드에서 새 키를 생성하고, 모든 곳에서 갱신한 뒤, 옛 키를 폐기하라. 교체는 5분이 들지만, 유출된 데이터베이스 URL은 데이터베이스 안의 모든 것을 잃게 할 수 있다.

오프라인으로 보고 싶으세요?

PDF + EPUB + 다운로드형 프롬프트 라이브러리 + 버전 업데이트를 받으세요.

$ PDF 받기 — $39