Sitemap
Raymon Epping

Raymon Epping

I write about AI, infrastructure automation, and the boundaries that make autonomy trustworthy. Ideas tested through hands-on work.

Member-only story

AirLock: The Hard Part of Vault Secret Migration

How I designed a controlled plaintext boundary for static secrets that genuinely have to move

13 min read1 day ago

--

Press enter or click to view image in full size
Graphite-pencil illustration of a narrow isolated AirLock chamber transferring non-regenerable static state between two independent Vault trust domains, with separate reader, writer, verifier and attestor authorities, transient protected material inside a disposable worker boundary, and an immutable value-free proof awaiting a final freshness check.

The application stays in the house.
Vault changes the locks, replaces the keys, and invalidates the old ones.
AirLock moves the valuables that cannot be regenerated.

I did not set out to build AirLock.

I was working on a different question: can a running application change the Vault it trusts without moving the application itself?

Goldie Locks, my lab for that question, moves a small CRUD application from a Vault Community (OSS) root namespace to the `app-production/` namespace of an independent Vault Enterprise cluster, and then back again. The application keeps running the whole time. Vault Enterprise is never stopped, sealed or retired, not even on the way back.

For most of the application’s trust, the migration was cleaner than I expected. Certificates could be reissued. Database credentials could be regenerated. Transit-protected records could be decrypted by one Vault and encrypted by the other. Policies, roles and engines could be recreated.

Then I reached static KV, and the model stopped being clean.

--

--