@dwield/device-biometrics-sdk
v1.2.3
Published
A JavaScript SDK providing Device Info, Behavioural Biometrics, and Combined Fingerprinting capabilities.
Downloads
560
Maintainers
Readme
🌐 Dwield Device Intelligence & Behavioural Biometrics SDK
Next-gen Device Intelligence · Behavioural Biometrics · Fraud Prevention
The Dwield SDK provides high-accuracy device fingerprinting, behavioural biometrics, and combined identity intelligence—all in a lightweight JavaScript package designed for modern web applications.
Whether you're building fraud detection, bot defense, risk scoring, or continuous authentication, Dwield gives you deep visibility into user behaviour & device environments with minimal integration effort.
✨ Key Capabilities
🖥️ Device Intelligence
Detect spoofing, automation, emulators, privacy modes, and high-risk environments.
Includes:
- Browser & OS attributes
- Canvas, audio & WebGL fingerprinting
- Incognito detection
- Plugin, fonts & storage capabilities
- Device sensors (orientation, motion, battery)
- Bot detection signals
🎯 Behavioural Biometrics
Understand how a user behaves—not just what they input.
Captures:
- Keystroke rhythm & timing
- Mouse movement velocity & acceleration
- Movement patterns & micro-behaviours
- Human vs bot interaction signals
Privacy-preserving (no raw keystrokes recorded).
🔗 Combined Device Fingerprint
Merge device signals + behavioural signals into a single high-confidence identity token.
Ideal for:
- Login risk scoring
- Fraud detection
- Payment protection
- Session integrity
- Zero-trust systems
⚡ Installation
npm install @dwield/device-biometrics-sdkor
yarn add @dwield/device-biometrics-sdk🚀 Quick Start
Dwield provides three product tiers, each accessible via a different initializer.
1️⃣ Device Intelligence SDK
Initialize
import { initDeviceInfo } from "@dwield/device-biometrics-sdk";
const client = initDeviceInfo({
apiKey: "YOUR_API_KEY",
verbose: true,
});Get Device Fingerprint
const device = await client.getDeviceData();
console.log("Device Fingerprint:", device);2️⃣ Behavioural Biometrics SDK
Start Tracking
import { initBiometrics } from "@dwield/device-biometrics-sdk";
const client = initBiometrics({ apiKey: "YOUR_API_KEY" });
client.initKeyStrokeDynamics();
client.initMouseDynamics();Read Behavioural Metrics
const keystrokes = client.fetchKeyStrockDynamicsData();
const mouse = client.fetchMouseDynamicsData();Stop Tracking
client.stopKeyStrokeDynamics();
client.stopMouseDynamics();3️⃣ Combined Fingerprinting SDK
(Device Info + Behavioural Biometrics)
import { initDeviceInfoWithBiometrics } from "@dwield/device-biometrics-sdk";
const client = initDeviceInfoWithBiometrics({
apiKey: "YOUR_API_KEY"
});Start tracking:
client.initKeyStrokeDynamics();
client.initMouseDynamics();Fetch full fingerprint:
const fingerprint = await client.getDeviceInfoWithBiometrics();
console.log("Full Fingerprint:", fingerprint);Stop:
client.stopKeyStrokeDynamics();
client.stopMouseDynamics();⚛️ React Integration (Recommended)
import { useEffect, useRef, useState } from "react";
import { initDeviceInfoWithBiometrics } from "@dwield/device-biometrics-sdk";
export default function FingerprintForm() {
const sdkRef = useRef(null);
const [result, setResult] = useState(null);
useEffect(() => {
const client = initDeviceInfoWithBiometrics({
apiKey: "YOUR_API_KEY",
verbose: true
});
client.initKeyStrokeDynamics();
client.initMouseDynamics();
sdkRef.current = client;
return () => {
client.stopKeyStrokeDynamics();
client.stopMouseDynamics();
};
}, []);
const handleSubmit = async () => {
const fp = await sdkRef.current.getDeviceInfoWithBiometrics();
setResult(fp);
};
return (
<>
<button onClick={handleSubmit}>Submit with Fingerprint</button>
{result && <pre>{JSON.stringify(result, null, 2)}</pre>}
</>
);
}🌍 Vanilla JavaScript Example
<script type="module">
import { initDeviceInfo } from "https://cdn.skypack.dev/@dwield/device-biometrics-sdk";
(async () => {
const client = initDeviceInfo({ apiKey: "YOUR_API_KEY" });
const data = await client.getDeviceData();
console.log("Device Info:", data);
})();
</script>📊 Sample Combined Fingerprint
{
"behavioural": {
"keystroke": { ... },
"mouse": { ... }
},
"device": {
"browserInfo": { ... },
"webglInfo": { ... },
"fonts_available": [ ... ],
"batteryInfo": { ... }
},
"timestamp": "2025-01-01T10:05:32.911Z"
}📚 API Reference
initDeviceInfo(config) → DeviceInfoSDK
interface DeviceInfoSDK {
product: "device_id";
getDeviceData(): Promise<any>;
}initBiometrics(config) → BiometricsSDK
interface BiometricsSDK {
initKeyStrokeDynamics(): void;
stopKeyStrokeDynamics(): void;
initMouseDynamics(): void;
stopMouseDynamics(): void;
fetchKeyStrockDynamicsData(): any;
fetchMouseDynamicsData(): any;
}initDeviceInfoWithBiometrics(config) → CombinedSDK
interface CombinedSDK {
initKeyStrokeDynamics(): void;
stopKeyStrokeDynamics(): void;
initMouseDynamics(): void;
stopMouseDynamics(): void;
fetchKeyStrockDynamicsData(): any;
fetchMouseDynamicsData(): any;
getDeviceData(): Promise<any>;
getDeviceInfoWithBiometrics(): Promise<any>;
}🔐 Security & Privacy
Dwield SDK is built with privacy in mind:
- No raw keystrokes recorded
- No PII captured
- Behavioural signals are anonymized
- Fully compliant with GDPR when used with proper consent
🧠 TypeScript Support
Rich TypeScript definitions included:
- Strong typing
- IntelliSense
- Autocomplete for all SDK clients
Enable using:
"types": "./types/index.d.ts"🏢 Enterprise Features (Optional Add-ons)
- License key validation
- Server-side risk scoring engine
- Device correlation
- Session intelligence
- Real-time fraud rules
📞 Support
For enterprise licensing, help, or integration:
📧 [email protected]
🌍 https://dwield.com (placeholder)
📄 License
Proprietary — Dwield Technologies.
Contact us for commercial usage and redistribution permissions.
