# encryptd > Encryptd encrypts and decrypts .env files using AES-256-GCM via a Rust native addon (napi-rs). Works as both a library and a CLI. ## Docs - [How encryptd Encrypts and Decrypts .env Files Securely](https://encryptd.mintlify.app/concepts/how-it-works.md): A technical walkthrough of how encryptd uses AES-256-GCM, PBKDF2 key derivation, and a Rust native addon to encrypt and decrypt .env files. - [encryptd Platform Support: Prebuilt Binaries by OS](https://encryptd.mintlify.app/concepts/platform-support.md): encryptd ships prebuilt Rust native binaries for macOS ARM64/x64, Linux x64, and Windows x64. No Rust toolchain required for end users. - [encryptd Security Model: Encryption, Integrity, PBKDF2](https://encryptd.mintlify.app/concepts/security-model.md): encryptd's cryptographic guarantees: AES-256-GCM encryption, PBKDF2-HMAC-SHA256 key derivation, tamper detection, and passphrase best practices. - [encryptd FAQ: Passphrases, Platforms, and Configuration](https://encryptd.mintlify.app/help/faq.md): Answers to common questions about encryptd: passphrase security, committing encrypted files, multiple environments, runtime loading, and more. - [Troubleshooting encryptd Errors, Platforms, and Fixes](https://encryptd.mintlify.app/help/troubleshooting.md): Diagnose and fix encryptd errors: missing passphrase, wrong file path, failed decryption, corrupted files, and native binary load failures. - [Install @vernonthedev/encryptd from GitHub Packages](https://encryptd.mintlify.app/installation.md): Set up your .npmrc for the GitHub Packages registry, install encryptd with npm, yarn, or pnpm, and verify the CLI is ready, Node.js 18+ required. - [Protect Your Node.js Secrets with encryptd AES-256-GCM](https://encryptd.mintlify.app/introduction.md): encryptd encrypts your .env files into a safe-to-commit .env.enc using AES-256-GCM backed by a Rust native addon usable as a CLI or Node.js library. - [Encrypt and Load Your .env File Securely at Runtime](https://encryptd.mintlify.app/quickstart.md): Go from a plaintext .env to a securely encrypted .env.enc committed to git then decrypt it automatically at runtime using encryptd's config() function. - [encryptd API Reference: config, encryptEnv, decryptEnv](https://encryptd.mintlify.app/reference/api.md): Complete reference for @vernonthedev/encryptd exports: config(), encryptEnv(), and decryptEnv(). Covers parameters, return types, and error handling. - [encryptd Changelog: Release History and Version Notes](https://encryptd.mintlify.app/reference/changelog.md): Release notes for @vernonthedev/encryptd. Covers version history, features shipped, and breaking changes from the initial beta release onward. - [secure-env CLI Reference: encrypt and decrypt Commands](https://encryptd.mintlify.app/reference/cli-reference.md): Full reference for the secure-env CLI: encrypt and decrypt subcommands, argument defaults, environment variables, exit codes, and usage without npx. - [EnvPayload Encrypted File Type Reference for encryptd](https://encryptd.mintlify.app/reference/env-payload.md): Reference for the EnvPayload TypeScript type used by encryptd. Covers all five fields, hex sizes, and how the type flows through the API and CLI. - [Encrypting and Decrypting .env Files with the secure-env CLI](https://encryptd.mintlify.app/usage/cli.md): Learn how to use the secure-env binary to encrypt plaintext .env files and decrypt .env.enc files from the command line with AES-256-GCM. - [encryptd Configuration: Path, Passphrase, and Environments](https://encryptd.mintlify.app/usage/configuration.md): Set up encryptd ConfigOptions: path, passphrase, and override. Securely provide ENV_PASSPHRASE across environments and manage multiple encrypted env files. - [encryptd JavaScript API: config, encryptEnv, and decryptEnv](https://encryptd.mintlify.app/usage/library.md): Learn how to use config(), encryptEnv(), and decryptEnv() from @vernonthedev/encryptd to load and manage encrypted .env files in Node.js.