> ## Documentation Index
> Fetch the complete documentation index at: https://docs.idesify.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Package setup, the optional engine dependency, and supported browsers

## Install the package

<CodeGroup>
  ```bash npm theme={null}
  npm install idesify
  ```

  ```bash pnpm theme={null}
  pnpm add idesify
  ```

  ```bash yarn theme={null}
  yarn add idesify
  ```
</CodeGroup>

That is the whole install for `idesify/rights` and `idesify/consent`.

## The engine, for verification only

The identity verification flow runs an on-device engine that is declared as an **optional peer dependency**. Install it alongside the SDK when you use `idesify/verification` or the low-level root entry:

```bash theme={null}
npm install idesify @idesify/client-core
```

Skip it entirely if you only use the rights or consent widgets — that is why it is optional, and it keeps those widgets small.

<Note>
  No bundler asset configuration is needed. The engine inlines its own binary, so there is no separate `.wasm` file for your bundler to resolve and nothing to copy into your static assets.
</Note>

## Browser support

| Browser | Minimum |
| - | - |
| Chrome (and Chromium-based) | 91+ |
| Firefox | 89+ |
| Safari | 16.4+ |

The verification flow additionally requires camera access in a secure context — HTTPS, or `localhost` during development. The rights and consent widgets have no secure-context requirement.

## Server-side rendering and CommonJS

`idesify/verification`, `idesify/rights`, and `idesify/consent` import cleanly in any CommonJS or server-rendering context.

The **root** `idesify` entry re-exports the engine synchronously, so `require("idesify")` needs **Node 22.12 or newer**. The three subpath entries have no such floor.

<Warning>
  Mount any widget from a client-side effect. All of them touch `document` when they start, so calling `start()` during server rendering will fail.
</Warning>

## The low-level entry

Importing from `idesify` directly gives you camera orchestration and the frame bridge without the bundled UI. Reach for it only when you are building your own capture experience and are prepared to own the screens, the framing guidance, and the retry behavior yourself.

For everything else, `idesify/verification` is the supported path — it already handles the flow, theming, localization, and error recovery.

<Card title="Build your first verification" icon="arrow-right" horizontal href="/sdk/verification/quickstart">
  Mint a session token, mount the flow, and read the decision.
</Card>
