Compare · Vendor evaluation guide

Seven tests that tell you whether a mobile app security product works

Feature lists all look alike. These seven tests take about a day, run on your own app, and separate protection that works from protection that is promised. Ask every vendor on your shortlist to pass them, including us.

Before you start

Score every vendor on the same build, the same device and the same day. Agree in advance what “pass” means for each test so the results are not negotiated afterwards.

The tests are deliberately simple. If a vendor needs special conditions to pass them, that tells you something too.

One real buildThe app you intend to protect, not a sample app.
A rooted test deviceAndroid device or emulator with Frida installed, plus a proxy such as Burp or mitmproxy.
Pipeline accessAccess to your CI/CD pipeline for the pipeline test.
The tests

Run all seven on your own build

Open each test to see how to run it and what a pass looks like.

Clone test: can a repackaged copy still run?

Repackaging is the most common real-world attack on consumer apps and the easiest to test.

How to run itDecompile the protected build, change one string in the UI, re-sign with a different key and install on a device.
Pass looks likeThe app refuses to start, and the attempt appears in the vendor console with device and location.
Hooking test: does Frida attach and change behaviour?

Instrumentation is how fraud tooling bypasses biometrics, limits and device binding.

How to run itOn a rooted device, attach Frida and attempt to hook a login, biometric or transaction-limit check.
Pass looks likeDetection before the hook takes effect, a response you configured (warn, degrade or terminate) and a record in the console.
Performance test: what is the real impact?

Protection that product teams reject never ships. Measure before anyone argues.

How to run itMeasure cold start time, memory use and APK or IPA size on the unprotected and protected builds, same device, five runs each.
Pass looks likeA difference small enough that nobody outside the security team notices.
Pipeline test: can it run unattended?

If protection needs a human in the loop, releases will drift unprotected.

How to run itTrigger protection from your CI/CD pipeline (Jenkins, GitLab CI, GitHub Actions, Azure DevOps or similar) with no manual step.
Pass looks likeA protected build produced automatically, with the pipeline able to fail the release if protection fails.
Visibility test: what does the console show?

If you cannot see an attack, you cannot respond to it or prove to a regulator that you did.

How to run itImmediately after the clone and hooking tests, open the vendor console and look for both events.
Pass looks likeEach attempt listed with device type, location, method and app version, and an export you could hand to an auditor.
Framework test: does it protect what you actually ship?

Hardening that only covers native code leaves Flutter and React Native logic exposed.

How to run itRun the clone and hooking tests on your real framework build, not a native sample, and inspect the decompiled output for readable framework code.
Pass looks likeFramework code and assets are protected to the same standard as native code.
Sovereignty test: can it run where your regulator requires?

For banks and public bodies, where binaries and telemetry go is a compliance question, not a preference.

How to run itAsk for an on-premise or private-cloud deployment and a reference customer who runs it that way.
Pass looks likeA supported deployment option with documentation and a reference, not a roadmap item.
Our assessments

Assess your own app before you compare vendors

The tests tell you whether protection works. An IronSCAN assessment tells you what needs protecting in the first place, so you can judge every vendor against the real weaknesses in your build.

  • Automated OWASP, CVE and CWE assessmentRun on your compiled build before release.
  • Insecure storage and logging, weak pinning, exported componentsFindings mapped to OWASP, with remediation guidance.
  • A baseline you can reuse in every vendor testRe-run after protection to see what changed.
Scorecard

Questions to ask before you choose

Beyond the seven tests, these are the commercial and operational questions that cause regret later.

  • Who applies protection on each release: your developers, the vendor or the pipeline?
  • Is assessment included, or do you still need a separate scanning tool?
  • What is the response when a threat is detected, and who controls the policy?
  • Can device-risk signals feed your fraud engine, SIEM or API gateway?
  • Which platforms and frameworks are covered, including HarmonyOS if you ship there?
  • Is pricing per app, per device or per download, and how does it scale?
  • Where is the vendor’s support team, and in which time zone?
  • Has the vendor worked with your regulator’s framework before?

Run the seven tests with us

Send us a build and, subject to scope and supported builds, we can harden it live, run the clone and hooking tests in front of you and show the results in IronSKY.