One field, one use, no standing secret.
Skarbiec is a local credential broker for the AI agent era. Values live only as per-recipient GPG ciphertext in one vault file; machine workloads borrow exactly one field, once, through a signed one-use capability.
What Skarbiec owns#
Skarbiec stores API keys, logins, sessions, tokens, and typed fields as per-recipient ciphertext in a single local JSON vault. It supports scoped grants, finite capabilities, field-bound acquisition, injection, sharing, TOTP, rotation, recovery, emergency access, breach checks, audit verification, a loopback API, CLI, MCP server, managed browser bridge, and self-hosted ciphertext sync.
The complete local broker works without a Wisent account, network licence check, item limit, or paid seat. Skarbiec is an early public 0.1.x product; operated fleet synchronization, retained organization audit, governance, and custodied recovery are separate planned services.
The defining path#
Long-lived environment variables and copied credential files give every process that can read them the whole secret for an indefinite period. Skarbiec replaces that with a five-step contract:
- Store — the owner writes a typed item; each value is encrypted to the item's recipient set, and the vault file never contains plaintext values.
- Register — the operator registers one exact acquire:item#field capability and an Ed25519 workload public key for each new consumer.
- Prove — the workload signs the consumer, item, field, workload id, timestamp, and nonce; stale proofs, capability mismatches, and replayed proof hashes are rejected.
- Borrow once — Skarbiec issues an opaque bearer with a default 30-second TTL; the first successful matching read deletes its stored hash before returning the field.
- Record — issuance and consumption append non-sensitive identifiers to a hash-chained local journal; values, signatures, and public keys are excluded.
Who it serves#
- Individual operators storing and using credentials on machines they control.
- Agent and service owners replacing standing read tokens with signed, one-use acquisition.
- Security and platform teams defining exact consumer, item, and field grants and reviewing a hash-chained local journal.
- Recovery custodians proving that an isolated recovery key can open a deterministic canary before an incident.
- Self-hosting teams synchronizing ciphertext while retaining their own host, keyring, network, backup, and upgrade responsibilities.