Application security feature

Mobile SSO integration

Otukan adds app integrity and device evidence to single sign-on in your Android and iOS work apps, and protects the tokens the app keeps after sign-in.

  • Android
  • iOS
  • Flutter
  • React Native
Stolen session tokens is met at the sign-in and renewal boundary before it reaches the appStolen session tokensSign-in and renewalYour app
  • Identity plus evidence

    Your identity provider still decides who the user is. Otukan tells it whether the app and the phone deserve the session.

  • Tokens that stay put

    Tokens are protected with platform key storage and bound to the device, so a copied token is refused on any other phone.

  • Checked at every renewal

    Integrity and device checks run again each time a session is refreshed, not only at the first sign-in of the day.

Identity risks Otukan handles

Pick a risk to see how Otukan detects it, what the app does and what your identity team receives.

Token replay from another device

  1. Detect

    Device binding recognises a session token presented from a phone or app instance it was not issued to.

  2. Respond

    The request is refused and the user is asked to sign in again on the genuine device.

  3. Report

    Your identity team sees the mismatch with both device contexts.

Sign-in from a modified app

  1. Detect

    Integrity checks confirm the app is your signed release before it starts a sign-in.

  2. Respond

    The modified copy is stopped before it reaches your sign-in page.

  3. Report

    The failed integrity check is reported with build and platform.

Hooked authentication flow

  1. Detect

    Otukan looks for instrumentation attached to the code that handles tokens and redirects.

  2. Respond

    Sign-in or renewal pauses per your policy until the device is clean.

  3. Report

    A hooking signal travels with the next request to your backend.

Newly rooted or jailbroken phone

  1. Detect

    Device checks run again at renewal, catching a phone whose state changed since the first sign-in.

  2. Respond

    The session is stepped up or ended, as your policy sets.

  3. Report

    Your identity provider receives the new device state for its decision.

Leaver with a live session

  1. Detect

    The app checks with your backend at renewal whether the user and device are still entitled.

  2. Respond

    Revocation takes effect at the next renewal, and cached tokens are cleared.

  3. Report

    The revoked session is logged with the time it was last used.

Controls around the sign-in

Each control protects a step between the user proving who they are and the app using that proof.

  • Device binding

    Ties each session to the phone and app instance it was issued to, so moving a token breaks it.

  • Authentication protection

    Guards sign-in and multi-factor steps against hooking, overlays and automated replay on the device.

  • Secrets and key protection

    Keeps refresh tokens and client secrets out of readable storage and away from memory scrapers.

  • Session risk signals

    Sends app and device evidence with each session request, so your backend can step up or refuse.

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. Trace the session

    Map sign-in, token storage, renewal and sign-out for each work app.

  2. Assign owners

    Record what the identity provider, the app and device management each decide.

  3. Protect the app

    Otukan joins your existing release pipeline; your signing keys never leave your team.

  4. Feed the decision

    App and device evidence reaches your identity provider with sign-in and renewal.

  5. Test the whole lifecycle

    Rehearse login, renewal, revocation and account recovery before rollout.

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.

Evaluate mobile SSO integration by following one session from sign-in to sign-out and asking, at each step, who checks what. Your identity provider confirms the user. The work app receives, stores and presents the tokens. Device management may decide which phones are allowed at all. Otukan strengthens the app’s part of that chain on Android and iOS: it confirms the app is genuine before sign-in, binds tokens to the device, protects them with platform key storage and repeats its checks at every renewal. Identity decisions stay with your identity provider, which now sees evidence about the app and the phone.

The step-by-step evaluation is in the mobile SSO integration solution guide.

Identity flow

Single sign-on on a phone is three connected problems. Solving one does not solve the others.

Federation

Federation establishes who the user is. On mobile, the sign-in page should open in the system browser component that Android and iOS provide, so the password is typed into your identity provider’s page and never into the app. The app receives an authorisation result, not the credentials.

Token handling

Once the redirect returns, the app holds tokens that act as the user for hours or days. That is where most mobile identity attacks aim. On Android, Otukan encrypts session tokens with a key held in the Android Keystore; on iOS, it stores them in the Keychain. It binds them to the device and app instance, and watches for hooks attached to the code that reads them.

Transport access

A valid session still needs a safe path to your services. Server identity checks and per-app tunnelling are separate controls with their own owners. For the network side, see enterprise access and per-app VPN.

Ownership

Write the split down before the pilot. Each gap in this table becomes a question nobody can answer during an incident.

ResponsibilityIdentity providerWork app with OtukanDevice management
Who the user isAuthenticates, issues tokensOpens the system sign-in pageNot involved
Whether the app is genuineReceives the evidenceProves integrity before sign-inDistributes the approved build
Whether the phone is safeUses the signal in policyChecks root, jailbreak and hookingReports compliance where enrolled
Where tokens liveSets their lifetimeBinds them and protects them in platform key storageNot involved
Ending accessRevokes the accountClears tokens at the next renewalRetires the device

Otukan does not replace your identity provider or your device management platform. It gives both of them evidence they cannot collect from outside the app.

Where decisions are made

Keep the final decision on the server side. The app collects evidence and can pause a step locally, but the identity provider decides whether a session is issued, renewed or ended. That way an attacker who silences a check on the phone still has to get past a server that expected to hear from it. Agree in advance which evidence triggers a step-up, which triggers refusal and which is only recorded.

Lifecycle

A pilot that only tests the first sign-in misses most of the risk. Test the full lifecycle, on Android and iOS separately.

Login

Sign in from the genuine app on a healthy phone and confirm the evidence reaches your identity provider. Repeat from a modified copy and from a rooted or jailbroken test device, and confirm each is stopped or stepped up as your policy says.

Renewal

Let a session age and renew. Change the device state between the two, for example by attaching an instrumentation tool, and confirm the renewal sees it. Copy a token to a second test device and confirm device binding refuses it.

Revocation

Disable a test account and confirm the next renewal fails, the app clears its tokens and stored corporate data is no longer shown.

Sign-out

Sign out from the app and confirm the tokens and their protecting keys are deleted, not just hidden from the interface. Reopen the app and confirm it asks for a fresh sign-in rather than silently restoring the previous session.

Recovery

Walk through a replaced phone and a device that fixes its own state. Confirm the user can return through the normal sign-in, and record devices, OS versions, expected results and the reviewer.

Common questions

  • Does Otukan replace our identity provider?

    No. Your identity provider keeps authenticating users, issuing tokens and deciding policy. Otukan works on the app side of the flow. It adds evidence about the app and the phone to each sign-in and renewal, and protects the tokens once the app holds them. Your identity team decides what to do with that evidence.

  • Where should the user type their password?

    In the system browser component the platform provides, not in a screen the app draws. That way the app never handles the password, and your identity provider's own protections, such as passkeys or multi-factor prompts, work as designed. Otukan protects what happens after the redirect returns to the app.

  • What happens when someone leaves the organisation?

    Your identity provider disables the account, and the next renewal fails. Otukan makes that renewal a real check: the app asks your backend whether the session is still valid, clears cached tokens when it is not, and refuses to show stored corporate data. How often renewal happens is a setting your identity team controls.

  • Can a user recover access after a device is flagged?

    Yes, and the route should be written down before rollout. Typically the user fixes the device state, for example by removing a risky profile, then signs in again through the normal flow. If the phone is lost or replaced, your service desk re-issues access on the new device, and device binding refuses the old tokens.

On the mobile engineering team?

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

Make every sign-in count

Tell us which work apps use single sign-on, the platforms and frameworks they are built with, and how sessions are renewed today. We never ask for identity provider credentials, user data or signing keys.

Or request a technical demo