carlos / platform Public

Escrow instance .env files and platform box secrets, sealed to the deployment key Feature Request open

On branch design-carloku-durability

Instance keys and admin tokens (/data/<host>.env) exist only on their box: 295 on carloku's IE box, and the same on Tito. Losing a box loses anything sealed with an instance key, even though the database restores from S3. Platform-owned box secrets (/etc/carlos/relay-masters, release.env) are also box-only.

Proposal (design §5.4, docs/superpowers/specs/2026-10-23-durability-design.md on this branch): when <host>.env is minted or changed, seal it with appconfig.SealBound to the deployment's secrets public key, bound to account and app, and write it to instances/<host>/env.sealed. Box secrets go the same way to control/box-secrets/<box>/<name>.sealed. Bootstrap and the wake path restore them. Recovery needs CARLOS_SECRETS_KEY, which carloku holds in SSM and 1Password.

Also: carlos system host-env escrow only fits region-HA group boxes. Its required list includes the claim and HA switches, and it refuses credentials such as CARLOS_DNSIMPLE_TOKEN. Make it usable by any box, and send the refused credentials to sealed box secrets.

Interim: carloku-infrastructure scripts/backup-to-1password.sh snapshots these into 1Password. Tito: PRO-6187.