---
title: Monitoring Data Collection
description: Optional metadata you can attach to any capture session to identify the user and flow in monitoring and observability tools.
canonical: https://developer.unico.io/dual-api/developers/sdks-and-tools/web/web-sdk/capture-flow/monitoring-data-collection
locale: en
generated_by: markdown-export
---

:::info[Optional implementation]
Monitoring Data Collection is **optional**. If you adopt it, **only the `prepareSelfieCamera` call is affected** — every other step in the capture flow (initialization, callbacks, result handling) remains unchanged.
:::

:::secondary[Don't need the camera at all?]
This page covers `setSilentInfo`, which only takes effect alongside a `prepareSelfieCamera`/`prepareDocumentCamera` call. If you want silent validation without ever opening a camera session (e.g., a login screen), use `initializeSDK` + `startSilentValidation` instead — see [Silent Revalidation](./capture-types/silent-revalidation). Both can be used on the same page.
:::

Attach user and flow metadata to a capture session so it can be correlated in monitoring and observability tools on Unico's side, and so the backend can factor it into the Silent Revalidation result for this transaction. When provided, the data is forwarded alongside the capture and does not change the SDK's capture behavior — but it does affect the Create Process response: see `silentAuth.result` in [Silent Revalidation](./capture-types/silent-revalidation).

## setSilentInfo parameters

| Parameter | Type | Required | Description |
|---|---|:-:|---|
| `externalUserId` | `String` | ✅ | User identifier in your system. Automatically hashed with SHA-256 before transmission — never sent in plain text. |
| `useCase` | `String` | — | Identifier for the flow or context running (e.g., `"account_opening"`, `"password_recovery"`). Transmitted as plain text. |

## Implementation

Call `setSilentInfo` on the built camera instance **before** calling `prepareSelfieCamera`. Everything else in the capture flow stays the same.

```typescript
import { UnicoCheckBuilder, UnicoConfig, SelfieCameraTypes, SDKEnvironmentTypes } from "@acesso-io/unico-webframe";

const config = new UnicoConfig()
  .setHostname("<YOUR_HOSTNAME>")
  .setHostKey("<YOUR_HOST_KEY>");

const unicoCamera = new UnicoCheckBuilder()
  .setEnvironment(SDKEnvironmentTypes.UAT)
  .build();

unicoCamera.setSilentInfo("external_user_id", "flow_id");

await unicoCamera.prepareSelfieCamera(config, SelfieCameraTypes.SMART);
```