Application security feature

Connection hardening

Otukan connection hardening closes cleartext and downgrade paths in Android and iOS release builds, plans for certificate change and keeps your app available.

  • Android
  • iOS
  • Flutter
  • React Native
Downgraded connections is met at the hardened transport boundary before it reaches the appDowngraded connectionsHardened transportYour app
  • Only strong channels

    Otukan removes cleartext fallbacks, weak protocol versions and relaxed validation from release builds, so the app talks to your backend only over channels you approve.

  • Ready for real networks

    Wi-Fi hand-offs, captive portals and approved corporate proxies are planned for, so hardening does not strand users on the move or at work.

  • Hardening that holds

    Runtime checks notice when an attacker patches the app's networking code to loosen its rules, and report it to your backend.

Transport weaknesses Otukan closes

Select a weakness to see how Otukan finds it, what the app does and what your team receives.

Cleartext fallback

  1. Detect

    Release configuration is checked for any route that lets traffic to your domains leave the device unencrypted.

  2. Respond

    Plain HTTP to protected domains is refused, so a failed secure connection never quietly becomes an open one.

  3. Report

    Attempts to reach a protected domain without encryption are recorded with the domain and app build.

Protocol downgrade

  1. Detect

    Connections are held to the minimum protocol version and cipher set you approve, rather than whatever a network offers.

  2. Respond

    A handshake that cannot meet your floor fails with a clear message instead of continuing on weaker terms.

  3. Report

    Downgrade failures are reported by network type and platform, separating hostile networks from outdated servers.

Debug trust left in release

  1. Detect

    Otukan flags trust overrides, relaxed host-name checks and test certificates that belong only in debug builds.

  2. Respond

    Each finding is raised before release sign-off, so the protected build ships without it.

  3. Report

    Your team receives a finding per override, with the file and build it came from.

Patched networking code

  1. Detect

    Runtime checks spot hooking or modification of the functions that enforce validation inside the app.

  2. Respond

    Sensitive calls are restricted or the session ends, following your policy for that flow.

  3. Report

    A transport tampering signal accompanies the next request your backend receives.

Untrusted captive networks

  1. Detect

    The app recognises when a hotel or venue portal is intercepting traffic before sign-in to the network is complete.

  2. Respond

    Sensitive requests wait until a validated connection to your backend is available.

  3. Report

    Portal interruptions are counted separately, so they do not inflate interception reports.

Connection hardening in Otukan

Client-side transport rules, their lifecycle and the controls that sit beside them.

  • Protocol and cipher floor

    Sets the minimum transport terms your app accepts for protected domains and refuses anything weaker.

  • Cleartext removal

    Closes unencrypted routes to your domains in release builds on both platforms, each through its own configuration.

  • Validation integrity

    Keeps host-name and chain checks strict in release builds and reports code that tries to relax them.

  • Certificate pinning

    Adds a declared-key check for your most sensitive domains, with standby keys planned from day one.

  • Interception awareness

    Brings proxy and interception context into the same decision as your transport rules.

  • DNS and connection integrity

    Checks that name resolution and connection set-up lead to the servers you intend.

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 connection hardening is rolled out

  1. Inventory the domains

    List every host the app reaches and mark which ones carry credentials, payments or personal data.

  2. Set the transport floor

    Agree protocol, cipher and validation rules per domain with the team that runs your servers.

  3. Plan the exceptions

    Record approved corporate proxies, captive portal handling and third-party hosts before enforcement.

  4. Harden the release

    Rules are applied in your usual build flow, and your signing identity stays in your hands.

  5. Test on real networks

    Run hostile, corporate, mobile and roaming scenarios, then enforce once results are clean.

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 connection hardening by what it closes, how it copes with change and what happens when it fails. Otukan hardens the client side of your app’s connections: it removes cleartext routes to your domains, holds handshakes to the protocol and cipher floor you approve, keeps validation strict in release builds and detects code that tries to loosen those rules at runtime. It plans for certificate changes, network transitions and approved corporate proxies before enforcement. Connection hardening covers transport terms; key pinning and interception analysis are separate controls that sit beside it on Android and iOS.

Trust boundary

Three different questions are often bundled under “secure connection”. Keeping them apart shows what hardening does and what it leaves to other controls.

QuestionWhat answers itRole of connection hardening
Is the channel encrypted and strong enough?Transport validation: protocol version, cipher, chain and host namePrimary. Otukan sets and enforces these terms in release builds
Is someone sitting in the middle?Pinning, interception and proxy signalsSupporting. Hardening removes the weak paths an intermediary would exploit first
Is this really our app talking to our backend?App attestation and server-side verificationOutside scope. A hardened channel does not prove who the caller is

Hostile intermediaries

A public hotspot, a rogue access point or a compromised router can offer a downgraded protocol, strip encryption from a fallback request or present a certificate the platform would accept only if validation were relaxed. Otukan’s hardening closes those openings, so an intermediary has to defeat stronger controls rather than take an easy route.

Platform by platform

On Android, transport rules live in the app’s network security configuration, including whether cleartext is permitted and which trust anchors apply, with debug-only overrides kept out of release. On iOS, App Transport Security requires secure connections by default, and exceptions are declared in the app’s property list; Otukan reviews and narrows those exceptions. Flutter and React Native apps may use their own networking layers, so Otukan confirms the rules cover the path each framework takes.

For key pinning on sensitive domains, see mobile app certificate pinning.

Checking the release, not only the code

Many transport weaknesses are introduced by accident: a test certificate, a debug exception or a third-party library that opens its own connection. Otukan reviews the release build itself, so what ships is what was approved.

Lifecycle

Hardening fails in production when change is not planned. Otukan’s rollout names each change up front.

  • Certificate changes. Hardening checks validity, chain and host name, so routine renewals pass. Your server team still shares its renewal calendar, because an unexpected chain change is the most common cause of a sudden validation failure.
  • Network transitions. Users move from Wi-Fi to mobile data, lose signal in a lift or join a venue network behind a portal. The app holds sensitive requests until a validated connection returns instead of retrying on weaker terms.
  • Approved enterprise proxies. Some organisations inspect traffic through a proxy with its own root. Your team decides per domain how those users are treated, and the decision is written into the scenario matrix.
  • Third-party hosts. Analytics, content delivery and partner endpoints get their own entries, so a partner’s outdated server does not block your sign-in.

Availability

A hardened app that cannot connect is a support incident. Otukan settles failure behaviour before switching enforcement on.

Failure handling

When a connection fails your rules, the app shows a clear message that explains the network is not safe for this action, rather than a generic error. Low-risk content can remain available while sign-in, payments and account changes wait.

Fallback

There is no silent fallback to a weaker channel. The only fallback is to a safer state: queue, retry on a validated network, or ask the user to switch networks.

Recovery

Failures are reported by domain, platform and network type. A spike on one domain after a server change points to configuration; scattered failures on public networks point to interception. Before release, Otukan works with your team to run hostile, corporate, mobile and roaming scenarios on the protected build, confirm legitimate journeys pass, and repeat install, update, sign-in and your most sensitive flow, recording versions, devices and the reviewer.

The parent overview of app-to-backend trust is on mobile API protection.

Common questions

  • How is connection hardening different from certificate pinning?

    Hardening sets the terms of every protected connection: encrypted only, strong protocol versions, strict validation. Pinning adds one extra question for selected domains: is this the exact key we declared. Hardening is the baseline that should hold for all your sensitive traffic; pinning is an extra lock for the connections where interception would cost most.

  • Will hardening break users behind corporate proxies?

    No, because Otukan plans for them before enforcement. Some employers inspect traffic through an approved proxy with its own trusted root. Your team decides per domain whether those users continue, see a clear message or use a restricted mode, and the scenario is tested before release.

  • Do Android and iOS harden connections the same way?

    No. Android apps declare transport rules in a network security configuration file; iOS apps rely on App Transport Security and its exceptions in the app's property list. The goals are shared, but the settings, defaults and edge cases differ, so Otukan configures and tests each platform on its own.

  • What if a server can no longer meet the new rules?

    That is found during the domain inventory, not by users. If a backend or partner host cannot meet the floor, your team chooses whether to upgrade it first or record a time-limited exception. Otukan reports failures per domain, so an outdated server is easy to tell apart from a hostile network.

On the mobile engineering team?

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

Close the weak paths to your backend

Tell us the platform, the app framework, the domains your app connects to and whether users sit behind corporate proxies. We never ask for private keys, certificate files, app binaries or production credentials.

Or request a technical demo