SMTP server, port, user, password and from address are now Hub settings in the database instead of SMTP_* in .env. The password is encrypted with HUB_ENCRYPTION_KEY and never sent to the browser; a blank field keeps it. POST /api/admin/settings/smtp-test logs in with the form's values (saved or not) and sends a test email, returning the server's reason on failure; it is rate limited and audited. On first start an existing SMTP_* setup is copied into Settings once. The audit log no longer records the SMTP password. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ls1vMaqhrehXcHJe32jLL9