XRAPH/Work/Secrets & flags
Go · since 2026

Vault

Secrets, feature flags and runtime config in one library. AES-256-GCM at rest with a new version archived on every write, flags with tenant, user, percentage-rollout and schedule targeting, and config entries that fire Watch callbacks when they change. Rotation runs in the background with a per-key callback.

Language
Go
Category
Secrets & flags
Since
2026
Stars
1
Repository Docs
01

Highlights

3 claims
H.01
Versioned
Versioned and audited

AES-256-GCM with a generated nonce per write, every version kept, and a full audit trail behind each read.

H.02
Scheduled
Rotation with your rotator

A policy per secret and a custom rotator function, so the lifecycle is the manager’s job.

H.03
Eightinterfaces
Plugin capabilities

The registry discovers what a plugin implements by type switch, so a plugin declares capability by satisfying it.

02

What it does

6 entries

Secrets, flags and runtime configuration in one place, which is convenient and blurs a boundary worth watching.

02.1
Secrets

Encrypted and versioned

AES-256-GCM with a nonce generated per write and every version retained. Reads are audited, so there is no quiet path to a value.

AES-256-GCM
02.2
Flags

Evaluated per tenant

Targeting rules, tenant overrides, percentage rollouts and schedule-based activation, all type-safe at the call site.

Typed
02.3
Config

Values that change without a deploy

Duration and JSON types with a watch API, and an override chain that resolves sources in a declared order with per-tenant overrides on top.

Watchable
02.4
Rotation

Scheduled, with your rotator

A policy per secret and a custom rotator function, so rotation is something the manager performs on a schedule.

Policy-driven
02.5
Tenancy

Scoped at the store

Every operation carries tenant and app on the context, which makes cross-tenant access impossible at the store layer.

Context-scoped
02.6
Plugins

Eight capability interfaces

The registry works out what a plugin can do with a type switch, so implementing an interface is the whole registration step.

Discovered
03

Anatomy

3 modules
01

Secrets

Versioned, access-controlled, never logged.

02

Feature flags

Evaluated per tenant with a declared default.

03

Runtime config

Values that change without a deploy.

04

Why it exists

Design notes

#What it is

Vault unifies three things that are usually three libraries: encrypted secrets, rule-based feature flags, and hot-reloadable runtime configuration. It is a library: you bring the database and the encryption key, and you control the process lifecycle.

#Secrets

AES-256-GCM at rest with transparent decryption on read. Every Set archives the previous value, so any historical version is fetchable by number. The key provider reads from the environment with hex or base64 auto-detection, and secrets carry optional metadata including expiry.

#Feature flags

Five value types (bool, string, int, float, JSON) and six targeting rules: by tenant, by tenant tag, by user, deterministic percentage rollout, a time-window schedule, and a custom rule evaluated by a plugin. Rules evaluate in priority order with per-tenant overrides, behind an LRU cache with a 30-second default TTL. Typed accessors return a default rather than an error, because a flag lookup failing should not take down a request path.

#Runtime configuration

Typed entries with duration parsing, per-tenant overrides resolved ahead of the app-level value, version tracking, and Watch callbacks fired on mutation. Sources compose: memory, environment, database, or a priority chain across all three.

#Cross-cutting

Tenant isolation propagates through context.Context, so a cross-tenant read is structurally impossible rather than merely filtered. Secret rotation runs as a background manager with per-key rotator callbacks, automatic versioning and record-keeping. Every action lands in an append-only audit trail with full scope context, optionally forwarded to an external system.

05

Signals

GitHub
Stars
1
Language
Go
Since
2026
Adopters
00

Shipping something on Vault? Nobody is listed here yet. Tell me what you built and you will be the first.

Get listed