XTD

Analytics Agent Configuration

Overview

This section provides a guide to the various configuration options available for the analytics agent running within protected applications.

The configuration is configured/stored in SaaS and applied during protection of the application, injected by the protection technology (defender). This also applies if the protection occurs on-prem, as long as monitoring is enabled.

Currently, the configuration allows for the following fine-tuning:

ConfigurationDescription
Custom ResponsesAbility to tune the custom responses

The UI the ability to configure the custom responses for the application. In addition, the configuration is defined using a simple JSON document and can be uploaded to SaaS using the REST APIs. See Enabling Analytics Agent Configuration below.

Custom Responses

Custom responses provide the ability to configure the exact behaviour expected by the protected application for when it detects a threat at runtime. This provides an option for developers to customize the runtime behaviour of the application based on the threats experienced.

When used, the analytics agent is configured to invoke one or more custom response depending on the threat found at runtime.

The responses are invoked synchronously and sequentially, which means that all actions defined are invoked in the order they are defined, one at a time.

Available Responses

Depending on the version of the APK/iOS defender being used to protect the application, there may be slight differences in supported options for the custom responses.

Please refer to the "Version Selection" section below to find the correct version of the configuration used in your setup.

Enabling Analytics Agent Configuration

The configuration is defined using a simple JSON document, which is then uploaded to XTD SaaS using the APS REST APIs.

The configuration can be set for a specific application or build. If the configuration is set on an application, it applies to all future builds of that application. If set only on a build, it will be applied to that specific protection job.

See App Protection for more details

On-prem Protection

For using analytics agent configuration for on-prem protections, the configuration shall still be set on the application object in SaaS using the same method as described above. During on-prem protection, the tools will pull down the analytics agent configuration and apply it as part of the protection.

Version Selection

The highest, current version of the analytics agent configuration is currently ->v1.2.0

Please refer to the list below for other versions.

APK Defender

APK Defender VersionAnalytics Agent Configuration Schema
5.2.0->v1.0.0
5.1.0->v1.0.0
4.15->v1.0.0
4.14.1->v1.0.0
4.14->v1.0.0
4.13.1->v1.0.0
4.12->v1.0.0

iOS Defender

iOS Defender VersionAnalytics Agent Configuration Schema
8.2->v1.0.0
7.13->v1.0.0

Finding your Version

When using SaaS, the defender version used will be displayed after protection of your application, at the bottom of the build results page. Use this as a reference for above to find the correct configuration version.

When using on-prem tools, the version should be indicated by your binary

bash$ apkdefender -v
apkdefender: version x.y.z revision <x> built on Jan 1 1970

Supported Configurations Per Product and Platform

Below is a summary of the detections supported on Android and iOS. It also indicates which detections support custom responses and which provide XTD SDK callback support.

Please note that AARs and APKs cannot both be protected by XTD at the same time.

If an AAR requires protection, XTD protection must instead be applied to the final APK. The same principle applies to iOS apps and their corresponding XCframeworks.

Similarly, custom responses cannot be implemented simultaneously in both an AAR and APK, or in their iOS equivalents. The same restriction applies to XTD SDK integrations.

Detection TypeProduct TypeResponse Support
Android APK/AABAndroid AARiOS xcarchive**iOS xcframeworks**Custom responseXTD SDK callback support****
Bootloader UnlockyyN/AN/Ayy (Android only)
Attestation FailureyyN/AN/Ayy (Android only)
Debuggeryyyyyy
Emulatoryyyyyy
OverlayynN/AN/Ayy (Android only)
Rooting/Jailbreakyyyyyy
Side LoadingyyN/AN/Ayy (Android only)
Tamperingyn*yyyy
Hookingyyyyyy
Domain Whitelist ViolationynN/AN/Ayy (Android only)
Installer Mismatch*****yyN/AN/Ayy (Android only)
MITMyyynyy
VPNyyynyy
Proxyyyynyy
DNS Inconsistencyyyynyy
Accessibility Malware***yyN/AN/Ann

* The security library itself, including the translated methods it contains, is protected against modification. However, all other bytecode and resources are considered unrestricted and can theoretically be modified.

**iOS dylibs are not protected as part of the protection process when referenced in an xcarchive or an xcframework.

***The detection column is already available in the dashboard. The population of detection data is planned to begin in June 2026. The service is based on server side detection and may require updates to your application. See enabling accessibility service.

****On iOS, XTD SDK does not support Dynamic XCFrameworks

*****Installer Mismatch detection is not available in the XTD dashboard

On this page