An open API service indexing awesome lists of open source software.

https://github.com/danpasecinic/zault

A secure credential manager written in Zig. Passwords, TOTP, and Passkeys.
https://github.com/danpasecinic/zault

credential-manager passkeys passwords totp zig

Last synced: 2 months ago
JSON representation

A secure credential manager written in Zig. Passwords, TOTP, and Passkeys.

Awesome Lists containing this project

README

          

# zault

A command-line credential manager written in Zig.

## Installation

```bash
zig build -Doptimize=ReleaseSafe
```

Binary will be at `zig-out/bin/zault`. Requires Zig 0.15+.

## Usage

```bash
# Create a vault
zault init

# Add credentials
zault add github.com -u myuser

# Retrieve (copies to clipboard)
zault get github.com

# List all items
zault list

# TOTP
zault totp add github.com
zault totp github.com

# Generate password
zault generate
```

## Commands

| Command | Description |
|---------|-------------|
| `init` | Create a new vault |
| `add ` | Add a credential |
| `get ` | Retrieve and copy to clipboard |
| `list` | List all items |
| `delete ` | Remove an item |
| `generate` | Generate a password |
| `totp add ` | Add TOTP secret |
| `totp ` | Get TOTP code |
| `totp list` | List items with TOTP |
| `passkey list` | List passkeys |
| `passkey show ` | Show passkey details |
| `unlock` | Unlock vault (start agent) |
| `lock` | Lock vault (stop agent) |

## Security

- **Key Derivation:** Argon2id
- **Encryption:** XChaCha20-Poly1305
- **TOTP:** HMAC-SHA1/SHA256/SHA512

Sensitive data uses locked memory (`mlock`) and is zeroed before deallocation.

Vault stored at `~/.local/share/zault/vault.zault`.

## Development

```bash
zig build # build
zig build test # run tests
```

## License

MIT