IT Services Consulting

Mobile App Security: A Checklist Based on OWASP MASVS

Phones hold money, messages and location. This guide turns the OWASP MASVS control groups into a practical checklist for any team.

Published 6 min read

Illustration of a phone with a sign in screen and a shield beside eight MASVS control group cards

Short on time? Use the OWASP Mobile Application Security Verification Standard as your checklist. It groups requirements into storage, cryptography, authentication, network, platform interaction, code quality, resilience and privacy. Decide how deep to go for your risk level, build controls into design, test with the companion testing guide and repeat on every major release.

A phone holds a person’s messages, money, photos and location, and the apps on it reach into all of that. Mobile apps also run on devices that you do not control, which can be lost, rooted or infected. Security cannot be left to the end of a project.

This guide turns the OWASP Mobile Application Security Verification Standard, known as MASVS, into a practical checklist. It suits a small team shipping its first app and an enterprise managing a portfolio of apps for customers and employees.

Key takeaways

  • MASVS is an open standard that groups mobile security requirements into control groups such as storage, cryptography, authentication, network, platform, code quality, resilience and privacy.
  • Pick a depth that matches the risk of your app: a game and a banking app need different levels of assurance.
  • Build controls into design and code, and verify them with the OWASP testing guide and your own tests.
  • Server-side security matters as much as the app itself.
  • Repeat checks with every major release and when libraries change.

What MASVS is

The OWASP Mobile Application Security project publishes MASVS as a standard of security requirements for mobile apps. Its control groups are:

  • Storage: protecting data on the device.
  • Cryptography: using cryptography correctly.
  • Authentication and authorisation: proving who the user is and what they may do.
  • Network communication: protecting data in transit.
  • Platform interaction: using operating system features safely.
  • Code quality: avoiding weaknesses in the code and its dependencies.
  • Resilience: resistance to reverse engineering and tampering.
  • Privacy: respecting user data and consent.

The same project also publishes a mobile application security testing guide, with Android and iOS tests organised by these categories, and a list of weaknesses. Use the standard to decide what to build and the testing guide to check that you built it.

Decide how deep to go

Not every app needs every control at the highest level. Ask:

  • What data does the app handle: personal, financial, health or none?
  • What could an attacker gain, and what would a breach cost users and the business?
  • Which laws and standards apply in your markets?
  • Is the app used in hostile settings, such as on shared or unmanaged devices?

Write down the decision. Apps handling payments or health data usually warrant the resilience controls, and a simple game or reference app may focus on the basics. Our guide to small business cybersecurity helps scale the effort.

A practical checklist

Storage

  • Store the minimum data on the device.
  • Use the platform’s secure storage for secrets and tokens, such as the Keychain on iOS and the Keystore on Android.
  • Keep sensitive data out of logs, screenshots, backups, clipboards and analytics.
  • Clear data on logout and when the app is removed where possible.

Cryptography

  • Use well-established libraries and current algorithms, and never design your own.
  • Generate keys securely, and keep them in hardware-backed stores where available.
  • Do not hard-code keys or secrets in the app. Anyone can unpack a mobile app.
  • Plan for algorithm change. See post-quantum cryptography.

Authentication and authorisation

  • Authenticate on the server, and never trust the app to enforce access.
  • Use proven flows such as OAuth with short-lived tokens and secure refresh.
  • Support multi-factor authentication and biometrics through the platform.
  • Re-check permissions for sensitive actions, and protect against brute force.
  • Handle sessions safely, including expiry and revocation.

Network communication

  • Use current transport encryption for every connection, and validate certificates.
  • Consider certificate pinning for high-risk apps, and plan how to rotate pins.
  • Avoid sending sensitive data in URLs.
  • Treat all network input as untrusted, on both sides.

Platform interaction

  • Request the minimum permissions, and explain why.
  • Validate data received from other apps, links, deep links and intents.
  • Be careful with web views: disable what you do not need and restrict content sources.
  • Protect inter-app communication, and avoid exposing components unnecessarily.
  • Mask sensitive screens in app switchers.

Code quality

  • Keep the build tools, libraries and operating system targets current.
  • Scan dependencies for known vulnerabilities, and keep a software bill of materials. See software supply chain security.
  • Handle errors and exceptions without leaking details.
  • Validate all input, and review code with security in mind.
  • Build with debugging features turned off for release.

Resilience

For higher-risk apps, add layers that make tampering harder: detecting rooted or jailbroken devices, integrity checks, code obfuscation and anti-debugging measures. Treat them as speed bumps and never as the foundation. Determined attackers can bypass them, so keep critical logic and secrets on the server.

Privacy

  • Collect only what you need, and explain it in plain language.
  • Ask for consent where required, and honour choices.
  • Follow platform store rules for data disclosure.
  • Provide deletion and export routes where laws require them.
  • Review third-party software kits, since they can collect data on your behalf.

Do not forget the back end

The app is one part of the system. Most serious breaches involve the servers and interfaces it talks to:

Test the app

  1. Threat model early: who attacks, what they want and how.
  2. Automated checks in the build pipeline: static analysis, dependency scanning and secrets detection. See our CI/CD starter pipeline.
  3. Manual testing with the OWASP testing guide, on real devices and with proxy tools.
  4. Independent penetration test before major releases or for high-risk apps.
  5. Bug reports channel so researchers can contact you.
  6. Monitoring after launch for abuse and unusual patterns.

Include security cases in your wider test automation strategy.

Native or cross-platform

The checklist applies to both. Cross-platform frameworks add their own libraries and bridges to review. See cross-platform versus native apps and progressive web apps versus native.

Common mistakes

  • Secrets hard-coded in the app.
  • Trusting the app to enforce permissions.
  • Storing tokens in plain preferences.
  • Disabling certificate checks during testing and shipping that way.
  • Excess permissions.
  • Old libraries with known flaws.
  • Relying on obfuscation for security.
  • No security testing before release.

A starting plan

  1. Classify the app’s risk, and pick the MASVS depth.
  2. Turn the control groups into a checklist for your team.
  3. Add dependency and secret scanning to the build.
  4. Test the highest-risk flows manually, and test the API.
  5. Review before each major release.

How SoftSapien supports mobile app security

SoftSapien’s mobile engineers and security consultants threat-model apps, build to the standard, test on real devices and APIs and support remediation and release reviews. See our mobile app development and cybersecurity consulting services.

To secure your app, use the contact page to chat with our team, send a message or schedule a free consultation call.

Frequently asked questions

What is OWASP MASVS?

It is an open standard from the OWASP Mobile Application Security project that groups mobile security requirements into control groups such as storage, cryptography, authentication, network, platform, code quality, resilience and privacy.

Do all apps need every control?

No. Choose the depth by risk. Apps handling payments or health data usually need the resilience controls, and simpler apps can focus on the basics.

Is obfuscation enough to protect an app?

No. It slows attackers and never replaces secure design. Keep critical logic and secrets on the server.

How should we test mobile security?

Threat model early, automate dependency and secret scans, test manually with the OWASP testing guide on real devices and run a penetration test before major releases.

Can SoftSapien help secure our app?

Yes, from design to testing. Contact SoftSapien through the contact page to chat with our team, send a message or schedule a free consultation call.

Related service IT Services Consulting
SoftSapien

One partner for digital transformation, AI, cloud, and growth.

From legacy modernization and Gen-AI engineering to digital strategy and infrastructure, SoftSapien helps enterprises plan, build, and scale the initiatives that move the business forward.

Tell us what you're building and we'll get back to you within 2 business hours.

Contact Us

+1

How should we reach you?

Slide to verify you're human

Talk to an Expert