Previously only TOTP-enabled triggered an email. Every other security-relevant change — password change, TOTP disable, passkey add/remove, API key create/revoke, email address change, backup-code regeneration — happened silently, so an attacker on a stolen session could quietly drop 2FA or hijack the email with no signal to the account holder. Add SecurityMailer with one method per event. Each email carries the request IP, user-agent, and timestamp so the user can spot unfamiliar activity. Email-address changes notify both the old and new addresses with directional language; the old-address copy explicitly warns that whoever made the change can now receive password reset emails. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
15 lines
461 B
Plaintext
15 lines
461 B
Plaintext
Hello,
|
|
|
|
<% if @recipient == @new_email %>
|
|
The email address on your Clinch account is now <%= @new_email %>.
|
|
It was previously <%= @old_email %>.
|
|
<% else %>
|
|
The email address on your Clinch account was changed away from this
|
|
address (<%= @old_email %>) to <%= @new_email %>.
|
|
|
|
If this was not you, contact your administrator immediately — whoever
|
|
made the change can now receive password reset emails for the account.
|
|
<% end %>
|
|
|
|
<%= render "event_metadata" %>
|