---
title: Instalación
description: Configure la CSP, instale el paquete del Web SDK y descargue los archivos de recursos necesarios para la captura de Detección de Vida.
canonical: https://developer.unico.io/es/dual-api/developers/sdks-and-tools/web/web-sdk/installation/
locale: es
generated_by: markdown-export
---

## Agregar la dependencia y configurar el gestor de paquetes

****Paso 1** — Configurar la Política de Seguridad de Contenido (CSP)**

El Web SDK utiliza Web Workers para la seguridad y el rendimiento. Agregue la siguiente configuración a su CSP:

  ```html
  <meta
    http-equiv="Content-Security-Policy"
    content="
        script-src 'self' 'unsafe-eval' *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app *.sentry.io *.launchdarkly.com *.newrelic.com bam.nr-data.net;
        worker-src 'self' blob:;
        child-src 'self' blob:;
        style-src 'self' 'unsafe-inline' *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app;
        font-src 'self' https://fonts.gstatic.com *.acesso.io *.unico.run *.unico.io *.unico.app;
        img-src 'self' data: blob: *.acesso.io *.unico.run *.unico.io *.unico.app;
        media-src 'self' data: *.acesso.io *.unico.run *.unico.io *.unico.app;
        script-src-elem 'self' 'unsafe-inline' blob: *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app;
        connect-src *.googleapis.com *.acesso.io *.unico.run *.unico.io *.unico.app *.sentry.io *.launchdarkly.com *.newrelic.com bam.nr-data.net"
  />
  ```

  :::warning
  Si su aplicación tiene una CSP, esta configuración es obligatoria para garantizar el correcto funcionamiento del SDK.
  :::

  :::info[Por qué se requiere cada directiva]
  - **`'unsafe-eval'`** (script-src) — requerido por el motor de detección de vida para compilar WebAssembly y evaluar dinámicamente sus rutinas de seguridad en tiempo de ejecución.
  - **`'unsafe-inline'`** (style-src, script-src-elem) — requerido por los estilos en línea y el arranque de scripts en línea del SDK. Eliminarlo rompe la interfaz de captura.
  - **`*.acesso.io`** — dominio de infraestructura heredado de Unico, aún necesario para assets y llamadas a la API.
  - **`*.unico.run` / `*.unico.io` / `*.unico.app`** — dominios de servicio actuales de Unico (CDN, API y subdominios de la aplicación).
  - **`*.googleapis.com`** (script-src, style-src, script-src-elem, connect-src) — requerido para cargar la hoja de estilos de Google Fonts (CSS `@font-face` vía `fonts.googleapis.com`) y otros recursos de la API de Google utilizados por la interfaz de captura.
  - **`fonts.gstatic.com`** (font-src) — Proporciona los archivos binarios de fuentes de Google Fonts referenciados por la hoja de estilos cargada desde `fonts.googleapis.com`.
  - **`*.sentry.io`** — Unico usa Sentry para el seguimiento de errores del SDK. Requerido en `script-src` y `connect-src` para permitir las llamadas de reporte de errores.
  - **`*.launchdarkly.com`** — Unico usa LaunchDarkly para la evaluación de feature flags que controlan el comportamiento del SDK (por ejemplo, la selección del motor de cámara). Requerido en `script-src` y `connect-src` para permitir las llamadas de streaming y evaluación de flags.
  - **`*.newrelic.com` / `bam.nr-data.net`** — Unico usa New Relic Browser para el monitoreo de rendimiento del SDK. Requerido en `script-src` (script del agente) y `connect-src` (llamadas de beacon).
  - **`blob:`** (worker-src, child-src, script-src-elem) — requerido porque los Web Workers y ciertos sub-recursos del SDK se crean como URLs Blob en tiempo de ejecución.
  :::

****Paso 2** — Instalar el paquete**

El Web SDK está disponible a través de un paquete npm o CDN.

  ### npm

    ```bash
    npm install unico-webframe
    ```

### yarn

    ```bash
    yarn add unico-webframe
    ```

### CDN

Descargue el SDK e impórtelo en su proyecto:

    - [Descargar versión `3.23.7`](https://cdn.unico.io/sdk/check/bio/unico-webframe-3.23.7.zip)

****Paso 3** — Importar el SDK**

Después de instalar, importe el SDK en su proyecto.

  ### Desde npm

    ```javascript
    import {
      UnicoCheckBuilder,
      SelfieCameraTypes,
      UnicoThemeBuilder,
      DocumentCameraTypes,
      UnicoConfig,
      LocaleTypes
    } from 'unico-webframe'
    ```

### Desde CDN

    ```javascript
    import {
      UnicoCheckBuilder,
      SelfieCameraTypes,
      UnicoThemeBuilder,
      DocumentCameraTypes,
      UnicoConfig,
      LocaleTypes
    } from 'UnicoCheckBuilder.min.js'
    ```

****Paso 4** — Descargar archivos de recursos adicionales**

Se requieren archivos de recursos adicionales para realizar la captura de Detección de Vida. Descargue el archivo correspondiente a su versión del SDK e inclúyalo en su proyecto:

  :::warning[Lista de verificación de actualización]
  Los archivos de recursos están vinculados a la versión del SDK. Cada vez que actualice `unico-webframe`, **debe** volver a descargar los recursos correspondientes de la tabla a continuación — el uso de versiones incompatibles provoca un error en tiempo de ejecución durante la captura de Detección de Vida.

  **Alternativamente**, desde el SDK 3.18.0 el SDK puede obtener automáticamente estos archivos en el momento de la inicialización, eliminando el paso de descarga manual. Consulte [Inicialización](/dual-api/developers/sdks-and-tools/web/web-sdk/initialization) para la opción `setResourceDirectory`.
  :::

  | Versión del SDK | Recursos de FaceTec |
  |---|---|
  | 3.23.7 | [9.7.114](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.114/resources.zip) |
  | 3.23.3 → 3.23.6 | [9.7.107](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.107/resources.zip) |
  | 3.23.0 → 3.23.1 | [9.7.102](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.102/resources.zip) |
  | 3.22.6 → 3.22.7 | [9.7.100](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.100/resources.zip) |
  | 3.22.5 | [9.7.99](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.99/resources.zip) |
  | 3.22.3 → 3.22.4 | [9.7.98](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.98/resources.zip) |
  | 3.22.2 | [9.7.96](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.96/resources.zip) |
  | 3.22.1 | [9.7.93](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.93/resources.zip) |
  | 3.22.0 | [9.7.90](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.90/resources.zip) |
  | 3.21.3 → 3.21.4 | [9.7.85](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.85/resources.zip) |
  | 3.21.2 | [9.7.82](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.82/resources.zip) |
  | 3.21.1 | [9.7.80](https://cdn.unico.io/sdk/check/facetec/v2-browser-v9.7.80/resources.zip) |
  | 3.20.10 → 3.21.0 | [9.7.76](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.76/resources.zip) |
  | 3.20.9 | [9.7.75](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.75/resources.zip) |
  | 3.20.8 | [9.7.73](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.73/resources.zip) |
  | 3.20.7 | [9.7.68](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.68/resources.zip) |
  | 3.20.5 → 3.20.6 | [9.7.65](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.65/resources.zip) |
  | 3.20.3 → 3.20.4 | [9.7.64](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.64/resources.zip) |
  | 3.20.2 | [9.7.63](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.63/resources.zip) |
  | 3.20.1 | [9.7.61](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.61/resources.zip) |
  | 3.20.0 | [9.7.55](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.55/resources.zip) |
  | 3.19.0 → 3.19.3 | [9.7.45 → 9.7.51](https://cdn.unico.io/sdk/check/facetec/browser-v9.7.51/resources.zip) |
  | 3.18.x | 9.6.92 → 9.7.41 (ver tabla heredada) |

  También descargue los **archivos de IA** para el SDK: [models.zip](https://cdn.unico.io/sdk/check/bio/models.zip).

  :::warning[Ruta pública]
  Todos los archivos adicionales deben estar alojados en una ubicación pública, visible en la Web dentro de su proyecto.
  :::