Store an AES-256-GCM encrypted copy of the user's server list on
each server they log into. When logging in from a new device the
list is automatically restored. No server-to-server communication.
- GET/PUT /api/auth/user-servers endpoints (auth.js)
- encrypted_servers column migration (database.js)
- Client-side encrypt/decrypt/merge in ServerManager (servers.js)
- Post-login sync trigger via E2E wrapping key (app-platform.js)
- Push on add/remove/password-change (app-ui.js)
- Developer integration guide (docs/server-list-sync.md)