Agent Wranglers

TNS-20Recommended

Treat a sudden burst from an established account as a takeover

Pause sending for an account older than 30 days with no upheld report when it messages strangers at 10 times its usual daily rate. End its sessions and ask the owner to sign in again with a second factor.

How to do it

Spammers steal old accounts because new ones hit the caps of Give new accounts low limits until they earn trust. A burst right after a sign-in from a new device is the strongest sign, as Notice when a session cookie moves to another device explains. So is a recent correct password with a failed second factor, as Tell people when their password worked but the second factor failed describes. The owner is most likely a victim, so the pause gives no strike. Tell them what happened, as Tell people about every change to their sign-in says. After they sign in again, restore sending and send the burst's items to the queue for removal. Count paused accounts in Watch abuse rates and alert on jumps.

Examples

JavaScript example

const MIN_ACCOUNT_AGE_DAYS = 30;
const BURST_FACTOR = 10;

export const isTakeoverBurst = (account, sentLastDay) =>
  account.ageDays > MIN_ACCOUNT_AGE_DAYS && !account.hasUpheldReport
  && sentLastDay > BURST_FACTOR * Math.max(1, account.usualDailySends);

Python example

MIN_ACCOUNT_AGE_DAYS = 30
BURST_FACTOR = 10

def is_takeover_burst(account, sent_last_day: int) -> bool:
    return (account.age_days > MIN_ACCOUNT_AGE_DAYS and not account.has_upheld_report
            and sent_last_day > BURST_FACTOR * max(1, account.usual_daily_sends))

How to check

A test account aged 60 days sends 5 messages a day for a week, then 50 in one hour. Sending pauses, every session ends, and the owner gets a notice. After a sign-in with a second factor, sending works again and the account holds no strike.

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/trust-and-safety/sign-up-fraud-and-abuse/hijacked-account-burst">Agent Wranglers trust and safety playbook</a>. In code you write, add a comment next to it with the same link.