https://github.com/cyrof/govault
A simple password manager built using golang.
https://github.com/cyrof/govault
Last synced: 10 months ago
JSON representation
A simple password manager built using golang.
- Host: GitHub
- URL: https://github.com/cyrof/govault
- Owner: Cyrof
- License: apache-2.0
- Created: 2025-07-19T15:02:26.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-08-11T16:09:04.000Z (10 months ago)
- Last Synced: 2025-08-11T17:30:05.487Z (10 months ago)
- Language: Go
- Size: 199 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# GoVault
A simple, secure CLI-based password vault written in Go.
GoVault stores and retrieves secrets locally using **AES-GCM** encryption and **Argon2id** key derivation
---
## Features
- Secure storage with AES-GCM and Argon2id
- Master password verification
- CLI interface for managing secrets
- Fuzzy search for easier key lookups
- Import/export of encrypted vault data
- Password generator (standalone or integrated into `add`)
- Encrypted local file storage
---
## Prerequisites
- [Go](https://go.dev) 1.20 or higher (if building from source)
---
## Installation
Download the latest binary from the [Releases](https://github.com/Cyrof/govault/releases) page for your OS.
Or build from source:
```bash
go build -o govault ./cmd/govault
```
---
## Usage
First-time run will:
- Prompt you to set a master password
- Generate a salt and hash for verification
- Create an encrypted vault file (`vault.enc`) and metadata file (`meta.json`)
### Command Overview
You can view all available commands and flags by running:
```bash
govault --help
```
To view details for a specific command:
```bash
govault --help
```
Example:
```bash
govault add --help
```
### Example Screenshot

---
## Directory Structure
```java
.
├── assets
├── cmd
│ └── govault
├── internal
│ ├── backup
│ ├── crypto
│ ├── fileIO
│ ├── generator
│ ├── logger
│ ├── model
│ └── vault
└── pkg
├── cli
└── cobraCLI
```
---
## Future Plans
- **Migrate to SQL database** for scalable storage
- Switch from whole vault encryption to per-row encryption
- **Tagging system** for secrets to enable filtered listing
- Potential future CLI enhancements
---
## License
This project is licensed under the [Apache 2.0](https://github.com/Cyrof/govault/blob/main/LICENSE).