Maybe this is a dumb question but how do you send an email if you only have the hash of the recipient's address?
> For every transactional email I need to send out - registration, account recovery, and email change verification - the user always initiates this by submitting their email, and it will at that time be available to the backend to perform the needed action.
For ToS changes, it's often enough to display them to the user when they first log in after the change. That's how many mobiel apps handle it already.
The security notification thing could be an issue though. Doesn't seem to be necessary per the GDPA but it's probably a good idea to communicate security breaches.