gitwtfhub

wtf is envapor?

automazeio/envapor — explained in plain English

Analysis updated 2026-05-18

29GoAudience · developerComplexity · 3/5LicenseSetup · easy

TL;DR

A command line tool that transparently encrypts secrets inside .env files so they can be safely committed to Git, decrypting them automatically on checkout.

Mindmap

mindmap
  root((envapor))
    What it does
      Encrypts env values
      Decrypts on checkout
      No workflow change
    Tech stack
      Go
      Git filters
      AES-256-GCM
    Use cases
      Commit secrets safely
      Team shared config
      CI and server setup
    Audience
      Developers
      Small teams
    Setup
      Single binary install
      Shared team key
      One-time init command

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Commit .env files with secrets straight into Git without exposing plaintext values.

REASON 2

Share a single encrypted config file across a team using one shared key.

REASON 3

Automatically decrypt secrets during CI or server provisioning using the same setup command.

REASON 4

Mark specific values as intentionally public while keeping the rest encrypted by default.

What's in the stack?

GoGitAES-256-GCM

How it stacks up

automazeio/envaporkelseyhightower/confidencedevelopersdigest/aws-ec2-cuda-ollama
Stars292930
LanguageGoGoGo
Last pushed2016-01-162024-08-03
MaintenanceDormantStale
Setup difficultyeasyeasyhard
Complexity3/52/54/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Uses a shared symmetric key across the whole team, so anyone with the key can decrypt every stored secret.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license terms.

Wtf does this do

envapor is a command line tool that lets you commit your .env files, the plain text files where developers usually keep secrets like database passwords and API keys, directly into Git without exposing those secrets. It works by encrypting each value the moment you commit and decrypting it automatically the moment you check the code back out, so your actual working file on disk always looks normal, while only scrambled text ever gets stored inside Git itself. The key idea is that your day to day workflow does not change at all. You still run git add, commit, push, and pull the same way you always have. There is no separate encrypted copy of the file to keep synced, and variable names stay readable in the committed version, so the file still works as its own list of what settings exist, without needing a separate example file. If you want a specific value to stay readable in Git on purpose, you mark it with a PUBLIC comment next to it, and anything not marked that way is encrypted by default rather than left exposed by mistake. Under the hood, envapor relies on Git's own clean and smudge filters, hooks Git already supports for transforming files going in and out of storage, plus a pre-commit check that blocks a commit if a secret would otherwise reach Git unencrypted. Each value is encrypted on its own with AES-256-GCM, tied to both a shared team key and the specific variable name, so a scrambled value cannot accidentally apply to the wrong variable if copied elsewhere. Because the encryption is deterministic, the same value always produces the same scrambled result, so diffs and merges still look clean. To use it, you generate a shared key once for your team, then run a setup command in each repository that maps it to that key. Teammates who clone the repository run the same setup command and Git decrypts the file automatically. It installs as a single binary with no extra dependencies on macOS, Linux, and Windows, and is meant for trusted teams who all hold the same key, not for giving different people access to different individual secrets. The project is released under the Apache 2.0 license.

Yoink these prompts

Prompt 1
Help me set up envapor in my repository and generate a shared team key.
Prompt 2
Explain how envapor's clean and smudge filters keep my .env file readable locally but encrypted in Git.
Prompt 3
Show me how to mark a value as PUBLIC so it stays readable in the committed file.
Prompt 4
Walk me through migrating my repository from one envapor key to another.
Prompt 5
Explain the security trade-offs of envapor's shared key model before I adopt it for my team.

Frequently asked questions

wtf is envapor?

A command line tool that transparently encrypts secrets inside .env files so they can be safely committed to Git, decrypting them automatically on checkout.

What language is envapor written in?

Mainly Go. The stack also includes Go, Git, AES-256-GCM.

What license does envapor use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice and license terms.

How hard is envapor to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is envapor for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.