내 사이트가 AI에게 일을 시키려면 "주문"을 해야 하는데(API), 그 주문에는 내 회원카드(API 키)가 필요합니다. 이 카드는 남에게 보이면 안 되므로 비밀의 방(.env)에 숨깁니다.
API 키는 나를 증명하는 회원카드입니다. AI 회사는 이 카드로 "누가 주문했는지"를 확인하고 그 사람에게 사용량·요금을 매깁니다. 그래서 카드가 남에게 넘어가면 남이 내 이름으로 주문하고, 그 요금이 나에게 청구됩니다.
가장 위험한 실수는 이 키를 코드에 그대로 적어서 GitHub에 올리는 것입니다. GitHub은 인터넷 공개 공간이라, 올라간 키는 순식간에 자동 프로그램들에게 수집됩니다. 그래서 키는 코드가 아니라 .env라는 비밀 파일에 적고, 이 파일은 .gitignore로 "GitHub에 올리지 마" 목록에 넣어 둡니다.
한 가지 더. 내 컴퓨터의 .env는 배포된 사이트로 따라가지 않습니다. 그래서 Vercel에 사이트를 올릴 때는, Vercel의 "환경변수"라는 또 다른 비밀의 방에 같은 키를 한 번 더 넣어야 배포 사이트에서도 AI가 작동합니다.
.env에 숨겼다면 없었을 일이에요. 키가 새어나갔다면 즉시 그 키를 폐기하고 새로 발급받는 게 정답입니다.
| 용어 | 쉬운 뜻 |
|---|---|
API | 다른 서비스에 "이거 해줘" 주문하는 창구 |
API 키 | 그 창구에서 나를 확인하는 회원카드 (비밀) |
.env | 키를 숨겨두는 비밀 파일 |
.gitignore | "이 파일은 GitHub에 올리지 마" 목록 |
| Vercel 환경변수 | 배포된 사이트용 비밀의 방 |
.env..gitignore 확인.내 사이트가 쓰는 API(예: Gemini):
키를 넣어둔 곳 2군데: ① .env(로컬) ②