This roadmap documents planned and completed features for this project.
The format is based on and generated by Structured Roadmap, which provides a machine-readable JSON intermediate representation with deterministic Markdown generation.
Overview ↑ Top
OmniVault is a unified Go library for secret management. This roadmap covers the evolution from a library to a complete local secret management solution with daemon and CLI.
Core Library ↑ Top
Version: v0.1.0
Version: v0.1.0
Providers ↑ Top
Version: v0.1.0
Version: v0.1.0
Version: v0.1.0
Version: v0.1.0
Security ↑ Top
internal/store/crypto.go
Version: v0.2.0
internal/store/encrypted.go
Version: v0.2.0
Version: v0.2.0
Version: v0.2.0
Daemon ↑ Top
internal/daemon/server.go
Version: v0.2.0
internal/daemon/protocol.go
Version: v0.2.0
Version: v0.2.0
internal/config/paths.go
Version: v0.2.0
CLI ↑ Top
cmd/omnivault/main.go
Version: v0.2.0
cmd/omnivault/daemon.go
Version: v0.2.0
cmd/omnivault/secrets.go
Version: v0.2.0
cmd/omnivault/init.go
Version: v0.2.0
Client ↑ Top
internal/client/client.go
Version: v0.2.0
UI ↑ Top
VaultView.swift
VaultDaemonClient.swift
VaultModels.swift
VaultManager.swift
Daemon API ↑ Top
| Endpoint | Method | Description |
|---|---|---|
/status |
GET | Daemon status (running, locked, secret count) |
/secrets |
GET | List all secrets (metadata only) |
/secret/:path |
GET | Get secret value |
/secret/:path |
PUT | Set secret |
/secret/:path |
DELETE | Delete secret |
/lock |
POST | Lock the vault |
/unlock |
POST | Unlock with master password |
Socket Path ↑ Top
| Platform | Path |
|---|---|
| macOS/Linux | ~/.omnivault/omnivaultd.sock |
| Windows | \\.\pipe\omnivault |
CLI Commands ↑ Top
# Vault initialization
omnivault init # Initialize new vault with master password
# Secret operations
omnivault set <path> [value] # Set secret (prompts if no value)
omnivault get <path> # Get secret value
omnivault list [prefix] # List secrets
omnivault delete <path> # Delete secret
# Vault control
omnivault lock # Lock the vault
omnivault unlock # Unlock with master password
omnivault status # Show vault status
# Daemon control
omnivault daemon start # Start daemon
omnivault daemon stop # Stop daemon
omnivault daemon status # Daemon statusSecurity Model ↑ Top
- Algorithm: AES-256-GCM (authenticated encryption)
- Key Derivation: Argon2id (memory-hard, resistant to GPU attacks)
- Salt: Random 32 bytes per vault
- Nonce: Random 12 bytes per secret
- Never stored, only used to derive encryption key
- Minimum 8 characters enforced
- Session-based unlock with configurable timeout
- Encrypted vault file:
~/.omnivault/vault.enc - Metadata stored separately:
~/.omnivault/vault.meta - No plaintext secrets on disk
Data Format ↑ Top
~/.omnivault/
├── vault.enc # Encrypted secrets (AES-256-GCM)
├── vault.meta # Unencrypted metadata (salt, created date)
├── omnivaultd.sock # Unix socket (runtime)
└── omnivaultd.pid # Daemon PID file (runtime)
{
"version": 1,
"created_at": "2024-01-01T00:00:00Z",
"salt": "base64-encoded-salt",
"argon2_params": {
"time": 3,
"memory": 65536,
"threads": 4
}
}Version History ↑ Top
| Version | Date | Status | Summary |
|---|---|---|---|
| v0.2.0 | 2026-01-10 | ✅ | CLI, daemon, encrypted store |
| v0.1.0 | 2025-01-01 | ✅ | Core library with providers |