Existing installation impact
Existing databases with users are migrated toACTIVE. Existing passwords,
users, roles, organizations, cases, API keys, and attachments are preserved. No
new administrator is seeded and the setup wizard is not shown.
Operator actions
-
Back up PostgreSQL, attachments,
.env, encryption material, and license state. - Test the upgrade with a sanitized copy of the client database.
- Add strong Redis, OpenSearch, and MinIO credentials if upgrading an older deployment.
-
Use the release’s
./casebender upgradecommand. It preserves an existingAUDIT_INTEGRITY_SECRETor creates one installation-specific value before preflight. If an older bundle must be remediated manually, set the value only when it is absent:Do not append a duplicate key. Store the value with the backup set and do not rotate it during routine upgrades. Audit entries created before this release remain marked as legacy, unchained records. Integrity verification reports their count separately; every entry created after the upgrade must belong to the HMAC chain. - Replace mutable image tags with the release’s pinned tags or digests.
- Publish only Nginx ports and install trusted TLS files.
- Run preflight and the post-deployment canary.
-
Review integration URLs. Private HTTPS destinations require an exact-host
CASEBENDER_PRIVATE_EGRESS_ALLOWLISTentry.
Compatibility controls
CASEBENDER_LEGACY_BOOTSTRAP remains disabled by default. It requires
ACCEPT_LEGACY_BOOTSTRAP_RISK=true, an approved owner and expiry, and must not
be enabled for a new production installation.
Release evidence
scripts/security/codex-findings-map.jsonmaps all 510 baseline fingerprints.pnpm security:policyenforces repository invariants.pnpm security:testruns tenant, TLP, SSRF, regex, and queue abuse cases.scripts/security/security-remediation-release.jsondefines staged promotion and rollback criteria.