BillTracker/client
null 1457de487f feat(security): show a key fingerprint (not the key) in the encryption status
The encryption key must never be retrievable through the app (that would undo
the whole point of TOKEN_ENCRYPTION_KEY — a stolen session/XSS could then read
the master key). Instead surface a non-reversible fingerprint so operators can:
- verify which key is currently active,
- confirm a running instance matches the key they backed up, and
- spot an accidental key change (which would make existing secrets unrecoverable).

- encryptionService.keyFingerprint(): domain-separated SHA-256 prefix of the
  active key (env if set, else the stored DB key); never force-creates a key
  (returns null when none exists), shares nothing with the cipher derivation.
- admin bank-sync-config exposes key_fingerprint alongside encryption_key_source.
- Admin Bank Sync card renders it with backup guidance.
- Test: stable per key, differs by key, not reversible / not the raw key.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-05 19:15:32 -05:00
..
components feat(security): show a key fingerprint (not the key) in the encryption status 2026-07-05 19:15:32 -05:00
contexts refactor(brand): wire brand + new primitives through layout chrome 2026-07-05 17:18:31 -05:00
hooks refactor(tracker): move settings/simplefin onto React Query + defer search (plan B) 2026-07-05 14:43:13 -05:00
lib feat(brand): BrandMark/Wordmark/Lockup consume the new SVGs 2026-07-05 17:50:04 -05:00
pages fix(payoff): correctness, data-integrity & clarity of the payoff simulator 2026-07-05 18:09:12 -05:00
public feat(brand): SVG lockups + mark + social preview assets 2026-07-05 17:49:55 -05:00
App.tsx refactor(brand): adopt new primitives in pages 2026-07-05 17:18:56 -05:00
api.ts refactor: remove verified dead code — orphan file, dead HOC, unused api wrappers 2026-07-05 17:21:31 -05:00
index.css refactor(brand): wire brand + new primitives through layout chrome 2026-07-05 17:18:31 -05:00
main.tsx feat(settings): theme "System" + reduce-motion (plan Tier 1) 2026-07-05 15:50:37 -05:00
types.ts refactor(ts): move User to @/types + type auth endpoints; add code to 500 (Track C/D) 2026-07-05 12:26:11 -05:00