Chris Collins

Project

Vaultrix (securevault)

A secrets-management server in Go with encrypted storage, path-based policies, versioned secrets, audit logging, leader-follower replication, and client libraries for Go, Java, Python, and Rust.

Started 2 May 2025 · updated 20 April 2026 · repository

Software engineering

Vaultrix is a secrets manager I built to understand the moving parts of systems like HashiCorp Vault: sealing, encryption at rest, policy, versioning, audit, and replication.

What it does

  • Seal and unseal — the master key is split with Shamir’s Secret Sharing, and the vault starts sealed after every restart.

  • Encryption at rest — AES-256-GCM for secrets, metadata, and tokens.

  • Policy-based access control — path rules with read, create, update, delete, and list capabilities, composable into multi-policy tokens.

  • Versioned secrets — every write is a new version; any version can be read back.

  • Audit logging of every operation, leader-follower replication (write to the leader, read from any node), a token-bucket rate limiter, and a built-in web UI.

  • Client libraries for Go, Java, Python, and Rust.

How it is built

A Go server with a REST API in front of token authentication, a policy engine, a secret manager, and an encrypted file storage backend; a seal manager supplies the encryption key. Docker, a three-node compose cluster, and Kubernetes manifests are included.

Try it

go build -o bin/securevault ./cmd/server
./bin/securevault -config configs/dev-config.yaml

Updates

No updates yet.