Skip to main content
After generating a verification token, you need to send your user to the iDenfy verification UI. There are two approaches: embed an iFrame directly in your page, or redirect the user to an iDenfy-hosted page.

iFrame integration

Embedding the verification flow in an iFrame keeps users on your site and gives you full control over the experience.

Base URL

https://ui.idenfy.com/

Query parameters

ParameterRequiredDescription
authTokenYesThe verification token returned by the token generation endpoint.
langNoForces the UI into a specific language (e.g. en, lt, de). If omitted, the user can choose.

Sizing recommendations

Set the iFrame to a minimum width of 670px and a minimum height of 800px. This ensures all verification steps display correctly without internal scrolling.

Required attributes

You must add the allowfullscreen attribute (or its vendor-prefixed variants) to the iFrame element. This is required for 3D liveness detection to function correctly. Without it, the camera-based liveness check will fail.
<iframe
  allowfullscreen
  webkitallowfullscreen
  mozallowfullscreen
></iframe>

Listening for verification results

When the verification session ends, the iFrame posts a message event to the parent window. You must listen for this event to know the outcome.
window.addEventListener("message", function (event) {
  // Verify the origin for security
  if (event.origin !== "https://ui.idenfy.com") return;

  const data = JSON.parse(event.data);

  console.log("Status:", data.status);
  console.log("Manual status:", data.manualStatus);
  console.log("Auto suspected:", data.autoSuspected);
  console.log("Manual suspected:", data.manualSuspected);
});

Message event fields

FieldTypeDescription
statusstringAutomatic review result: APPROVED, FAILED, or UNVERIFIED.
manualStatusstringManual (human) review result: APPROVED, FAILED, or WAITING.
autoSuspectedbooleantrue if the automatic check flagged the verification as suspicious.
manualSuspectedbooleantrue if a human reviewer flagged the verification as suspicious.
The manualStatus field will be WAITING immediately after the session completes. The final manual review result is delivered asynchronously via webhook. Do not treat WAITING as a final state.
Do not set successUrl, errorUrl, or unverifiedUrl when using the iFrame integration. These parameters cause the iFrame to redirect internally, which breaks the embedded flow. Use the message event instead to handle outcomes.

Full HTML example

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Identity Verification</title>
  <style>
    #idenfy-iframe {
      border: none;
      width: 670px;
      height: 800px;
    }
    @media (max-width: 768px) {
      #idenfy-iframe {
        width: 100%;
        height: 100vh;
      }
    }
  </style>
</head>
<body>
  <iframe
    id="idenfy-iframe"
    allowfullscreen
    webkitallowfullscreen
    mozallowfullscreen
    src="https://ui.idenfy.com/?authToken=YOUR_AUTH_TOKEN"
  ></iframe>

  <script>
    window.addEventListener("message", function (event) {
      if (event.origin !== "https://ui.idenfy.com") return;

      var data = JSON.parse(event.data);

      if (data.status === "APPROVED") {
        // Automatic check passed — show success state
      } else if (data.status === "FAILED") {
        // Automatic check failed — show failure state
      } else if (data.status === "UNVERIFIED") {
        // Could not determine automatically — wait for manual review
      }

      // Always check manualStatus via webhook for the final result
    });
  </script>
</body>
</html>

Redirect integration

If you prefer a simpler integration without iFrame embedding, redirect the user to the iDenfy verification page. The user leaves your site, completes verification, and is redirected back.

Redirect URL

https://ivs.idenfy.com/api/v2/redirect?authToken={authToken}
Replace {authToken} with the token from the token generation endpoint.
When using redirect, you can configure successUrl, errorUrl, and unverifiedUrl during token generation. iDenfy will redirect the user back to the appropriate URL after the session ends.

Why there is no Web SDK

iDenfy intentionally does not provide a JavaScript Web SDK. The iFrame approach is the recommended integration for web applications.
Benefits of the iFrame-only approach:
  • Always up to date — your integration automatically uses the latest UI, liveness detection, and document recognition without any code changes on your side.
  • Lighter integration — no package to install, no bundle size impact, no dependency management.
  • Future-proof — new features, supported documents, and UX improvements are available immediately.
  • No version management — you never need to track SDK releases or handle breaking changes.

Next steps

Set up webhooks

Receive real-time verification results on your server.

Mobile SDKs

Native Android and iOS SDKs for mobile apps.