Skip to content

Account takeover: step up the challenge instead of blocking the customer

When a login looks like account takeover, do not guess. Let the session continue with limited rights, and ask for proof that only the verified person can give, such as a fresh selfie matched to their enrolment, before any payout, beneficiary change or password reset goes through.

Charles Archibong

, Co-founder

· 5 min read

Headline "Step up instead of blocking" beside an illustration of a key beside a one-time code, on a vivid purple gradient.

Key takeaways

  • Most suspicious logins are genuine customers on a new phone or a trip; blocking them is costly.
  • A step-up challenge should be something the attacker cannot supply, such as the verified person's face.
  • Put the challenge in front of the sensitive action, not only at login.
  • Treat a failed or abandoned step-up as a strong signal, and a passed one as fresh evidence.

When a login looks like account takeover, the best response is usually neither to let it through nor to lock the account. Let the session continue with limited rights, and ask for proof that only the genuine customer can give before anything sensitive happens: a payout, a new beneficiary, a changed phone number or password.

That proof should be tied to the person you verified at onboarding, not to something an attacker may already control. A fresh selfie with liveness, matched against the customer's enrolment, is the strongest everyday option. A text message code to a number the attacker may have just changed is the weakest.

Why is blocking the wrong default?

Most logins that look risky are not attacks. People buy new phones, travel, reinstall apps and borrow a sibling's handset. A rule that blocks every new device will mostly block customers, and each block turns into a support call, a lost transaction or a closed account.

Letting everything through is worse. A takeover that reaches a payout screen can empty an account in minutes, and the customer will expect you to have noticed.

A step-up sits between the two. It costs a genuine customer seconds. It costs an attacker the whole attempt, provided the challenge asks for something they do not have.

What makes a login look like account takeover?

Signals that suggest takeover usually describe a change against the customer's own history:

  • A device the customer has never used before.

  • A country change that is too fast to be travel, such as Lagos an hour ago and another continent now.

  • A new device followed quickly by a sensitive action, such as adding a beneficiary within minutes of logging in.

  • A password reset or phone number change just before a withdrawal.

  • An IP address from a hosting provider rather than a mobile network or home broadband.

Each of these has an innocent explanation on its own. Together, and followed by an attempt to move money, they deserve a challenge.

What is a good step-up challenge?

Rank challenges by whether an attacker who has taken over the account could complete them.

Challenge

Can a takeover attacker pass it?

Customer effort

Password again

Yes, they already have it

Low

Text message code

Sometimes, if they control the number or changed it

Low

Email link

Sometimes, if the email is also compromised

Low

Code from an app on a known device

Not from a new device

Low

Selfie with liveness, matched to enrolment

Only by defeating liveness and face matching for this person

Medium

Full re-verification with ID and selfie

Only with the customer's ID and face

High

The pattern is simple: the stronger challenges are bound to the verified person rather than to a credential. Save the heaviest option for the riskiest moments, and never use a code sent to contact details that changed in the same session.

Where should the challenge sit?

Put the challenge in front of the action that causes loss, not only at login. An illustrative policy for a wallet app:

  1. Login from a known device: allow.

  2. Login from a new device, nothing else unusual: allow, but hide balances or limit transfers until the next step.

  3. New device and a beneficiary added within the same session: require a selfie matched to enrolment before the beneficiary becomes active.

  4. New device, fast country change and a withdrawal above the customer's usual amount: hold the withdrawal and require full re-verification.

  5. Step-up failed, or abandoned twice: freeze outgoing payments and open a case for review.

This keeps the customer in the app in every case except the last, and even then they know what to do next.

How to use a step-up result

A passed step-up is fresh evidence that the right person is present. Record it, and let it lift the restriction for that session or action.

A failed step-up is one of the strongest takeover signals you will get. Treat an abandoned challenge carefully: a genuine customer may simply be busy, but an attacker cannot complete it, so repeated abandonment on a risky session deserves review.

Always tell the customer, through a channel you trusted before the session began, that a new device was used and a check was requested.

How Myaza Trust supports this flow

The pieces fit together as signals, a challenge and a result.

Signals. Your backend can send logins, password resets, beneficiary additions, device changes, payouts and withdrawals to POST /api/v1/activities, with your device reference, the customer's IP address and location, and receive an allow, review or block decision with the rules that fired (activity monitoring documentation). Reusing a stable device reference builds new-device evidence over time, and the built-in rules include new device and fast country changes. This Fraud Monitoring area needs the Fraud Prevention entitlement and an approved business profile.

Challenge. For individuals, a step-up re-verification can be requested from a workflow, through the API or from the dashboard. You receive entity.step_up_requested with a hosted challenge URL and its expiry, which you send or show to the customer (activity decision webhooks). Treat that URL as sensitive. For returning customers who have enrolled, biometric re-authentication matches a new selfie one-to-one against their enrolment reference.

Result. entity.step_up_completed tells you whether the customer passed; continue only when passed is true. Deduplicate each webhook by its event ID.

Your platform applies the outcome. Myaza Trust can recommend review or report a failed challenge, but it cannot disable a login, account or wallet hosted on your own systems.

A checklist before you ship

  1. List the actions that can cause loss and put a challenge in front of each.

  2. Decide which signals trigger which challenge, starting with new device plus a sensitive action.

  3. Remove any challenge that relies on contact details changed in the same session.

  4. Make sure a passed challenge lifts the restriction without a support ticket.

  5. Route failed and repeatedly abandoned challenges to a case, and notify the customer through a trusted channel.

  6. Review a month of challenges: how many genuine customers were stepped up, and how many attacks were stopped at the challenge.

Learn more about fraud prevention and fraud detection with Myaza Trust.

Sources

Charles Archibong

About the author

Charles Archibong

Co-founder

Charles Archibong co-founded Myaza Trust. He writes about identity verification, financial technology, and the practical work of building trusted digital services.

  • Headline "The limits of device and IP signals" beside an illustration of a grid of devices with a highlighted cluster, on a warm cream gradient.

    Risk & Compliance

    What device and IP signals can and cannot tell you

    Device and IP signals describe the handset and connection, not the person. Emulators and datacentre IPs are strong warnings; shared devices, IP velocity and IP location are weak. Use them as corroboration, and trust IP location at country level only.

  • Headline "Webhook signatures and retries" beside an illustration of a code window with angle brackets, on a deep indigo gradient.

    Developers

    Verifying webhook signatures and handling retries correctly

    Verify the V2 signature over the raw request bytes, reject timestamps outside the replay window, record the event ID under a unique constraint before doing any work, and return 2xx only once the event is durably stored.

  • Headline "One person behind many accounts" beside an illustration of a network of connected ownership nodes, on a warm cream gradient.

    Risk & Compliance

    Finding the same person behind many accounts

    Rank shared artefacts by what they prove. A repeated verified ID number means the same person. A repeated face is strong evidence for review. A shared device, phone or address is common in families, so treat it as corroboration and count distinct people before acting.

Build your product.We'll handle the rest.

Identity and compliance, end to end, built to global standards, priced for founders.

Account takeover: when to step up instead of block · Myaza Trust