sigillo secrets download, piped straight into their CLI. The values never appear in the terminal, and no .env file stays on disk. Each example sends the whole environment you pick, so keep dev, preview and prod apart in Sigillo and match them to the platform's environments.wrangler secret bulk:sigillo secrets download -c prod --format env | wrangler secret bulk --env=""
package.json scripts, to sync before each deploy:{ "scripts": { "secrets:preview": "sigillo secrets download -c preview --format env | wrangler secret bulk --env preview", "secrets:production": "sigillo secrets download -c prod --format env | wrangler secret bulk --env=\"\"" } }
vercel env add only accepts one variable at a time. Use the xargs format to pipe them:sigillo secrets download -c prod --format xargs | \ xargs -0 -n2 sh -c 'printf %s "$2" | vercel env add "$1" production --force' sh
--sensitive to mark values as sensitive in Vercel:sigillo secrets download -c prod --format xargs | \ xargs -0 -n2 sh -c 'printf %s "$2" | vercel env add "$1" production --sensitive --force' sh
package.json script:{ "scripts": { "secrets:vercel": "sigillo secrets download -c prod --format xargs | xargs -0 -n2 sh -c 'printf %s \"$2\" | vercel env add \"$1\" production --sensitive --force' sh" } }
fly secrets import reads NAME=VALUE pairs from stdin:sigillo secrets download -c prod --format env | fly secrets import --app my-app
--stage to skip the restart and deploy separately:# stage without restarting sigillo secrets download -c prod --format env | fly secrets import --app my-app --stage # then deploy when ready fly deploy --app my-app
package.json scripts:{ "scripts": { "secrets:fly:production": "sigillo secrets download -c prod --format env | fly secrets import --app my-app", "secrets:fly:preview": "sigillo secrets download -c preview --format env | fly secrets import --app my-app-staging" } }
sigillo secrets download --format docker > .env.docker docker run --env-file .env.docker my-image
sigillo run -- docker compose up
__ become nested objects:sigillo secrets download --format dotnet-json > appsettings.Secrets.json
DB__HOST=localhost becomes { "Db": { "Host": "localhost" } }.sigillo run instead.