> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # DPoPInitError > Thrown when DPoP key initialization fails. Raised during client construction when DPoP (Demonstrating Proof-of-Possession) key initialization fails — typically because the browser does not expose a usable `SubtleCrypto` (insecure origin, very old browser) or persistent storage is unavailable for the key material. The error is fatal: a `SignalWire` instance that cannot initialize DPoP cannot authenticate. ## **Extends** * `Error` ## **Constructors** ### Constructor ```ts new DPoPInitError(originalError, message?): DPoPInitError ``` ### Parameters **`originalError`** `unknown` — required Underlying error raised during DPoP key initialization. --- **`message`** `string` Human-readable error message. --- ## **Properties** **`originalError`** `unknown` — required Underlying error raised during DPoP key initialization. --- ## **Examples** ```ts import { DPoPInitError } from '@signalwire/js'; try { const client = new SignalWire(credentialProvider); await client.connect(); } catch (err) { if (err instanceof DPoPInitError) { // Likely cause: insecure origin or unsupported browser. showFallbackUI('Your browser does not support secure authentication.'); } } ``` > Thrown when DPoP key initialization fails.