Skip to main content
SharedEnv
  • How it works
  • Server side
  • Terminal
  • Access
  • Pricing
Sign inGet started

Your team's secrets, encrypted before they leave your machine.

sharedenv brings your team's environment variables, API keys and passwords into one place. Everything is end-to-end encrypted: our servers never see a secret in plaintext.

Download onChrome Web StoreGet started
$npm i @sharedenv/cli
View on npm
api-prodProduction
MBLDKT
SecretsAccessAudit log
STRIPE_SECRET_KEY7fa2e19c d4b1 0e3a 91c7 5b28sk_live_51Hx...demo
DATABASE_URLb30ef177 ac2e 4d90 17f6 c2a1postgres://app:demo@db:5432/app
JWT_SIGNING_KEY9ac45de8 10f3 7be2 06d4 e9a0d3m0-6f1c-signing-key
OPENAI_API_KEYe26b3fa9 c170 58de a4b3 0f61sk-proj-demo...x9Qa
Demo data
What the server stores
7fa2e19c d4b1 0e3a 91c7 5b28Unreadable without your private key
AES-256-GCMEncryption of every secret
secp256k1Key exchange between members
scryptPassword derivation
0Plaintext secrets on our servers

The life of a secret

One day in the life of a Stripe key. Every step leaves a line in the audit log, none shows it to the server in plaintext.

Time / actorEventWhat the server holdsState
  1. 09:41:02You, in the browser

    Sealed on your machine

    The browser draws a key for the vault and encrypts the value with AES-256-GCM. Your private key stays in memory, never on disk.

    What the server holdsNothing yet.
    Sealed
  2. 09:41:03sharedenv server

    Stored, unreadable

    The server receives an encrypted blob and the vault key sealed to your public key. It knows who may access it, not what is inside.

    What the server holdsAn encrypted blob, your public key.
    Stored
  3. 10:12:47You, to Lea

    Shared with Lea

    The vault key is resealed to Lea's public key (ECDH secp256k1) and signed. Lea opens it with her own private key, and any tampering shows when she does.

    What the server holdsOne more envelope, sealed for Lea.
    Shared
  4. 14:03:19Lea's CLI

    Read by the CLI

    The CLI decrypts in memory and injects the variables into the process. Nothing is written to disk.

    sharedenv run -v api-prod -- npm start
    What the server holdsAn audit line: read by Lea.
    Read
  5. 18:30:00Vault admin

    Tom revoked, vault resealed

    Removing a member rotates the vault key: secrets are re-encrypted and the new key resealed to the remaining members. Tom's old envelope opens nothing.

    What the server holdsVault key v2. Tom's envelope, useless.
    Revoked, resealed

Illustrative example: Lea, Tom and the times are fictional.

Two copies of the same vault

On the left, everything our servers keep of your vault. On the right, what you see once it is unlocked. Nothing crosses from right to left.

On our side0042-7781
STRIPE_SECRET_KEY7fa2e19c d4b1 0e3a 91c7 5b28
DATABASE_URLb30ef177 ac2e 4d90 17f6 c2a1
JWT_SIGNING_KEY9ac45de8 10f3 7be2 06d4 e9a0
Public key02a1 9f3c 5be0 71d2 ...
Private keyNever received. Only a copy encrypted under your password.
PasswordNever received. Only a verifier derived from it.
On your side0042-7781
STRIPE_SECRET_KEYsk_live_51Hx...demo
DATABASE_URLpostgres://app:demo@db:5432/app
JWT_SIGNING_KEYd3m0-6f1c-signing-key
Private keyIn memory for the session, never on disk.
PasswordUnlocks your private key (scrypt).
Recovery codeShown once. Without it, a forgotten password loses your personal vaults.

AES-256-GCM encryption, sharing through signed ECDH secp256k1, password derived with scrypt. Standard primitives, nothing home-made.

What goes in a vault

Everything that should never end up in a chat message or a git repo. One vault per project or environment, the same encryption for all of it.

A key in environment variable format, a free-form value. The associated URL and username are encrypted too.

Inside a vault4

Environment variables

Your dev, staging or prod .env, pulled or injected by the CLI.

DATABASE_URL

Passwords

The team's shared logins, filled into the page by the Chrome extension.

ADMIN_PASSWORD

API keys and tokens

Stripe, AWS, OpenAI: one key per line, readable only by the vault's members.

STRIPE_SECRET_KEY

Certificates and SSH keys

A private key or a PEM certificate fits in one value, encrypted like the rest.

DEPLOY_SSH_KEY

In your terminal

The CLI runs the same crypto as the browser. Your password and private key never leave the process, only a session cookie touches the disk.

sharedenv login

Opens a session. The password stays in the process.

sharedenv run -v api-prod -- npm start

Runs your command with the vault's secrets in its environment, decrypted in memory.

sharedenv pull -v api-prod --out .env

Prints the secrets as dotenv, to the console or to a file in 0600 mode.

sharedenv fingerprint

Shows your public key fingerprint, to read to a teammate before sharing.

TerminalDemo
$sharedenv login
Session open, private key in memory
$sharedenv run -v api-prod -- npm start
12 variables injected, nothing written to disk
$sharedenv pull -v api-prod --out .env
12 secrets written to .env (mode 0600)
$sharedenv fingerprint
02a1 9f3c 5be0 71d2 8c44 e019 3a7b d5f2

Who can open what

Three levels per vault, plus the owner. The server enforces access without ever needing to read a secret.

LevelRead and copyAdd, edit, deleteMembers and rotationAudit logDelete the vault
ReaderFor a teammate's CLIRead and copyAdd, edit, deleteMembers and rotationAudit logDelete the vault
WriterFor whoever changes the configRead and copyAdd, edit, deleteMembers and rotationAudit logDelete the vault
AdminFor whoever manages accessRead and copyAdd, edit, deleteMembers and rotationAudit logDelete the vault
OwnerWhoever created the vaultRead and copyAdd, edit, deleteMembers and rotationAudit logDelete the vault

Teams

Invite by email, a lead provisions the team key, then share a vault with the whole team at once.

Two-factor authentication

An authenticator app or an email code, with backup codes.

Recovery kit

A one-time code shown when your vault is created. It is what gives you access back after a forgotten password.

Simple pricing

Free to start, no credit card. Then you pay per person.

Free

For personal use and trying things out.

€0 / forever
  • 3 safes
  • 25 secrets per safe
  • 3 people in all

Pro

For developers and small teams.

€6 / person / month
  • Unlimited safes
  • Unlimited secrets
  • €5 a month, billed yearly

Team

For organizations that share at scale.

€12 / person / month
  • Everything in Pro
  • Your organization's sharing rules
  • €10 a month, billed yearly

Prices include VAT. Cancel anytime from your billing area. By subscribing, you accept the terms of sale.

Your first secret has no business in Slack.

Create my first vault
sharedenv

The zero-knowledge secrets vault for tech teams. Encrypted on your machine, unreadable on our servers.

Product

  • How it works
  • What goes in a vault
  • Terminal
  • Pricing
  • Dashboard

Security

  • What the server sees
  • Chain of custody
  • Access levels

Support

  • Report a bug
  • Report abuse

Contact

hello@sharedenv.com
© 2026 sharedenv. Designed by Async Code.
Legal noticePrivacyTerms of UseTerms of Sale