feat(desktop): replace keychain storage with encrypted file storage
Merged
SA
1y ago+127+127+012345678901234567890123456789-16-16-01234567890123456789
Summary
- Replace Electron's
safeStorageAPI with custom AES-256-GCM encryption - Eliminates macOS Keychain permission prompts that were confusing users
- Uses machine-derived keys (hardware UUID on macOS, machine-id on Linux, MachineGuid on Windows)
Test plan
- Verify login flow works without Keychain prompt on macOS
- Verify tokens persist across app restarts
- Verify tokens are encrypted in
~/.superset/auth-session.enc
🤖 Generated with Claude Code
Summary by CodeRabbit
- New Features
- Stronger, machine-bound encryption for locally stored authentication tokens for improved security and portability across platforms.
- Behavior Changes
- Token storage now always encrypts session data on disk rather than relying on platform keychains; loading relies on the encrypted file being readable and decryptable.
✏️ Tip: You can customize this high-level summary in your review settings.