Application security feature

Session risk signals

Otukan session risk signals re-check your Android and iOS app during a signed-in session and tell your backend the moment a session turns risky.

  • Android
  • iOS
  • Flutter
  • React Native
Hijacked live sessions is met at the session re-evaluation boundary before it reaches the appHijacked live sessionsSession re-evaluationYour app
  • Risk after sign-in

    A clean login says little about the next hour. Otukan keeps checking the client while the session is open and updates the risk your backend sees.

  • Signals with the request

    Session risk rides on the calls that change money, data or settings, so the server weighs it exactly where a decision is made.

  • Rules for grey areas

    Rate, challenge, retry and failure rules per session stage keep genuine customers moving when a signal is uncertain or unavailable.

Session risks Otukan reports

Choose a risk to see what changes mid-session, how the app reacts and what your backend receives.

Tools attached mid-session

  1. Detect

    Runtime checks repeated during the session find instrumentation or a debugger that was absent at login.

  2. Respond

    The next sensitive step is restricted or the session ends, following your policy for that stage.

  3. Report

    The session's risk level rises and the change is timestamped for your investigators.

Session moved to another client

  1. Detect

    Requests stop carrying proof from the installation the session was issued to.

  2. Respond

    Your backend ends the session or asks the customer to sign in again.

  3. Report

    The switch is logged with the session, the original install reference and the time it happened.

Remote control during a transfer

  1. Detect

    The app notices screen sharing or remote-control services active while a payment or account change is under way.

  2. Respond

    The step pauses and the customer sees a warning about who may be watching.

  3. Report

    Fraud teams receive the remote-access signal tied to the exact transaction attempt.

Replayed session calls

  1. Detect

    Freshness data bound to each request shows the same call arriving more than once.

  2. Respond

    The duplicate is refused before business logic acts on it.

  3. Report

    Replay attempts raise the session's risk and are counted as a pattern.

Network switch to an interceptor

  1. Detect

    A session that started on a normal network continues through a proxy or relay that re-signs traffic.

  2. Respond

    High-value actions wait until the connection is trustworthy again.

  3. Report

    The network change is attached to the session record, separating travel from interception.

What feeds Otukan session risk

Signals collected across the session, not only at the door, and delivered where your backend decides.

  • Runtime re-checks

    Repeats integrity and tooling checks at moments you choose during the session.

  • Remote access awareness

    Reports screen sharing and remote-control services active during sensitive steps.

  • Installation continuity

    Confirms each request still comes from the installation that received the session.

  • Network change context

    Records when the path to your backend shifts to proxies or relays mid-session.

  • Stage-based policy

    Different rules for browsing, account changes and payments within one session.

  • Session risk timeline

    A dated sequence of signals per session, ready for your fraud tools and investigators.

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 session risk works

  1. Mark the stages

    Divide the signed-in journey into browsing, account changes and money movement.

  2. Choose check moments

    Decide where runtime re-checks run, such as before transfers or profile edits.

  3. Release the protected app

    Signals are added through your normal build flow; release signing is unchanged and yours.

  4. Read risk on the server

    Your backend receives the current session risk with each sensitive call and applies the stage rule.

  5. Tune with real sessions

    Observe how often each signal fires for real customers, then enforce stage by stage.

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.

Judge session risk signals on three things: do they keep watching after sign-in, do they reach the place where decisions are made, and do they behave sensibly when uncertain. Otukan is built for all three. It repeats integrity, tooling, remote-access and continuity checks during the signed-in session and sends the current risk with each sensitive call. Your backend decides, using rate, challenge, retry and failure rules set per session stage. Scope is the live session in Android and iOS apps, with signals labelled per platform; login-time checks and user authentication are separate controls.

For the request evidence this builds on, see mobile API protection.

Abuse path

Most session abuse starts after a perfectly normal login. Sorting what happens next into three groups keeps the response proportionate.

Automated requests inside a session

A valid session token is lifted and fed to a script that repeats calls: balance checks, transfers, reward claims. Otukan exposes this when requests stop carrying fresh proof from the installation the session belongs to, or when the same call arrives twice.

Invalid clients inside a session

The session stays on the right phone, but the client changes underneath it. A hooking framework attaches after launch, a debugger connects, or a remote-control service starts while the customer is guided through a payment. Otukan’s in-session re-checks catch conditions that were not there at login.

Legitimate automation

Not every unusual session is abuse. Accessibility services, password managers, test rigs and customers who move between Wi-Fi and mobile data all create signals. Otukan labels each signal by source, and the rollout records known legitimate patterns before any rule is enforced.

Session eventLikely meaningTypical rule
Tools attach after loginInvalid clientRestrict sensitive steps
Requests lose installation proofSession moved elsewhereRe-authenticate
Remote control during a transferSocial engineering in progressPause and warn
Duplicate requestReplayRefuse the duplicate
Network change to a relayInterception or travelHold high-value actions

Enforcement boundary

Session risk is produced in one place and used in others. Getting that split right is what makes it trustworthy.

  • In the app. Otukan gathers signals, and can act at once when the customer needs protection in the moment, such as pausing a transfer while a remote-control service is active.
  • At the gateway. The gateway reads the current session risk and can refuse replays or unverified calls before they reach services.
  • In the backend. Business services combine session risk with account history and the value of the action, and make the final call. That decision stays where an attacker on the device cannot reach it.

Where each signal comes from

Android and iOS expose different information inside a running app. Otukan builds its in-session checks separately for each platform and tags every signal with the platform and check that produced it. On Android, remote-control and overlay services are visible to the app in ways that iOS does not allow, so the iOS view of a remote session leans on screen-sharing state and runtime integrity instead. Your backend never has to guess whether a missing signal means “safe” or “not measured on this platform”.

A related runtime view is covered on runtime threat signals.

Continuity

A session policy that logs out genuine customers is worse than a risky session. Otukan writes four rules for each session stage before enforcement.

  • Rate. How often sensitive calls may repeat within a session before risk rises.
  • Challenge. Which step-up a risky session meets, and at which stage, so browsing is rarely interrupted.
  • Retry. How the app retries after a refused or challenged call, without duplicating a payment.
  • Failure. What happens when signals are missing: continue and record for browsing, challenge for account changes, wait for fresh evidence on payments.

Testing before enforcement

Otukan works with your team to reproduce each session abuse case in an authorised lab, repeat the same journeys on legitimate devices with assistive tools and network changes, then run install, update, sign-in and your riskiest in-session flow on the protected release. Results are recorded with versions, devices, expected outcomes and the reviewer, and each stage moves from observe to enforce on its own schedule.

Common questions

  • How are session risk signals different from login checks?

    Login checks answer one question at one moment: should this person get in. Session risk keeps asking while they are inside. Tools can attach after sign-in, a phone can be handed to someone else, and a remote-control app can start during a transfer. Otukan reports those changes so your backend reacts before the risky action, not after.

  • Will re-checking during the session slow the app down?

    Checks run at moments you choose, such as before a transfer or a profile change, rather than in a constant loop. Your team decides where the extra assurance is worth it. Otukan measures responsiveness with your engineers on the devices you support, before release, so you see the effect on your own app.

  • Should the app or the server end a risky session?

    Usually the server. The app can pause a step or show a warning immediately, which protects the customer in the moment. The final decision belongs to your backend, where Otukan's signal meets account history and business rules, and where an attacker on the device cannot interfere.

  • What happens if signals stop arriving?

    Silence is a signal too, but not always a hostile one: an old app version or a network glitch can cause it. Your failure rule decides per stage. Browsing can continue and be recorded, account changes can be challenged, and payments can wait until fresh evidence arrives.

On the mobile engineering team?

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

Know when a good session goes bad

Tell us the platform, the app framework, how long sessions last and which in-session actions carry most risk. We do not ask for binaries, session tokens, signing keys or production data.

Or request a technical demo