
Static output is reassuring: there is no runtime, so there is nothing to compromise at runtime. The build is a different story.
PUBLIC_, NEXT_PUBLIC_,
VITE_ — and it means "inline this into the browser bundle". Renaming a variable is
enough to publish a credential..env that was never added to .gitignore.Use the narrowest scope that can build the site. Keep write-capable keys off CI entirely — if seeding needs one, run it from a laptop. And grep your build output for the key before you trust the setup, because that check takes five seconds and assumptions do not.