From your home website, it looks like you are relying on users deciding if they should authorize a request based on OS, web browser, ip address, and location.<p>Users are going to essentially ignore ip address. OS, web browser, and location are easy to spoof. If a half competent attacker makes a request, how is the user to know if they should authorize a request.<p>I understand that using OTP codes can be annoying to some users, but it is MUCH harder for a user to hand that code over to someone in order to login.