Keys off the box, and out of the restart path
Each regulated tenant gets its own transit mount, and each service in it gets its own key and AppRole. A stolen portal credential can't use the e-sign key or reach another tenant. A new tenant is one idempotent script.
App secrets are rendered from the vault to each host's env file at 0600 when I deploy or rotate, and the running app reads the file. So the vault sits in the deploy path, not the restart path. If it's sealed, sites keep running and restart from the last rendered file. Only deploys and rotations wait.
The regulated portals are the deliberate exception: their per-record keys need a live call, so a sealed vault pauses documents, e-sign and encrypted tax fields. Those fail closed while login and the rest of the app stay up.