SecuGen Connect
Fingerprint API for developers

Add fingerprint authentication to any app with one API.Web, desktop, or mobile. Any programming language.Platform-independent. Language-independent by design.

Add fingerprint capture, enrollment, verification, and identification (with a Connect License) to web, desktop, and mobile apps. Call one consistent local HTTP API directly—or use an optional Connect SDK. Connect Bridge, a background service on the same device as your app, handles the reader.

Biometric operations stay local by default HTTP + JSON Direct API or optional SDKs
How it works

Your app calls Connect Bridge. Connect Bridge handles the reader.

No platform-specific or language-specific application code.

Connect Bridge runs on the user’s device. It turns local requests from your app into fingerprint operations and returns consistent responses. Licensing, policy settings, and optional cloud services stay separate from the connection between your app and the reader.

Your App
Web, desktop, or mobile
Connect Bridge
Local HTTP API
SecuGen Reader
Capture and device access
Benefit · 01

Keep fingerprint work on the device

Capture fingerprints, create standards-based templates, enroll users, and verify or identify them on the user’s device by default. Identification needs a Connect License. Capture, template creation, enrollment, and verification need no license while a SecuGen reader is connected.

Benefit · 02

Use the programming language you already know

Call the API from any programming language that can send web (HTTP) requests. Optional Connect SDKs for specific languages are also available. Your app does not depend on reader-specific libraries.

Benefit · 03

Add controls without changing your code

Add authenticated sessions, digitally signed licenses, policy controls, and auditing without changing your existing integration.

Without SecuGen Connect
"Choose a toolkit. Add its libraries. Repeat for every platform and language."
One platform at a time · One language at a time · More work to maintain
With SecuGen Connect
"Write your code once. Connect Bridge handles the reader."
Any language · Works on the device · One consistent API
Enterprise Solutions

Manage licenses and security for all your devices in one place

SecuGen Connect combines policy controls, automated license management, and auditable biometric workflows. You manage all your device licenses from one account, and your orders and licenses stay synchronized.

Central license rules

Set token lifetime, check-in windows, feature access, and offline grace rules in one place. Ed25519/EdDSA-signed entitlements keep local runtime validation tamper-evident.

Manage device licenses

Manage all your device licenses from your customer account. Each seat is one installed Connect Bridge. Seats can be issued, activated, suspended, and revoked, and every change can be audited.

Built-in attack protection

Rate limits, protection against repeated guessing (brute-force attacks), and strict origin and session checks reduce the risk of attack. These controls do not slow down your development teams.

The same process in every app

One standard API keeps enrollment, verification, and support processes consistent across web, desktop, and service integrations.

Orders linked to your licenses

Your orders, payment status, and license activation stay synchronized, so your product access matches what you ordered.

Event records on the device

Connect Bridge records enrollment, authentication, and license events on the device, and it does not send these records to SecuGen. Your team can use them to investigate incidents.

Meet SecuGen Connect

How SecuGen Connect works

Connect Bridge turns supported SecuGen readers into one consistent loopback HTTP API. Loopback means the API runs on the same device as your app. Your app can call it directly or through an optional Connect SDK, without device-specific SDK code in every application.

Capture

Use supported SecuGen readers through Connect Bridge. The package for each platform handles the reader, so your app does not call reader drivers directly.

Match

Capture and compare ANSI 378, ISO/IEC 19794-2, and SecuGen SG400 templates. Capture does not upload biometric data; your application controls storage and any network transfer.

Integrate

Use SGDISC for bounded loopback discovery and REST/JSON for operations. Any language that can call local HTTP works, including JavaScript, .NET, Python, Go, Swift, and Kotlin.

Set up in three steps

1

Install Connect Bridge

Install the platform package on the device paired with or connected to the reader. It sets up Connect Bridge as a local service. Then activate a license and allow your application origin when your deployment requires it.

2

Discover Connect Bridge

Look for Connect Bridge on the same device as your app. Check 127.0.0.1 ports 4499 through 4494 with SGDISC /v1/discover, then verify the protocol marker. Reader capture stays local; licensing, update checks, and application-directed transfers are separate network activity.

3

Capture and match

Start a short-lived session, include a new one-time security code (nonce), and send capture and match requests. The hosted Connect demo shows local capture and 1:1 matching from beginning to end.

For developers

Discovery + REST
Works with any programming language

Connect Bridge is a local service that runs on the same computer as your app. It answers standard web requests (HTTP with JSON data). Almost every programming language can send web requests. This means your team can use a language it already knows, such as JavaScript, C#, Java, Python, or Go. You do not need a separate fingerprint SDK for each language. Your app finds the Connect Bridge service on the device, then sends simple requests, for example to capture a fingerprint. For security, your application backend must create a new one-time security code before each fingerprint capture. Your app sends this code with the capture request. A new security code is required for every capture.

JavaScript exampleShow codeHide code
const loopbackPorts = [4499, 4498, 4497, 4496, 4495, 4494];

async function discoverBridge() {
  for (const port of loopbackPorts) {
    try {
      const response = await fetch(
        `http://127.0.0.1:${port}/v1/discover`,
        { method: 'SGDISC' }
      );
      if (!response.ok) continue;
      const metadata = await response.json();
      const expectedBase = `http://127.0.0.1:${port}`;
      if (metadata.product === 'SecuGen Connect' &&
          metadata.protocol === 'secugen-connect/1' &&
          metadata.method === 'SGDISC' &&
          metadata.baseUrl === expectedBase) return expectedBase;
    } catch (_) { /* try the next bounded loopback port */ }
  }
  throw new Error('connect_bridge_not_found');
}

async function readJson(response) {
  const body = await response.json();
  if (!response.ok || body.ok === false) {
    throw new Error(body.error || `http_${response.status}`);
  }
  return body;
}

// enrolledTemplate: { format: 'ISO19794_2', dataBase64: '...' }
async function captureAndMatch(serverNonce, enrolledTemplate) {
  const base = await discoverBridge();

  const health = await fetch(base + '/v1/health').then(readJson);
  if (!health.ok) throw new Error('connect_bridge_not_ready');

  const session = await fetch(base + '/v1/session/start', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ client: { name: 'my-app', version: '1.0.0' } })
  }).then(readJson);

  const capture = await fetch(base + '/v1/fingerprint/capture', {
    method: 'POST',
    headers: {
      Authorization: 'Bearer ' + session.sessionToken,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      nonce: serverNonce,
      timeoutMs: 10000,
      minQuality: 50,
      templateFormat: 'ISO19794_2',
      returnImage: false,
      smartCapture: true,
      blinkLed: true,
      touchGate: true
    })
  }).then(readJson);

  if (enrolledTemplate.format !== capture.templateFormat) {
    throw new Error('template_format_mismatch');
  }

  return fetch(base + '/v1/match/score', {
    method: 'POST',
    headers: {
      Authorization: 'Bearer ' + session.sessionToken,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      template1: {
        format: capture.templateFormat,
        dataBase64: capture.templateBase64
      },
      template2: enrolledTemplate,
      securityLevel: 5
    })
  }).then(readJson);
}

What is included

One loopback API for supported SecuGen readers
Biometric data moves only when your application sends it
No reader driver code in your app
Origin checks, short sessions, one-time codes
Cloud-issued licenses with local validation
Ed25519-signed entitlements

Where it fits

Banking & KYC

Teller workstations, branch kiosks, and customer onboarding on managed devices.

Healthcare

Patient check-in, clinician authentication, and medication-dispense verification.

Retail & Workforce

Point-of-sale, clock-in, loyalty sign-ups, and anywhere else a password is too inconvenient.

Download Center

Download Connect Bridge and developer tools

Deploy without guessing which files (artifacts) to use. Every Connect Bridge runtime and Connect SDK package is listed with its commit hash, size, and SHA256 checksum. Downloads are available for Windows, macOS, Linux, Android, and iOS. Windows is ready for production use.

Bridge0
SDK0
Checksums0
Open this tab to load the current runtime catalog.
Open this tab to load the current Connect SDK packages.
Open the catalog to load the current list of releases.
Catalog generated: - · Waiting

Try SecuGen Connect with your SecuGen reader

Checking bridge…
Version —

Capture & Enrollment

No device selected
Capture Settings · saved in metadata
Enroll Finger A—
Tap Capture
No template yet
Enroll Finger B—
Tap Capture
No template yet
Probe—
Tap Capture
No template yet

1:1 Match Test

Capture at least one enrolled slot and the probe, then run a match.

Activity

--:--:--Ready. This tab refreshes automatically. To check Connect Bridge again now, click Refresh.
Developer Guide

Build on SecuGen Connect: start here

These guides cover architecture, the local Connect Bridge HTTP contract, browser integration, and native WebAPI compatibility. They also cover SDK wrappers for existing FDxSDK Pro / JSGFPLib applications. Each guide opens as a printable HTML page. The Print / Save PDF button opens your browser's print dialog, so you can keep an offline copy.

Core

SecuGen Connect — Developer Guide

Architecture overview, integration model, and a quick-start walkthrough. Read this first if you are new to SecuGen Connect.

API Reference

Local Bridge API Contract

The stable loopback HTTP API: endpoints, request and response schemas, authentication model, error codes, and versioning policy.

Web

Browser Integration Guide

CORS preflight, Private Network Access, HTTP loopback, HTTPS fallback, and a recommended capture flow that degrades gracefully when Connect Bridge is missing.

Native SDK

Native SDK Wrapper Guide

The Linux C API and Windows C# wrappers that let FDxSDK Pro applications target Connect with the same lifecycle and method names.

Print & PDF. Each guide opens in a new tab. Click Print / PDF on any guide to open your browser's print dialog. Choose Save as PDF as the destination to download an offline copy. The print stylesheet hides the page header, footer, and buttons, and optimizes the layout for letter / A4.