Skip to main content

dotenvx

Manages secure environment variables with encryption, enabling safe version control and multi-environment configuration.

Install this skill

or
0/100

Security score

The dotenvx skill was audited on Feb 9, 2026 and we found 98 security issues across 4 threat categories, including 3 high-severity. Review the findings below before installing.

Categories Tested

Security Issues

medium line 334

Template literal with variable interpolation in command context

SourceSKILL.md
334```yaml
medium line 344

Template literal with variable interpolation in command context

SourceSKILL.md
344```yaml
medium line 406

Template literal with variable interpolation in command context

SourceSKILL.md
406```bash
high line 110

Piping content to sh shell

SourceSKILL.md
110curl -sfS https://dotenvx.sh | sh
high line 323

Piping content to sh shell

SourceSKILL.md
323RUN curl -sfS https://dotenvx.sh | sh
high line 355

Piping content to sh shell

SourceSKILL.md
355run: curl -sfS https://dotenvx.sh | sh
medium line 110

Curl to non-GitHub URL

SourceSKILL.md
110curl -sfS https://dotenvx.sh | sh
medium line 323

Curl to non-GitHub URL

SourceSKILL.md
323RUN curl -sfS https://dotenvx.sh | sh
medium line 355

Curl to non-GitHub URL

SourceSKILL.md
355run: curl -sfS https://dotenvx.sh | sh
medium line 4

Access to .env file

SourceSKILL.md
4description: dotenvx - secure environment variable management with encryption. Use for encrypting .env files, multi-environment configuration, cross-platform secret management, and migrating from plai
medium line 11

Access to .env file

SourceSKILL.md
11**Core Value Proposition**: Encrypt your .env files so they can be safely committed to git, while keeping decryption keys separate and secure.
medium line 17

Access to .env file

SourceSKILL.md
17- Encrypting .env files for version control
medium line 19

Access to .env file

SourceSKILL.md
19- Migrating from plaintext .env to encrypted secrets
medium line 36

Access to .env file

SourceSKILL.md
36Traditional `.env` files are plaintext - if committed to git or exposed, all secrets are compromised. dotenvx solves this by:
low line 49

Access to .env file

SourceSKILL.md
49.env (plaintext) .env.keys (NEVER commit)
low line 71

Access to .env file

SourceSKILL.md
71│ private key │ - .env.keys file
low line 77

Access to .env file

SourceSKILL.md
77│ process.env.HELLO│
medium line 86

Access to .env file

SourceSKILL.md
86| `.env` | Development environment variables | ✅ Yes (when encrypted) |
medium line 87

Access to .env file

SourceSKILL.md
87| `.env.production` | Production environment variables | ✅ Yes (when encrypted) |
medium line 88

Access to .env file

SourceSKILL.md
88| `.env.keys` | Private decryption keys | ❌ Never |
medium line 89

Access to .env file

SourceSKILL.md
89| `.env.local` | Local overrides | ❌ No |
low line 144

Access to .env file

SourceSKILL.md
144dotenvx run -f .env.production -- node index.js
low line 147

Access to .env file

SourceSKILL.md
147dotenvx run -f .env.local -f .env -- node index.js
medium line 156

Access to .env file

SourceSKILL.md
156### encrypt - Encrypt .env Files
medium line 158

Access to .env file

SourceSKILL.md
158Convert plaintext .env to encrypted format:
low line 161

Access to .env file

SourceSKILL.md
161# Encrypt default .env file
low line 165

Access to .env file

SourceSKILL.md
165dotenvx encrypt -f .env.production
low line 167

Access to .env file

SourceSKILL.md
167# Encrypt all .env* files
low line 168

Access to .env file

SourceSKILL.md
168dotenvx encrypt -f .env*
medium line 171

Access to .env file

SourceSKILL.md
171**Result**: Creates/updates `.env.keys` with encryption keys.
medium line 173

Access to .env file

SourceSKILL.md
173### decrypt - Decrypt .env Files
medium line 175

Access to .env file

SourceSKILL.md
175Revert encrypted .env to plaintext:
low line 178

Access to .env file

SourceSKILL.md
178# Decrypt default .env file
low line 182

Access to .env file

SourceSKILL.md
182dotenvx decrypt -f .env.production
low line 194

Access to .env file

SourceSKILL.md
194dotenvx set HELLO production -f .env.production
low line 207

Access to .env file

SourceSKILL.md
207dotenvx get HELLO -f .env.production
low line 220

Access to .env file

SourceSKILL.md
220dotenvx keypair -f .env.production
low line 231

Access to .env file

SourceSKILL.md
231├── .env # Development (encrypted)
low line 232

Access to .env file

SourceSKILL.md
232├── .env.production # Production (encrypted)
low line 233

Access to .env file

SourceSKILL.md
233├── .env.staging # Staging (encrypted)
low line 234

Access to .env file

SourceSKILL.md
234├── .env.local # Local overrides (not committed)
low line 235

Access to .env file

SourceSKILL.md
235├── .env.keys # All private keys (NEVER commit)
low line 243

Access to .env file

SourceSKILL.md
243.env.keys
low line 246

Access to .env file

SourceSKILL.md
246.env.local
low line 247

Access to .env file

SourceSKILL.md
247.env.*.local
low line 249

Access to .env file

SourceSKILL.md
249# DO commit encrypted .env files
low line 251

Access to .env file

SourceSKILL.md
251# .env
low line 252

Access to .env file

SourceSKILL.md
252# .env.production
low line 253

Access to .env file

SourceSKILL.md
253# .env.staging
low line 261

Access to .env file

SourceSKILL.md
261# .env.keys after encrypting multiple environments
low line 262

Access to .env file

SourceSKILL.md
262DOTENV_PRIVATE_KEY="ec9d6..." # For .env
low line 263

Access to .env file

SourceSKILL.md
263DOTENV_PRIVATE_KEY_PRODUCTION="a]c8..." # For .env.production
low line 264

Access to .env file

SourceSKILL.md
264DOTENV_PRIVATE_KEY_STAGING="3d5f..." # For .env.staging
low line 271

Access to .env file

SourceSKILL.md
271# .env.local → .env.development → .env
low line 286

Access to .env file

SourceSKILL.md
286"start": "dotenvx run -f .env.production -- node index.js"
low line 295

Access to .env file

SourceSKILL.md
295console.log(process.env.HELLO)
low line 310

Access to .env file

SourceSKILL.md
310"build": "dotenvx run -f .env.production -- next build",
low line 311

Access to .env file

SourceSKILL.md
311"start": "dotenvx run -f .env.production -- next start"
low line 360

Access to .env file

SourceSKILL.md
360run: dotenvx run -f .env.production -- npm run build
low line 367

Access to .env file

SourceSKILL.md
367dotenvx set API_KEY "production-secret" -f .env.production
low line 373

Access to .env file

SourceSKILL.md
373# Paste the key from .env.keys
low line 379

Access to .env file

SourceSKILL.md
379"buildCommand": "dotenvx run -f .env.production -- npm run build"
medium line 385

Access to .env file

SourceSKILL.md
385## .env File Syntax
low line 433

Access to .env file

SourceSKILL.md
433#/ public-key encryption for .env files /
medium line 449

Access to .env file

SourceSKILL.md
4491. **Never commit `.env.keys`** - Add to `.gitignore` immediately
low line 461

Access to .env file

SourceSKILL.md
461dotenvx run -f .env.production -- npm run build
low line 469

Access to .env file

SourceSKILL.md
469git add .env
low line 473

Access to .env file

SourceSKILL.md
473# Developer 2: Pulls and runs (has .env.keys locally)
low line 482

Access to .env file

SourceSKILL.md
482cat .env.keys | pbcopy # Copy to clipboard
low line 497

Access to .env file

SourceSKILL.md
497Error: Missing private key for .env.production
low line 502

Access to .env file

SourceSKILL.md
502# Option 1: Create/restore .env.keys file
low line 503

Access to .env file

SourceSKILL.md
503echo 'DOTENV_PRIVATE_KEY_PRODUCTION="abc123..."' > .env.keys
low line 516

Access to .env file

SourceSKILL.md
516dotenvx keypair -f .env.production
low line 519

Access to .env file

SourceSKILL.md
519dotenvx decrypt -f .env.production # If you have the right key
low line 520

Access to .env file

SourceSKILL.md
520dotenvx encrypt -f .env.production
low line 527

Access to .env file

SourceSKILL.md
527dotenvx run --debug -- node -e "console.log(process.env)"
low line 530

Access to .env file

SourceSKILL.md
530dotenvx run -f .env.production --verbose -- echo "loaded"
low line 537

Access to .env file

SourceSKILL.md
537grep "encrypted:" .env*
low line 539

Access to .env file

SourceSKILL.md
539# Ensure matching .env.keys entries
low line 540

Access to .env file

SourceSKILL.md
540cat .env.keys
medium line 564

Access to .env file

SourceSKILL.md
564### Step 3: Encrypt Existing .env
low line 567

Access to .env file

SourceSKILL.md
567# Encrypt current .env file
low line 571

Access to .env file

SourceSKILL.md
571cat .env # Should show encrypted: values
low line 573

Access to .env file

SourceSKILL.md
573# Save .env.keys somewhere secure!
low line 574

Access to .env file

SourceSKILL.md
574cat .env.keys
low line 583

Access to .env file

SourceSKILL.md
583"start": "dotenvx run -f .env.production -- node index.js"
medium line 616

Access to .env file

SourceSKILL.md
616- .env file syntax reference
low line 110

External URL reference

SourceSKILL.md
110curl -sfS https://dotenvx.sh | sh
low line 323

External URL reference

SourceSKILL.md
323RUN curl -sfS https://dotenvx.sh | sh
low line 355

External URL reference

SourceSKILL.md
355run: curl -sfS https://dotenvx.sh | sh
low line 408

External URL reference

SourceSKILL.md
408BASE_URL=https://api.example.com
low line 434

External URL reference

SourceSKILL.md
434#/ [how it works](https://dotenvx.com/encryption) /
low line 593

External URL reference

SourceSKILL.md
593- [dotenvx Docs](https://dotenvx.com/docs/)
low line 595

External URL reference

SourceSKILL.md
595- [Encryption Details](https://dotenvx.com/encryption)
low line 598

External URL reference

SourceSKILL.md
598- [Vercel Guide](https://dotenvx.com/docs/platforms/vercel)
low line 599

External URL reference

SourceSKILL.md
599- [Heroku Guide](https://dotenvx.com/docs/platforms/heroku)
low line 600

External URL reference

SourceSKILL.md
600- [Docker Guide](https://dotenvx.com/docs/platforms/docker)
low line 601

External URL reference

SourceSKILL.md
601- [GitHub Actions](https://dotenvx.com/docs/cis/github-actions)
Scanned on Feb 9, 2026
View Security Dashboard
Installation guide →