UPDATE (2022/08/02) Looks like Svelte has a new mechanism for dealing with runtime/static env -- check out the docs on $env/dynamic/private I'll probably be using this method in my projects for a bit, but will be migrating towards the built-in solution! tl;dr - I use ENV in Sveltekit by loading .env/.envrc formatted files (thanks direnv!) and making sure to do filtering only for PUBLIC_* in hooks.ts before passing to the frontend, rather than using the usual VITE_* replacement approach