Stop unauthorized access while speeding up logins for recognized users. Adapt authentication requirements in real-time based on device recognition and risk signals — require MFA only when it matters.
The Problem
Account takeover (ATO) is one of the most damaging forms of fraud. Attackers gain access to legitimate user accounts through stolen credentials, phishing, or credential stuffing — then drain funds, steal data, or make fraudulent purchases.
The challenge is twofold:
Attackers have valid credentials — Username and password checks pass
Legitimate users hate friction — Too much MFA drives customers away
Traditional approaches force a choice: either frustrate every user with constant verification, or leave accounts vulnerable to takeover.
Common Attack Vectors
Attack Type
Description
Scale
Credential Stuffing
Automated login attempts using leaked username/password pairs
Millions of attempts per day
Phishing
Tricking users into revealing credentials
Targeted attacks
Session Hijacking
Stealing active session tokens
Individual accounts
SIM Swapping
Taking over phone numbers to bypass SMS MFA
High-value targets
Brute Force
Guessing passwords through repeated attempts
Automated attacks
Password Spraying
Trying common passwords across many accounts
Enterprise targets
The Core Problem
Attacker has stolen credentials
Enters correct username + password
Traditional system says "Credentials valid" → Access granted
The credentials are correct. How do you know it's not the real user?
The Solution: Device-Based Recognition
Guardian Stack recognizes the device, not just the credentials. When the account owner logs in from their usual device, they sail through. When an attacker logs in with stolen credentials from a different device, additional verification is triggered.
How It Works
User enters login credentials
Guardian SDK silently collects device signals
Your backend fetches the Guardian event and checks:
Is this a device the user has logged in from before?
Is this a bot or automated browser?
Is the user hiding behind a VPN/proxy?
Does the location match the user's history?
Based on risk level → Allow, challenge with MFA, or block
The Result
Recognized device: Instant login, no friction
New device: Require email/SMS verification
Suspicious device: Require strong MFA or block
Bot/attacker: Block immediately
Implementation Guide
Step 1: Frontend — Capture Device Signals at Login
Install the Guardian JS SDK:
Initialize Guardian and call .get() during login:
Step 2: Backend — Adaptive Authentication
Install the Guardian Server SDK:
Create your login endpoint with risk-based authentication:
Step 3: Risk Assessment Function
Step 4: MFA Verification & Device Registration
Real-World Examples
Credential Stuffing Prevention
Scenario: Attackers use bots to test millions of stolen username/password combinations.
Impossible Travel Detection
Scenario: User logs in from New York, then 10 minutes later from Tokyo — physically impossible.
Session Anomaly Detection
Scenario: Active session suddenly changes device fingerprint — possible session hijacking.
Adaptive MFA for Sensitive Actions
Scenario: Normal browsing needs no MFA. Changing password or transferring funds requires verification even on known devices.
Database Schema Example
User Experience: Device Management
Let users see and manage their recognized devices:
Best Practices
Do
Remember verified devices to reduce friction for legitimate users
Require MFA on new devices even with correct credentials
Use risk-based authentication — adapt requirements to threat level
Log all login attempts with device fingerprints for forensics
Let users manage devices — view and revoke recognized devices
Monitor for anomalies — impossible travel, device changes, velocity spikes
Don't
Don't rely solely on passwords — they're often compromised
Don't trust SMS alone — vulnerable to SIM swapping
Don't block VPNs outright — many legitimate users use them
Don't skip MFA for "trusted" IPs — IPs are easily spoofed
Conclusion
Account takeover attacks succeed because they have valid credentials. Traditional systems can't distinguish between the real user and an attacker with stolen passwords.
Guardian Stack solves this by adding a device layer to authentication. The result:
Recognized users log in instantly without friction
New devices require verification — even with correct password
Suspicious devices are blocked or challenged with strong MFA
Attackers can't bypass protection just by having credentials
The key insight: Passwords can be stolen. Devices can't be cloned. Make the device part of your authentication.