Overview of App Shielding

OneSpan Mobile Application Shielding is a security technology that integrates directly into applications to provide proactive security against a wide range of attacks, such as tampering, debugging, code injection, code modification, and data theft.

It performs a number of security checks and protects applications against attacks during runtime and contains multiple security features to counter threats found in the ecosystem of the operating system.

This guide describes how to integrate Mobile Application Shielding into any application.

It provides information about:

  • Functions of Mobile Application Shielding, with parameter and method descriptions
  • Integration steps

Contents of the package

The App Shielding package contains these directories:

Contents of the product package per platform
Android iOS

App Shielding Dynamic Conf. Demo

This directory contains a demo server that exposes demonstration files. It can be set up to explore the Updatable Configuration feature.

Bin

This directory contains the relevant SDK needed for integration. The SDK is provided as an AAR for ease of use with Gradle.

Customer Portal

This directory contains REST web services documentation that can be used to access the Customer Portal.

Documentation

This directory contains all relevant technical documentation for the App Shielding integration.

Integration Guide

This document provides the reader with information on the product features, and instructions on how to integrate it.

Release Notes

Provides the reader with the latest changes to the product.

Sample

Contains an example integration of the Mobile Application Shielding features. The sample project is available in Java and Kotlin.

App Shielding Dynamic Conf. Demo

This directory contains a demo server that exposes demonstration files. It can be set up to explore the Updatable Configuration feature.

Bin

This directory contains the relevant SDK needed for integration.

Customer Portal

This directory contains REST web services documentation that can be used to access the Customer Portal.

Integration Guide

This document provides the reader with information on the product features, and instructions on how to integrate it.

Release Notes

Provides the reader with the latest changes to the product.

Sample

Contains an example integration of the Mobile Application Shielding features. The sample project is available in Objective-C and Swift.

Supported architectures

App Shielding supports the following architectures on Android and iOS:

Supported architectures per platform
Android iOS

App Shielding for Android supports the official Google Android operating system from version 5.0 (API level 21) up to and including the current stable version 14 (API level 34).

Unofficial variants of Android may work, although they are not directly supported.

Some platforms claim to support Android applications through a compatibility layer, and will often have problems with App Shielding due to lack of support for various APIs, such as native code (JNI).

The following CPU architectures are supported:

  • armeabi-v7a
  • arm64-v8a
  • x86
  • x86_64

Only add x86/x86_64 support if explicitly specified.

If an application has native libraries, the Shielding Tool will add the App Shielding library for all architectures that are supported by the application but if no native libraries are present, the Shielding Tool only adds the arm64-v8a and armeabi-v7a architectures. With this, the shielded app will be smaller because the x86_64 and x86 App Shielding libraries add a size of ~5 MB to the application.

App Shielding for iOS supports iOS 12.0 up to iOS/iPadOS 17. The SDK itself is distributed as a framework that needs to be linked to a host application. The framework is currently provided for the following architectures:

  • arm64

    App Shielding also supports running a shielded app in an arm64 simulator (on ARM Macs).

  • x86_64

App Shielding does not support the Bitcode-enabled app.