Application security feature

Mobile account takeover prevention

Otukan defends against mobile account takeover in the app: genuine-app proof, device-bound sessions and malware signals at login, recovery and payee changes.

  • Android
  • iOS
  • Flutter
  • React Native
Stolen credentials is met at the login and session boundary before it reaches the appStolen credentialsLogin and sessionYour app
  • Stolen credentials stand out

    A password or token lifted from a victim arrives without proof of your genuine app and the original device, so your backend can refuse it.

  • Sessions stay put

    Otukan binds each session to the app instance it was issued to. A token replayed from another phone stands out to your backend.

  • Your backend decides

    Takeover signals travel with login, recovery and payee requests, so your authentication and fraud services step up or decline with evidence.

How Otukan handles each takeover path

Select a threat to see what Otukan detects, how the app responds and what your backend receives.

Credential stuffing

  1. Detect

    Otukan attaches app attestation evidence to every login call, so requests from scripts and emulated clients stand out on your server.

  2. Respond

    Your server rejects unattested logins or routes them to extra checks.

  3. Report

    Your backend receives an attestation result with each login request.

Token replay

  1. Detect

    Device binding signs each protected request with a key held on the app instance the session was issued to.

  2. Respond

    A token presented without the matching proof is refused or sent back to login.

  3. Report

    Your authentication service sees binding status on every protected call.

Login overlays

  1. Detect

    On Android, Otukan detects windows obscuring your login screen and touches passed through hidden layers.

  2. Respond

    The app hides non-system overlays or pauses input, per your policy.

  3. Report

    An overlay signal travels with the login request.

Remote control

  1. Detect

    Otukan recognises screen sharing and mirroring on both platforms, and on Android the remote access conditions that let someone else drive the session.

  2. Respond

    Payee changes and recovery pause per your policy, with a clear message to the customer.

  3. Report

    Your fraud engine receives remote-access context with the request.

Hooked or repackaged app

  1. Detect

    Runtime checks detect hooking, debugging, root, jailbreak and modified builds, so your backend knows whether the other signals can be trusted.

  2. Respond

    Observe, warn, restrict or terminate, set per flow.

  3. Report

    Integrity status accompanies every signal, so your backend knows it can rely on it.

Every takeover route, covered at the app

Account takeover arrives by several routes. Otukan gives you evidence on each one, at the moment the attacker needs your app.

  • Credential stuffing

    Login calls from scripts carry no valid app attestation. Otukan lets your server separate your genuine app from tooling replaying leaked passwords.

  • Credential theft in the app

    Otukan watches login screens for overlays, screen capture and suspicious input paths, and protects them while the customer types.

  • Session and token reuse

    Device binding ties sessions to a key held in platform key storage, so a copied token cannot prove where it came from.

  • Remote-controlled sessions

    Otukan flags screen sharing, and on Android remote access, while a sensitive step is on screen, so a coached or hijacked session can be paused.

  • Malware-driven actions

    On Android, Otukan spots accessibility services and overlays driving your screens, the core technique of banking malware.

  • Cloned or modified apps

    Attestation and integrity checks show your backend whether a request came from the release you signed or a repackaged copy.

You choose the response

Set a response for each user flow. Start by observing, then tighten flow by flow as the signals prove themselves.

Observe

Signal sent to your backend

Rolling out a new policy and measuring real-world signals.

Warn

This device looks modified. Continue with care.

Conditions some genuine users create, such as developer settings.

Restrict

Payments are unavailable on this device.

Payments, stored data and account changes.

Terminate

Session closed for your security.

Clear tampering on a high-risk flow.

How it works

  1. Map the journey

    Together we mark login, recovery, device enrolment and payee changes as protected steps.

  2. Protect the build

    Otukan fits your existing build and release pipeline. Your signing keys stay with you.

  3. Attach the signals

    Attestation, binding, runtime and malware signals travel with each protected request.

  4. Observe, then enforce

    Start in observe mode, measure genuine-customer impact, then tighten the response flow by flow.

Free for app publishers

Check your app's exposure

A passive review of your published app by an Otukan engineer. No files, no access to your systems. Findings go by email to the verified publisher.

You finish the request on the next page.

Otukan defends against account takeover at the steps where attackers need your app to cooperate: logging in, recovering an account, enrolling a new device and changing contact or payee details. At each step, Otukan proves the request came from your genuine app, on the device the session belongs to, and flags overlays, malware-driven input and remote control. Those signals travel with the request, so your authentication service and fraud engine step up or decline with evidence rather than guesswork. Stolen passwords and lifted tokens lose most of their value. Signals are tuned per platform: overlay, accessibility and remote access defences run on Android; on iOS, Otukan uses capture, mirroring, jailbreak and hooking signals.

The attack chain Otukan breaks

Account takeover is a chain. Otukan places evidence on each link, so an attacker who gets past one still meets the next.

Credential theft

Attackers collect passwords from breaches, phishing sites and the victim’s own phone. On the device, the routes are overlays that imitate your login screen, keyloggers and screen recording. Otukan protects login screens against these routes on Android, where other apps can draw over yours, and on iOS it reacts to screen capture and mirroring. Leaked credentials are then fired at your login API by scripts; Otukan’s attestation evidence lets your server tell those scripts apart from your app.

Session abuse

A session token is often worth more than a password, because it has already passed authentication. Tokens lifted from a rooted device, a backup or intercepted traffic get replayed from the attacker’s own phone. Otukan binds every session to the app instance it was issued to, so a replay arrives without the proof your backend expects.

Malicious interaction

Some takeovers happen on the victim’s own phone. Malware uses accessibility services to read the screen and tap through a transfer, or a caller persuades the victim to install a remote access tool. Credentials and device are both genuine, so Otukan looks at how the session is being driven: accessibility abuse, overlays and remote access on Android, and screen sharing and mirroring on both platforms during sensitive steps.

How Otukan covers the chain

Otukan combines runtime, malware and API protection into one set of takeover signals.

Chain linkOtukan controlWhat your backend getsPlatform notes
Credential theft on deviceOverlay, input and screen capture protectionEvidence that login input or screens were exposedOverlays and accessibility: Android. Screen capture handling differs per platform
Credential stuffingMobile API protection with attestation verified on your serverProof that login calls come from your genuine appPlay Integrity on Android and App Attest on iOS assert different things; Otukan treats each on its own terms
Session reuseDevice bindingProof that the session is used on the device it was issued toAndroid Keystore; iOS Keychain and Secure Enclave on supported devices
Malicious interactionMalware and remote access signalsEvidence that something other than the customer is driving the sessionSignals differ sharply between platforms
Modified clientRuntime integrity and anti-tamperingConfidence that every other signal is genuineRoot and hooking on Android; jailbreak and hooking on iOS

Runtime integrity sits under every row. A hooked or repackaged app could fake its other signals, so Otukan’s mobile RASP checks detect that, and their status accompanies every takeover signal.

Proven before it goes live

Every Otukan takeover signal is tested three ways. We reproduce the behaviour in an authorised lab and confirm the signal fires. We run the same journey on a legitimate device and confirm it stays quiet. Then we repeat install, update, login and recovery on the protected build to confirm your customers’ experience is unchanged.

Clear ownership: app, authentication, fraud engine

What Otukan does in the app

Otukan collects and protects signals, attaches them to sensitive requests and applies the on-device response you choose: record, warn, pause a screen or block an action. It is the component closest to the session, which is why its evidence adds what server-side checks cannot see on their own.

What your authentication service does

Your authentication service decides who the customer is and when to ask for more proof. Otukan tells it when that moment has come, for example when a login arrives from a new app instance, an unbound device or a session under remote control.

What your fraud engine does

Your fraud engine sees account history, device history and transaction patterns. Otukan’s signals sharpen its decision to allow, hold or decline. We agree with you which team owns each response, and we start in observe mode so you see the effect on genuine customers before anything is enforced.

This control is part of mobile fraud prevention. For sector context, see mobile banking app security, e-commerce app security, telecom app security and superapps application security. For a step-by-step view of the takeover path, see the account takeover prevention guide.

Common questions

  • Is multi-factor authentication enough to prevent account takeover?

    It raises the bar, and Otukan makes it stronger. One-time codes can be phished or read by malware, and a session token taken after login skips the factor altogether. Otukan adds evidence that authentication alone cannot see: whether the request came from your genuine app, on the device the session belongs to, without remote control or overlays present.

  • What is device binding and how does Otukan use it?

    Device binding ties a session to a specific app instance through a key kept in platform key storage: the Android Keystore, or on iOS the Keychain and, on supported devices, the Secure Enclave. Otukan proves possession of that key with each protected request. A token copied to another device arrives without the proof, and your backend can reject it or ask for a fresh login.

  • Can Otukan stop phishing that happens outside the app?

    A fake website that collects passwords sits outside any app. What Otukan does is make those stolen passwords far less useful: a login from an unattested client or an unbound device stands out to your backend, which can step up authentication or decline. Phished credentials become a warning sign for your backend rather than an easy way in.

  • Why keep the final decision on the server?

    An attacker who controls a device can study anything enforced only inside the app. Otukan protects the signals on the device and delivers them with each sensitive request, while your authentication service and fraud engine combine them with account history and apply your policy. That split gives you strong on-device evidence and a decision point on your server, away from the attacker's device.

On the mobile engineering team?

How protection fits your build, signing and release, platform by platform.

Take the value out of stolen credentials

Tell us the platform, the app framework and the step where takeovers happen, such as login, recovery or new device enrolment. We do not ask for binaries, signing keys, customer data or production credentials.

Or request a technical demo