SecuGen Connect

The Fingerprint SDK as a Service

Connect your app to SecuGen devices and cross-brand fingerprint workflows —
any language, any platform, one service.
The Problem

Legacy SDKs Are Holding You Back

Biometrics integration has traditionally required developers to wrestle with platform-specific DLLs, JNI bridges, ActiveX controls, and fragile native library dependencies — a different setup for every language and every OS.

Why SecuGen Connect

Works in ANY language. Zero setup.

SecuGen Connect eliminates all of this. It replaces the traditional library model with a local HTTP service that any programming language can call with a single line of code. That means you can build local/desktop applications without a browser runtime and still use one consistent API instead of SDK-specific bindings. For licensed deployments, offline operation is supported by local token validation; with a perpetual policy token (no expiry claim), apps can continue running offline without renewal windows, so this is not limited to always-online app models.

The Solution

SecuGen Connect

One Service. Every Language.

// From Java, Python, C#, Node, Go, Rust... POST https://127.0.0.1:8765/v1/fingerprint/capture Content-Type: application/json Authorization: Bearer <session_token> { "templateFormat": "ANSI378", "timeoutMs": 10000, "returnImage": true }

No JNI. No P/Invoke. No DLL Hell. Just HTTP.

Capabilities

What SecuGen Connect Does

Universal Language Support

Java, Python, C#, Node.js, Go, Rust, PHP, Delphi — if it can make an HTTP call, it works with SecuGen Connect.

🔍

Cross-Brand Template Hub

Submit raw fingerprint images from any source — Suprema, DigitalPersona, or files — and generate ANSI/ISO standard templates through our engine.

🚀

Built-in 1:N Matching

Enroll thousands of users and identify them locally in milliseconds using an integrated SQLite-powered matching engine. No external database required.

🌐

Web-Native

Works in Chrome, Edge, Firefox, and Safari out of the box. No browser extensions, plugins, or applets.

🔒

Enterprise Security

Local TLS 1.3, AES-GCM encrypted template storage, strict CORS origin policies, and session-based authentication.

☁️

Cloud Licensing

Centralized license management server with JWT-based validation. Supports subscription, perpetual, and trial licensing models.


System Architecture

How It Works

SecuGen Connect runs as a background service on the user's machine, bridging your application, the sensor hardware, and the cloud licensing infrastructure.

Client
Server
Cloud Server
🖥️ Desktop App Java · Python · C# · Go
🌐 Web Browser Chrome · Edge · Firefox
📱 Mobile App Android WebView
HTTPS / JSON / WebSocket
🛡️ SecuGen Connect Service
REST API Session Auth CORS Gate Rate Limit
localhost:8765 · TLS 1.3
CGO / Syscall
SQL
HTTPS (Cloud)
🔌 Native SDK sgfplib.dll / .so
📊 1:N Engine SQLite · AES-GCM
☁️ License Server JWT · Stripe Billing
USB HID
🖐️ SecuGen Reader HU20-A · HU20-AP · U20
REST API Layer Matching Engine Cloud Licensing Hardware

Technology

Built With

🐹

Go (Golang)

Compiled single binary. Memory-safe concurrency. Zero runtime deps.

🗃️

SQLite

Embedded, serverless. Template storage with AES-GCM encryption.

🔐

TLS 1.3

Auto-generated localhost certs. HTTPS + WSS by default.

📦

TypeScript SDK

Typed client library with Promise API. npm install ready.


Comparison

SecuGen Connect vs Existing SecuGen Web API

SecuGen Connect keeps the simplicity of web-style integration, then extends it to a secure, enterprise-ready runtime for web, desktop, and mobile teams with one consistent API contract.

Feature SecuGen Connect SecuGen Web API Legacy SDK / Plugin Stack
Architecture Unified local service (REST + WSS + session auth) Web-first local bridge DLL/JNI/ActiveX split stack
Developer Onboarding HTTP call + token only Browser/JS-oriented integration Per-language binaries and runtime setup
Language Coverage Any language that can call HTTPS Best fit for web JavaScript flows SDK-specific (Java/.NET/C++ each separate)
Desktop/Mobile Reuse Same endpoint contract across channels Additional wrappers typically required Rebuild per platform
1:N Identification Built-in encrypted SQLite engine External matching logic needed External matching logic needed
Template Interoperability Any raw image → ANSI/ISO Primarily capture-focused web workflows Often device/SDK-bound flows
Licensing Server Built-in cloud licensing server (JWT) External/app-side licensing flow typically required Dongle/local key distribution model
Deployment Operations Central policy + token-based control Application-managed rollout Manual DLL/plugin distribution

Why this matters: teams standardize on one API, ship features faster, and reduce support tickets tied to native library or browser dependency issues.

Migration Scope

SDKs You Can Replace with SecuGen Connect

For capture, template, verify, and identify workflows, SecuGen Connect can consolidate multiple legacy integration paths (including Linux SDK flows) into one service API.

Replace

FDxSDKPro C/C++ (`SGFPM_*`, Windows/Linux)

Move from handle lifecycle and buffer management to clean HTTPS request/response calls.

Replace

Linux SDK `.so` + Native Binding Layer

Remove per-distro `.so` packaging, linker/runtime path issues, and language-specific wrapper maintenance.

Replace

Java `JSGFPLib` + JNI Setup

Remove JAR + native library packaging and eliminate PATH / JVM-native compatibility issues.

Replace

.NET Native Wrapper Integrations

Avoid x86/x64 binary drift and use the same API contract already used by other stacks.

Replace

Android `FDxSDKPro.aar` Bridge Code

Reuse endpoint-level logic between Android WebView and desktop/web applications.

Modernize

Legacy SecuGen Web API + Plugin-era Pages

Upgrade browser-centric flows to a secure service model ready for multi-channel apps.


Developer Experience

Before & After

❌ Legacy Java SDK

// Requires: sgfplib.jar + platform DLLs // JNI setup, PATH config, .so/.dll copy JSGFPLib fplib = new JSGFPLib(); fplib.Init(SGFDxDeviceName.SG_DEV_AUTO); fplib.OpenDevice(0); byte[] imgBuf = new byte[width*height]; fplib.GetImageEx(imgBuf, 5000, 0, 50); // Manual memory mgmt, error codes... fplib.CloseDevice(); fplib.Close();

✅ SecuGen Connect

// Works in ANY language. Zero setup. HttpClient client = HttpClient.newHttpClient(); var res = client.send( HttpRequest.newBuilder() .uri(URI.create("https://127.0.0.1:8765/v1/fingerprint/capture")) .POST(BodyPublishers.ofString(""" {"templateFormat":"ANSI378"} """)) .build(), BodyHandlers.ofString() );
Deployment Planning

Minimum Requirements & Footprint

Baseline sizing below is derived from the current Windows runtime path and release artifacts (v0.2.12), including live process telemetry on this build.

Minimum Runtime Requirements

OS
Windows 10/11 x64 (current production installer target)
CPU Arch
amd64 (x64) runtime path and preflight check expect amd64
Recommended Spec
2 CPU cores and 4 GB RAM per endpoint for stable day-to-day capture, enroll, and verify workloads
Browser
Required only for web integrations (Chrome / Edge / Firefox with localhost HTTPS trust and allowed origin setup)
Non-Browser App Mode
Supported: desktop/local apps can call SecuGen Connect directly over local HTTPS API (no browser required)
Reader + Driver
SecuGen HU20-A / HU20-AL with SecuGen FDx device driver installed
Network
Loopback service on 127.0.0.1:8765 and outbound license server access when licensing is enabled
Optional Demo Tooling
Node.js 18+ and npm 9+ (only for local demo-web workflows)

Resource Footprint (v0.2.12)

Installer Size
11.6 MB (SecuGen_Connect_Setup_v0.2.12-self-signed.msi)
Core Binary Size
~24.0 MB total (sgbridge.exe + required SecuGen DLL set)
Memory (Idle)
~50 MB private memory / ~62 MB working set (observed on Windows x64)
Initial Data Files
matching.db starts around 40 KB and grows with enroll volume
Recommended Free Disk
150 MB+ per endpoint (runtime + cert + DB/log growth + upgrade headroom)

Note: high-volume enrollment/identify workloads increase memory and database usage; size capacity using your expected template retention policy.


Last built date: 2026-02-15 v0.3.0