ATO detection is part of the Anti-Fraud Identity Firewall. Alerts and risk signals flow into the same pipeline as other fraud signals, so you can query and review them from the Risk & Fraud > Signals console page or the list signals endpoint.
How it works
Send login events
Call
POST /v1/risk/ato/evaluate each time a login event occurs — failed attempts, repeated failures, new device logins, or successful logins.Velocity tracking
The platform increments (or resets) the failed login counter for the subject in a rolling one-hour window. Successful logins reset the window.
Risk level assignment
A risk level is derived from the current failed login count. The response includes the risk level, numeric score, and current counter value.
Automatic alerts and signals
When a subject crosses a threshold, the platform creates an alert and ingests a risk signal with
signal_type: "ato". You don’t need a separate API call.Prerequisites
- An active Truthlocks tenant with an API key
- Login event data from your authentication system (failed logins, successes, new device events)
Evaluating a login event
Send aPOST request to /v1/risk/ato/evaluate with the subject and event details:
Threshold rules
The platform assigns a risk level based on the number of failed logins within a one-hour rolling window:| Failed logins (1 h window) | Risk level | Risk score | Alert type |
|---|---|---|---|
| 0–4 | normal | 10 | — |
| 5–9 | elevated | 50 | velocity_exceeded |
| 10–19 | high | 70 | velocity_exceeded |
| 20+ | critical | 90 | credential_stuffing |
- An alert is created in the ATO alerts table
- A risk signal is automatically ingested with
signal_type: "ato"and the corresponding score - The response includes
alert: true, thealert_type, and thesignal_id
Event types
| Event type | Behavior |
|---|---|
login.failed | Increments the failed login counter |
login.failed.repeated | Increments the failed login counter |
login.success | Resets the failed login counter for the subject |
login.new_device | Evaluates the event and records the new device in the profile |
Checking a subject’s risk profile
Retrieve the current ATO risk profile for a subject without triggering a new evaluation:Listing alerts
Query ATO alerts for your tenant, optionally filtered by subject:Integration patterns
Block or challenge on elevated risk
Use therisk_level from the evaluate response to decide whether to allow, challenge, or block a login:
Combine with event normalization
ATO evaluation can complement the event normalization pipeline. Use event normalization for broad risk scoring across all identity events, and ATO evaluation for focused account takeover monitoring with threshold-based alerts.Combine with velocity scoring
ATO detection focuses on login-based account takeover patterns with built-in threshold rules and alert management. Velocity scoring tracks any action type across multiple rolling time windows (1 m, 5 m, 1 h, 24 h) with weighted burst detection. Use both together for layered protection:- ATO detection for focused login security — failed login velocity, credential stuffing alerts, subject risk profiles
- Velocity scoring for general abuse detection — API rate abuse, transaction flooding, registration spam, or any custom action type

