Evaluation guide

Security validation

How to evaluate security validation for a protected mobile app: choose test devices, scope exceptions safely and set release criteria from expected signals.

  • Right device per test

    Physical phones, simulators and cloud labs each prove something different. Otukan helps you assign every test case to the environment that can prove it.

  • Exceptions with edges

    Validation needs some checks relaxed on some devices. Otukan keeps each exception bound to a build, a device set and an end date.

  • Criteria set in advance

    Every test case names the signal it should raise or stay silent on, so a release decision reads from a table, not from opinion.

A mobile security team should evaluate security validation by checking three things: that each test runs in an environment able to prove it, that any exception needed for testing stays out of the release, and that release criteria are written as expected signals before the first run. With Otukan, a protected build is validated on physical devices for real behaviour, in simulators and emulators for functional coverage where detection is expected, and in approved cloud labs only for what they can honestly show. This guide applies to Android and iOS apps, including Flutter and React Native. Performance measurement and pipeline set-up are separate topics.

The full test plan for protected builds, including functional and performance layers, is on protected mobile app testing.

Choosing the test environment

A protected app watches the environment it runs in. That makes the choice of test device part of the test, not a detail.

EnvironmentWhat it can proveWhat it cannot proveWhat Otukan does there
Physical device, stock OSReal user behaviour, clean-device acceptance, install and updateDetection of attack tooling, unless you add itStays silent on legitimate journeys
Physical device, prepared for attack testingThat a detection fires and your policy appliesHow ordinary users experience the appRaises the matching signal and applies the response for that flow
Android emulator or iOS SimulatorFunctional flows, layout, automated regressionAnything about genuine devicesReports an emulator or simulator signal, which is the expected result
Approved cloud device labBreadth of models and OS versionsClean-device behaviour, if the lab modifies or instruments devicesReports what it finds; your team decides whether that is expected

Physical devices

  • Do you have at least one untouched device per platform for clean-device acceptance?
  • Are your attack-testing devices kept apart, labelled and never used for acceptance runs?
  • Does your device set include the manufacturers and OS versions your users actually run?

Simulators and emulators

  • Have you recorded that an emulator or simulator signal is the correct result on these environments?
  • Are automated suites that run in emulators pointed at a test build, so enforcement does not block them?

Cloud device labs

Some labs install their own agents, change system settings or grant elevated access to drive devices remotely. A protected build may report that, and it should.

  • Has the lab told you in writing how its devices are modified?
  • Have you run one clean journey in the lab and recorded which signals appeared?

Exceptions without weakening production

Testing sometimes needs a check relaxed. The danger is an exception that outlives the test or reaches the store.

How Otukan scopes an exception

Otukan lets an exception apply to a named test build and a named set of devices, with an end date. The release protection profile is untouched, so a release built from the same pipeline carries every check. Observe mode is the other tool: controls stay active and record signals, but the journey continues, which is often all a validation run needs.

  • Is every exception tied to a build, a device set, an owner and an end date?
  • Does your release gate refuse a build that carries any validation exception?
  • Are exceptions reviewed and closed when the test cycle ends?

What to rule out

  • Shipping a release built with checks turned off to make a lab run pass.
  • Adding production accounts or real customer data to a relaxed test build.
  • Widening an exception from one device to a whole lab without a recorded reason.

Release criteria

A release decision is only as good as the criteria written before the tests ran. Express each one as an expected signal.

Expected events

Test caseEnvironmentExpected signalExpected response
Clean install and sign-inPhysical device, stock OSNoneJourney completes
Update from previous protected versionPhysical device, stock OSNoneJourney completes; stored data intact
Instrumentation attached during paymentPrepared deviceHooking signalYour chosen response for the payment flow
Run on emulatorEmulator or SimulatorEmulator or simulator signalYour chosen response for that environment
Modified copy installedPrepared deviceIntegrity signalYour chosen response for a modified copy

User journeys

  • Do the cases cover install, update, sign-in, your most sensitive flow and recovery after a failed step?
  • Has each journey run on both platforms, recorded separately?

Diagnostic results

For every run, Otukan provides diagnostic information that names the protection profile and the checks that fired, so a tester can tell a real detection from a misconfigured test.

  • Does each result record the build, profile, device, OS version, date and reviewer?
  • Did your backend receive the signals the table expects, and did its rules act on them?
  • Were unexpected signals investigated and explained before sign-off?

Background on choosing a protection product sits in mobile app security evaluation.

Common questions

  • Why does a protected build flag our emulator during testing?

    Because that is the expected result. A protected app watches the environment it runs in, and Otukan reports an emulator or simulator signal there. Record that signal as the correct outcome for those environments, and point automated emulator suites at a test build so enforcement does not block them.

  • Can a cloud device lab prove clean-device behaviour?

    Not if the lab modifies or instruments its devices. Some labs install agents, change system settings or grant elevated access, and a protected build may report that. Ask the lab in writing how its devices are modified, run one clean journey there and record which signals appear. Use untouched physical devices for clean-device acceptance.

  • How do we relax a check for testing without weakening the release?

    Scope the exception. Otukan lets an exception apply to a named test build and a named set of devices, with an end date, while the release protection profile stays untouched. Observe mode is the other option: controls stay active and record signals, but the journey continues. Your release gate should refuse any build carrying an exception.

  • What should release criteria for a protected app look like?

    A table of expected signals written before the first run. Each test case names its environment, the signal it should raise or stay silent on, and the expected response. A clean install and sign-in on a stock device should raise no signal; instrumentation attached during payment should raise a hooking signal.

  • How can testers tell a real detection from a misconfigured test?

    From the diagnostic information. For every run, Otukan provides diagnostics that name the protection profile and the checks that fired. Record the build, profile, device, OS version, date and reviewer, confirm your backend received the expected signals, and investigate any unexpected signal before sign-off.

Prove your protection before release day

Tell us the platforms and framework, where your test devices come from and which user journeys must pass before release. We do not ask for binaries, signing keys, test accounts or production data.

Or request a technical demo