whatisgithub

What is envapor?

automazeio/envapor — explained in plain English

Analysis updated 2026-05-18

29GoAudience · developerComplexity · 3/5LicenseSetup · easy

In one sentence

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

USE CASE 4

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

What is it built with?

GoGitAES-256-GCM

How does it compare?

automazeio/envaporhelmorx/helmoragentkelseyhightower/confidence
Stars292929
LanguageGoGoGo
Last pushed2016-01-16
MaintenanceDormant
Setup difficultyeasymoderateeasy
Complexity3/53/52/5
Audiencedeveloperdeveloperdeveloper

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

How do you get it running?

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.

So what is it?

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.

Copy-paste 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

What 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.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.