Application security feature

On-device fraud prevention

Otukan detects malware driving a genuine customer's banking session, from automated taps to hidden screens, and helps your app and backend stop the transfer.

  • Android
  • iOS
  • Flutter
  • React Native
Malware-driven transfer is met at the in-session signals boundary before it reaches the appMalware-driven transferIn-session signalsYour app
  • Right login, wrong hands

    The customer, the phone and the password are all genuine. Otukan looks at who is actually driving the session once sign-in is done.

  • Signals in context

    Accessibility use, automated input and the transaction on screen are read together, because each alone is often innocent.

  • App and server act as one

    The app pauses the step on the phone while your backend holds the payment, so an attacker has to defeat both sides at once.

Session abuse Otukan handles

Pick an abuse pattern to see what Otukan observes during the session, what the app does and what your payment backend is told.

Automated transfers

  1. Detect

    On Android, Otukan notices taps and text entry delivered by software while a payment screen is open, rather than by the customer's finger.

  2. Respond

    The confirmation is paused and the customer is asked to approve again through a protected step.

  3. Report

    An automation signal is attached to the transfer request itself.

Hidden session activity

  1. Detect

    On Android, Otukan detects your screens being covered or obscured while money moves, a sign the customer cannot see what is happening.

  2. Respond

    The action is held until the screen is clear.

  3. Report

    Your backend learns that the approval happened under an obscured screen.

Accessibility-driven navigation

  1. Detect

    On Android, Otukan links an active non-assistive accessibility service to the sequence of screens being opened.

  2. Respond

    Payee creation and limit changes are restricted while the service is active.

  3. Report

    Service class and timing are sent for your fraud engine to score.

Remote takeover

  1. Detect

    Otukan detects screen sharing and mirroring on both platforms and remote access conditions on Android during payment steps.

  2. Respond

    The customer sees a warning naming the risk and the transfer waits.

  3. Report

    Remote-session context arrives with the payment for a hold decision.

Tampered banking app

  1. Detect

    Otukan verifies the app's code and signing identity before payment code runs.

  2. Respond

    An altered copy is stopped before the transfer screens open.

  3. Report

    Requests from the altered build carry an integrity signal your server can refuse.

Controls that stop on-device fraud

On-device fraud combines several techniques, so Otukan combines several controls into one picture of the session.

  • Automated transfer fraud

    Picks out payment journeys completed by scripted gestures instead of a person at the screen.

  • Accessibility abuse detection

    Detects Android accessibility services reading balances or tapping through approvals, and restricts the step they target.

  • Malware detection

    Recognises the behaviour mobile malware uses against apps, independent of any particular family.

  • Overlay attack detection

    Spots Android screens hidden or imitated by another app while the customer thinks they are approving something else.

  • Remote access risk

    Surfaces screen sharing and remote control during the moments money leaves an account.

  • Session risk signals

    Packages in-session evidence so your backend can score the transaction, not just the login.

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. Choose the moments

    Payee creation, limit changes and outgoing transfers are marked as protected steps.

  2. Build it in

    Protection is added within your present pipeline, and the signing keys never leave your team.

  3. Read the session

    Accessibility, input source, screen state and remote access are checked at each protected step.

  4. Pause and hold

    The app pauses on the phone while your backend holds the matching transaction.

  5. Confirm out of band

    The customer confirms outside the compromised app session, such as through a call from your fraud team.

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.

Malware abuses a valid mobile session by letting the real customer sign in and then taking over what happens next. The device is theirs, the credentials are correct and every login check passes. Once inside, the malware reads the screen, taps through a new payee and approves a transfer, often while hiding the screen from the person holding the phone. Otukan detects that takeover from inside your app: automated input, abused accessibility services, obscured screens, remote control and tampered builds, each tied to the transaction on screen. The app pauses the step, and the signal reaches your backend so the payment can be held too.

Session abuse

Most mobile fraud defences are built around the question “is this the right person on the right device?”. On-device fraud answers yes.

Why genuine credentials are not enough

The attack starts with a lure: a text message, a fake app update, a call from someone claiming to be the bank. The customer installs something and grants it a permission. From then on, every factor your login relies on belongs to the victim. Device binding sees a known phone. Biometrics see the right face. The session token is valid. What changes is who is operating the app once the session is open. Lures that arrive by text message are covered on phishing and smishing detection.

What the fraud looks like from inside the app

MomentWhat the malware doesWhat Otukan can see
After sign-inReads the balance through accessibility eventsA non-assistive accessibility service active on your screens
Adding a payeeTypes beneficiary details by softwareInput arriving without touches from the screen
ConfirmingCovers the screen with a fake loading pageYour confirmation screen is obscured
ApprovingTaps the approve button on the customer’s behalfAutomated gesture on a protected step
Guided scamA remote operator watches or drivesScreen sharing, mirroring or remote access

Signals

Each signal on its own has innocent explanations. A screen reader uses accessibility. A chat bubble can overlap a screen. The strength of Otukan’s approach is reading them together, in the context of what the customer is doing.

Accessibility and automation

On Android, Otukan identifies which accessibility services are active, separates assistive tools from unknown services and notices when taps or text arrive by software rather than from the touchscreen. A service that has been quiet all session and then drives a new payee screen is a very different picture from a screen reader announcing a balance.

Transaction context

Otukan ties every signal to the protected step on screen. The same accessibility service scores differently when the customer is browsing and when a first transfer to a new payee is being approved. Your backend receives the signal with the transfer request, so your fraud engine sees it alongside amount, payee history and account behaviour.

Timing and sequence

Fraud unfolds as a sequence. A payee added seconds after sign-in, a limit raised on the same screen and a transfer approved while the display is covered tell a clearer story than any single event. Otukan records the order and timing of signals within the session, so your fraud engine can judge the whole run of actions instead of scoring each tap in isolation.

The pattern is described further on automated transfer fraud detection.

Response

Detection only prevents loss when the app and the backend move together.

In the app

The protected step pauses. The customer sees a plain message that names the risk, such as another app controlling the screen, and what to do next. Where a screen is covered, the action waits until it is visible again.

On the backend

The matching transaction is held. Your team can confirm with the customer out of band, outside the app the malware is controlling, before releasing or rejecting it. Low-risk activity carries on so genuine customers are not locked out.

Proven before enforcement

Each abuse scenario is reproduced in an authorised lab and the signal is recorded. The same journey runs on a legitimate device with common assistive tools to confirm silence, and the regression pass covers install, update, sign-in and transfer.

The full set of fraud controls is covered on mobile fraud prevention. Banking context is covered on mobile banking app security. For a structured way to evaluate options, see the on-device fraud solution guide.

Common questions

  • Why do strong login and device binding not stop on-device fraud?

    Because they answer a question the attacker has already passed. The customer really did sign in, on their own phone, with their own credentials. On-device fraud starts after that, when malware or a remote operator uses the valid session to move money. Otukan watches the session itself, which is where the difference between the customer and the malware shows.

  • Is on-device fraud only an Android problem?

    Automated gestures through accessibility services are an Android technique, so Otukan's automation and accessibility signals run on Android. iPhone users are more often targeted through screen sharing and social engineering, where a scammer guides them through a payment. Otukan covers those routes on iOS with its own signals, without assuming Android behaviour applies.

  • Why does the backend need to act as well as the app?

    A pause in the app protects the customer in the moment, but malware can try again or use another route. When the same signal reaches your backend, the payment itself can be held, reviewed or confirmed out of band. Together the two sides turn a detection into a stopped transfer.

  • Will customers who use screen readers be blocked from paying?

    No. Otukan recognises assistive tools and treats them differently from unknown services. Restrictions apply at the high-risk steps you choose, and you can require several signals to line up first, such as automated input on a new payee screen. Observe mode shows how your genuine customers look before any response is enforced.

On the mobile engineering team?

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

Stop fraud inside trusted sessions

Tell us the platform, the app framework and the transactions you most need to protect, such as new payees or instant transfers. We do not ask for binaries, transaction data, signing keys or production credentials.

Or request a technical demo