npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@damisile_ayoola/envvault

v1.1.0

Published

Secure, encrypted environment variable manager with process injection, security auditing, and zero-dependency crypto

Readme

  ███████╗███╗   ██╗██╗   ██╗██╗   ██╗██████╗ ██╗   ██╗██╗     ████████╗
  ██╔════╝████╗  ██║██║   ██║██║   ██║██╔══██╗██║   ██║██║     ╚══██╔══╝
  █████╗  ██╔██╗ ██║██║   ██║██║   ██║███████║██║   ██║██║        ██║   
  ██╔══╝  ██║╚██╗██║╚██╗ ██╔╝██║   ██║██╔══██║██║   ██║██║        ██║   
  ███████╗██║ ╚████║ ╚████╔╝ ╚██████╔╝██║  ██║╚██████╔╝███████╗   ██║   
  ╚══════╝╚═╝  ╚═══╝  ╚═══╝   ╚═════╝ ╚═╝  ╚═╝ ╚═════╝ ╚══════╝   ╚═╝   

🔐 Secure, Encrypted Environment Variable Manager

Zero-dependency AES-256-GCM encryption, sub-process injection, & security auditing for Node.js applications.

Created by Ayoola Damisile

npm version License: MIT Build Status Security: AES--256--GCM PRs Welcome

Quick StartWhy EnvVaultComparisonCLI CommandsSecurity AuditCI/CD WorkflowLicense


😱 Stop Sharing Passwords on Slack!

How many times have you done this?

  1. A teammate asks for the staging database connection string.
  2. You copy it from your local text editor.
  3. You paste it into Slack or Teams.
  4. It is now saved in chat search history forever.
  5. Or worse... someone forgets .env in .gitignore and pushes production secrets to GitHub.

✨ Why EnvVault?

EnvVault is a lightweight, offline-first CLI tool built by Ayoola Damisile that encrypts project secrets locally using AES-256-GCM and injects them directly into running sub-processes without leaving plaintext .env files on disk.

⚔️ Competitive Edge: How EnvVault Compares

Unlike other tools that force complex setup or dump plain text files on disk:

  1. Zero External Servers / 100% Offline: Unlike @iserp/envvault, there are no remote hubs (https://YOUR_HUB), dashboard signups, or monthly cloud costs. It works 100% offline out of the box.
  2. Zero Web App / PAT Token Friction: Unlike @env-vault/cli, you don't need to visit a web app (env-locker.vercel.app), manage Age keys, store TOTP secrets, or create GitHub Personal Access Tokens.
  3. Memory-Only Subprocess Injection (envvault run): Tools that pull plaintext .env files onto your disk leave passwords vulnerable to malware or accidental git add . leaks. EnvVault injects secrets directly into process memory (process.env).
  4. Built-in Security Linter (envvault audit): Includes an automated scanner to detect plaintext file leaks and un-ignored secrets before pushing to Git.

Feature Comparison Matrix

| Feature | Plain .env | HashiCorp Vault | @iserp/envvault | @env-vault/cli | EnvVault (@damisile_ayoola/envvault) | | :--- | :---: | :---: | :---: | :---: | :---: | | AES-256 Encryption | ❌ | ✅ | ⚠️ Basic | ✅ Age | ✅ AES-256-GCM | | Setup Time | 1 min | 2+ hours | 30 mins | 15 mins | 30 seconds | | Offline First | ✅ | ✅ | ❌ Hub Req | ❌ Web Req | ✅ 100% Offline | | No External Tokens / PATs | ✅ | ❌ | ❌ | ❌ Required | ✅ Zero Tokens Needed | | Direct Memory Injection | ❌ | ⚠️ Complex | ❌ Disk pull | ❌ Disk pull | envvault run | | Git Leak Auditor | ❌ | ❌ | ❌ | ❌ | envvault audit |


🚀 Quick Start

1. Installation

npm install -g @damisile_ayoola/envvault

2. Initialize Vault

Initialize a password-protected .envvault storage file in your project directory:

envvault init

3. Add Encrypted Secrets

envvault set DATABASE_URL "postgresql://admin:secret@localhost:5432/mydb"
envvault set STRIPE_SECRET_KEY "sk_test_51Mz..."

4. Run Application with Injected Secrets

Execute your app without ever creating plain text .env files on disk:

envvault run -- npm start

🛠️ CLI Command Reference

# Initialize encrypted vault in current project
envvault init

# Add or update an encrypted secret variable
envvault set DATABASE_URL "postgres://..."

# Retrieve a single decrypted secret
envvault get DATABASE_URL

# Output raw secret for shell scripts & piping (e.g. export DB=$(envvault get DB --raw))
envvault get DATABASE_URL --raw

# List all stored keys (masked output by default)
envvault list

# List all keys with unmasked values
envvault list --show-values

# Delete a secret
envvault delete DATABASE_URL

# Audit current directory for plaintext .env leaks & git safety
envvault audit

# Execute any command with injected secrets
envvault run -- node server.js

# Export secrets to .env, JSON, or GitHub Actions CI/CD format
envvault export --format=env
envvault export --format=json
envvault export --format=github-actions

🛡️ Security Audit & Linters

EnvVault comes with a built-in security auditor to inspect your codebase for security vulnerabilities:

envvault audit

What it checks:

  • ✅ Validates .envvault is present and encrypted.
  • 🔍 Detects leftover plaintext files (.env, .env.local, .env.production).
  • 🚨 Alerts if unencrypted .env files are tracked in Git.

🛡️ Cryptographic Security Architecture

  1. AES-256-GCM Authenticated Encryption: Every vault payload is encrypted using Galois/Counter Mode (GCM), providing confidentiality and tamper-proof authentication.
  2. PBKDF2 Key Derivation: 100,000 iterations of SHA-512 derive a 256-bit cryptographic key from your master password and a 32-byte cryptographically secure random salt.
  3. Zero External Crypto Dependencies: Uses Node.js native node:crypto engine for maximum performance, security, and auditability.
  4. Git Protection: Automatically detects or creates .gitignore and appends .envvault to ensure secret vaults are handled safely.

🤖 CI/CD Integration

Set the ENVVAULT_PASSWORD environment variable in your GitHub Actions, GitLab CI, or Docker container to automate secret decryption in pipelines:

# GitHub Actions Example (.github/workflows/deploy.yml)
steps:
  - uses: actions/checkout@v4
  - uses: actions/setup-node@v4
    with:
      node-version: '20'
  
  - run: npm install -g envvault-cli
  - run: envvault run -- npm run build
    env:
      ENVVAULT_PASSWORD: ${{ secrets.ENVVAULT_MASTER_PASSWORD }}

💬 Community & Social Copy Reference

Sharing EnvVault on Twitter/X, LinkedIn, or Reddit? Check out our ready-to-post announcements in the project repository or tweet your feedback tag @Ayoola-tech2024!


📄 License

MIT © 2026 Ayoola Damisile