Device Metadata
This capability returns the data of the device the user captured from, alongside the results of the other contracted products.
What it does
Collects the metadata of the device used in the capture session and the risk signals detected on it (details of the data below).
It is not a validation: it never approves or rejects the process, and it never makes the process fail. Use the data in your own risk rules or internal decision engines.
Inputs
No extra field is needed. The capability uses the capture session the process already has.
- Web: the capture done in the Unico journey.
- API with the Unico SDK: the capture done by the Unico SDK in your app.
The Unico SDK is what collects the metadata, during the capture. An API integration may or may not use the Unico SDK:
- API with the Unico SDK: the metadata is returned as usual.
- API without the Unico SDK: there is no metadata, and the response is
not_found.
The capability is enabled in a flow contracted for your account. Talk to your Unico contact to enable it.
Possible responses
The result comes in the authenticationInfo.deviceMetadata object of Get Process.
status | Meaning |
|---|---|
found | The device metadata was found. The fields below are filled with what the device collected. |
not_found | There is no device metadata for this capture, for example an API process without the Unico SDK. |
unavailable | The metadata could not be fetched at that moment. The process result is not affected. |
When status is found:
| Field | Type | Description |
|---|---|---|
deviceId | string | Device identifier. |
platform | string | Platform the capture came from, e.g. WEB, ANDROID, IOS. |
ip | string | IP address of the device. |
ipCountry | string | Country of the IP address. |
ipGeoCoordinates | object | Location of the IP address (lat, lng). |
gpsCoordinates | object | Location reported by the device GPS (lat, lng). |
osName | string | Operating system name. |
osVersion | string | Operating system version. |
browserName | string | Browser name. Web only. |
userAgent | string | Browser user agent. Web only. |
appStore | string | App store your app was installed from. Native SDK only. |
detectedSignals | array of strings | Groups of risk signals detected on the device. Empty when none was detected. |
A field that is absent means the device did not collect that data.
detectedSignals lists only the groups detected. A group is detected when at least one of its signals was found:
| Group | What it means |
|---|---|
origin_obfuscated | The real origin of the access is hidden, for example by Tor or anti-fingerprinting tools. |
untrusted_location | The location may be false, for example by a proxy, a VPN or a GPS spoofer. |
environment_altered | The device environment is altered, for example an emulator or a rooted or jailbroken device. |
app_manipulated | The app was tampered with, hooked or debugged. |
assisted_session | Someone else may be driving the session, for example by screen sharing or a bot. |
payload_untrusted | The data sent by the device was tampered with. |
Not every signal exists on every platform, so the same device can show different groups on web and on the native SDK.
Availability
| Integration components required |
|---|
| SDK Web or SDK |
Valid combinations
Device Metadata is not part of the pre-composed flows in Available flows. It can be enabled together with any other Unico product in Web and SDK integrations, in a flow contracted for your account.
Products that use this capability
It can be added to any Unico product in Web and SDK integrations.