Hopefully I'm not bugging you, Samuel, BUT
I found a bit of an oversight in the email implementation of 2FA. When you first enable it, it should send an email to verify that the user still has access to that email & request a confirmation code. Otherwise, it can't be disabled.
Are you user it isn't? I put into place a flow that will run confirmation if that hasn't happened yet. If the email is already confirmed it doesn't do that.
But even if they have confirmed the email was verified, it doesn't take into account how long ago it was verified. A user could have lost access to that account since then.
For example, I must have verified my email 6 months ago. Once you toggle the 2FA switch there's no going back either. So woe to the person who signed up using 10minutemail.com (or forgot their password to their email or whatever)