Skip to content

Why KeyRack

KeyRack is an open-source key management service (KMS) that runs in your infrastructure, on your terms.

Every major cloud provider ships a KMS. They work well — until they don’t.

Cloud KMS ties encryption keys to the provider’s platform. Migrating means re-encrypting every piece of data with new keys — often the single biggest blocker to cloud migration.

Cloud providers manage the HSMs. “Customer-managed keys” still mean the provider’s HSM, firmware, and physical security.

You receive audit logs but cannot independently verify their integrity. There is no cryptographic proof that the log was not modified after the fact.

When a tenant needs to cut off platform access, there is no guaranteed mechanism for immediate key revocation. The gap between “revoke” and “actually unusable” is provider-controlled.

Each cloud KMS has its own API. Multi-cloud architectures end up with per-provider encryption code, key management, and audit trails.

KeyRack handles key lifecycle management and cryptographic operations without giving a third party access to your keys. It is software you operate — the security boundary is yours to define.

KeyRack separates key management logic from cryptographic operations. Supported backends today:

  • PKCS#11 — FIPS 140-3 certified HSMs (Thales Luna, Entrust nShield, YubiHSM, AWS CloudHSM, SoftHSM for development)
  • KMIP client — remote key servers and HSMs speaking the OASIS standard
  • Vault Transit — HashiCorp Vault-backed operations
  • Software — in-process RustCrypto for development and testing

Switch providers without changing application code. Your key hierarchy, policies, and audit trail remain intact.

Tenants provision their own HSM or KMIP-compatible crypto backend. KeyRack manages the key hierarchy on top. In custody/managed mode (e.g. MongoDB KMIP default), key material never leaves the tenant’s HSM; in sovereign/keystore mode (e.g. MySQL, Percona), an exportable key is served and the value prop is governance, not “keys never leave.” Disconnect the HSM and crypto operations fail immediately; cross-node staleness in the commercial HA tier is bounded by a configurable TTL.

Every operation emits an audit event with BLAKE3 hash-chain linking and full operation metadata (Ed25519 signing is opt-in; ephemeral key by default unless a persistent signing key path is configured). The chain provides strong interior tamper-evidence — any modification or interior deletion of events is detectable. Tail-truncation detection requires an external anchor such as a signed checkpoint or independent witness. Events are delivered via NATS for real-time consumption.

Existing AWS SDK or OpenStack clients can talk to KeyRack unchanged via the commercial AWS KMS and Barbican shims — see Commercial extensions. For a FOSS-first step that keeps crypto on AWS, the keyrack-aws-proxy adds visibility with zero code changes (Brownfield migration).

  • Regulated industries — DORA, NIS2, HIPAA, PCI-DSS, or national data sovereignty requirements
  • Multi-cloud platforms — single KMS interface across AWS, Azure, GCP, or private cloud
  • SaaS providers — HYOK model for enterprise customers who hold their own keys
  • OpenStack operators — real tenant key isolation with cascade-disable and PDP authorization
FeatureCloud KMSKeyRack
Key sovereigntyProvider-controlled HSMCustomer-controlled (PKCS#11/KMIP)
Audit verifiabilityProvider-generated logsBLAKE3 hash chain (Ed25519 signing opt-in); strong interior integrity; truncation needs external anchor
Instant revocationProvider-dependentHSM disconnect is immediate; cross-node staleness bounded by configurable TTL (commercial HA)
Multi-cloud portableNoYes (single KMS)
HYOKLimitedFull: tenant-managed HSM
AuthorizationIAM (provider-specific)Cedar policy-as-code
Open sourceNoCore is AGPL-3.0-or-later