You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Owner has no HQ_SECRET_KEY, so the D31 unlock-with-key path was impossible. crypto is now fully keyless: encrypt/decrypt ignore keyHex (params kept so a key can be wired back later); decrypt returns '' for any leftover legacy AES value (unreadable → treated as unset, never fed back as ciphertext). Key-based /admin/migrate-plaintext replaced by keyless /admin/clear-legacy-credentials (clearLegacyCiphertext) which NULLs unreadable pre-D31 values. .env.example marks HQ_SECRET_KEY removed. Ran the cleanup on live data: 76 SMS + 110 client DB passwords were unrecoverable and cleared (usernames intact) — must be re-populated in plaintext (APEX re-import / re-entry). Also fixes the one real defect the D31 adversarial review confirmed: maybeRefreshSmsDaily still had a 'keyHex==="" -> no-op' guard that would silently kill the DAILY auto-refresh once the key was gone (manual refresh masked it). Removed; the daily pull now runs keyless like the manual path. Full suite 416 green. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
3 days ago | |
|---|---|---|
| .. | ||
| superpowers | 3 days ago | |
| 06-DECISIONS.md | 3 days ago | |
| 07-DB-AND-CONFIG.md | 2 weeks ago | |
| 11-ADMIN-SUPPORT-CONSOLE.md | 5 days ago | |
| 14-SPEC-HQ-CONSOLE.md | 5 days ago | |
| 16-PROJECT-RULES.md | 2 weeks ago | |
| DEPLOY-HQ.md | 4 days ago | |