Metadata-Version: 2.4
Name: nexvault
Version: 1.4.0
Summary: An encrypted environment variable manager for developers.
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: argon2-cffi>=25.1.0
Requires-Dist: cryptography>=48.0.1
Requires-Dist: pyperclip>=1.11.0
Requires-Dist: rich>=15.0.0
Requires-Dist: typer>=0.26.7
Dynamic: license-file

# NexVault

NexVault is a secure command-line tool for storing, managing, importing, exporting, and injecting environment variables using password-based encryption.

Instead of storing secrets in plaintext `.env` files, NexVault keeps them inside an encrypted vault protected by your password. Export them only when needed or inject them directly into your application at runtime.

## Features

* Password-protected encrypted vault
* Securely store and retrieve environment variables
* Store multiple key-value pairs in a single command
* List all stored keys
* Run applications with injected environment variables
* Export secrets to a `.env` file
* Import existing `.env` files into the vault
* Export and import portable `.nexvault` backup files
* Copy secret values or `.env` content directly to the clipboard
* Built with modern cryptography

## Installation

```bash
pip install nexvault
```

## Quick Start

### Initialize a vault

```bash
nexvault init
```

### Check files for hardcoded secrets

```bash
nexvault check
```

### Store a secret

```bash
nexvault set API_KEY your-secret
```

### Store multiple secrets

```bash
nexvault setmul \
  API_KEY=your-secret \
  DATABASE_URL=postgres://localhost/db \
  DEBUG=true
```

### Retrieve a secret

```bash
nexvault get API_KEY
```

### Copy a secret to the clipboard

```bash
nexvault get API_KEY --copy
```

### Remove a key

```bash
nexvault remove API_KEY 
```

### Remove multiple key

```bash
nexvault removemul API_KEY API_KEY_2 API_KEY_3
```

### List all stored keys

```bash
nexvault list
```

### Run an application with injected environment variables

```bash
nexvault run python main.py
```

You can run any executable or command through NexVault, and all stored environment variables will be securely injected into the child process.

Examples:

```bash
nexvault run node app.js
```

```bash
nexvault run npm start
```

```bash
nexvault run cargo run
```

### Export to a `.env` file

```bash
nexvault toenv
```

### Copy `.env` content to the clipboard

```bash
nexvault toenv --copy
```

### Import an existing `.env` file

```bash
nexvault fromenv
```

### Export the encrypted vault

```bash
nexvault export
```

This creates a portable `.nexvault` backup that can be shared or archived.

### Import a `.nexvault` backup

```bash
nexvault importfile backup.nexvault
```

## Security

NexVault derives encryption keys from your password and uses authenticated encryption to protect all stored secrets.

Environment variables remain encrypted at rest and are only decrypted when explicitly requested or temporarily injected into a child process with the `run` command.

## License

Licensed under the Apache License 2.0.
