Skip to main content

App & Device Metrics

Metrics Naming

The Approov cloud service generates a number of metrics for your account. These capture frequency measurements for various types of activity which can give valuable insight into its usage and any potential issues. The different types of metrics are described in the following sections.

Mobile Attestation Result Overview Metrics

Mobile Overview metrics are used to provide a high level summary of the status of attestation requests received from a mobile app associated with your Approov account.

Metric NameDescription
passIndicates that a valid Approov token was issued in response to a mobile attestation.
failIndicates that an invalid Approov token was issued in response to a mobile attestation because a criteria was not met. The precise causes for failure depend on the rejection policy that has been selected. Other metrics provide more information about the causes for rejections.
fail-bad-requestIndicates that a request was rejected outright in response to a mobile attestation because it was incorrectly formed. Under normal circumstances this should not occur, but could indicate a failed attempt to spoof requests for the account to the Approov servers.

Mobile Device Properties Metrics

Mobile Device Properties metrics provide information about the presence of particular characteristics of devices attesting using your account. These correspond to device properties that have been determined from the running device. All the properties have either a pass-flag- or fail-flag- prefix to indicate that it is reporting on a mobile device property and whether the associated attestation passed or failed.

Whether a given request is rejected or not will depend on the Rejection Policy associated with the account or requesting device. This means that if the security policy is changed then flags previously associated with passes may become fails (or vice versa). Additionally, if a specific property is not responsible for causing an attestation to fail then it may appear in the metrics for both passing and failing attestations.

Mobile App Metrics

These are metrics generated depending on the mobile app making the request. This allows an easy assessment of the population of apps, or those associated with a particular problematic behavior. Whenever these metrics are shown they are either prefixed with pass- or fail- depending on whether the overall request was passed or failed. Whether a given request is rejected or not will depend on the Rejection Policy associated with the account or requesting device. Note that app version metrics are only available in the live metrics.

Metric NameDescription
app-<os>-<name>The package name of the app that is requesting an Approov token. The app is running on the given os, either ios or and for Android.
appver-<os>-<name&gt-<version>The package name of the app with its corresponding app version that is requesting an Approov token. The app is running on the given os, either ios or and for Android. This allows tracking of specific versions and the transition to a new version when it is pushed out into the app store. Note that the version specific activity of apps with Temporary Registrations are not recorded, although all other metrics are gathered as normal.

Mobile SDK Metrics

These are metrics generated from statistics collected in each running Approov Mobile SDK, which are then aggregated across your entire account. These allow an assessment to be made of the rate of usage of the SDK methods and the prevalence of any errors generated.

Metric NameDescription
sdk-calls-fetch-syncThe number of calls to the synchronous fetchApproovTokenAndWait method in the SDK.
sdk-calls-fetch-asyncThe number of calls to the asynchronous fetchApproovToken method in the SDK.
sdk-calls-fetch-sec-string-syncThe number of calls to the synchronous fetchSecureStringAndWait method in the SDK.
sdk-calls-fetch-sec-string-asyncThe number of calls to the asynchronous fetchSecureString method in the SDK.
sdk-calls-fetch-custom-jwt-syncThe number of calls to the synchronous fetchCustomJWTAndWait method in the SDK.
sdk-calls-fetch-custom-jwt-asyncThe number of calls to the asynchronous fetchCustomJWT method in the SDK.
sdk-calls-fetch-configThe number of calls to the fetchConfig method in the SDK.
sdk-calls-get-pinsThe number of calls to the getPins or getPinsJSON methods in the SDK.
sdk-calls-set-data-hashThe number of calls to the setDataHashInToken binding method in the SDK.
sdk-calls-set-install-attrsThe number of calls to the setInstallAttrsInToken method in the SDK.
sdk-calls-integrity-proofThe number of calls to the getIntegrityMeasurementProof method in the SDK.
sdk-calls-device-proofThe number of calls to the getDeviceMeasurementProof method in the SDK.
sdk-calls-account-message-signatureThe number of calls to the getAccountMessageSignature method in the SDK.
sdk-calls-install-message-signatureThe number of calls to the getInstallMessageSignature method in the SDK.
sdk-calls-set-dev-keyThe number of calls to the setDevKey method in the SDK.
sdk-result-successThe number of fetch calls resulting in a SUCCESS / success status.
sdk-result-no-networkThe number of fetch calls resulting in a NO_NETWORK / noNetwork status (assuming the app could subsequently get network access to report this).
sdk-result-poor-networkThe number of fetch calls resulting in a POOR_NETWORK / poorNetwork status.
sdk-result-mitm-detectedThe number of fetch calls resulting in a MITM_DETECTED / mitmDetected status.
sdk-id-<value>The number of fetch calls made from the Approov SDK with given value ID.
sdk-arch-<platform>-<processor>The number of fetch calls made from a device with a given processor architecture. The platform may be either ios or android. The processor provides the type of processor used, allowing differentiation between 32-bit and 64-bit systems. Intel architectures for iOS are for the simulator only, whereas Android supports native Intel processor instruction sets.
sdk-version-<value>The number of fetch calls made from the Approov SDK with the reported value version number.