bureau-device-intelligence
v2.0.4
Published
Bureau Device Intelligence React Native SDK
Downloads
1,340
Maintainers
Readme
@bureau/device-intelligence
React Native SDK for Bureau Device Intelligence with sophisticated native module integration.
Installation
yarn add @bureau/device-intelligenceiOS Setup
cd ios && pod installAndroid Setup
No additional setup required for Android.
Usage
import {
initDeviceIntelligence,
submitDeviceIntelligence,
enableRiskMonitoring,
disableMonitoring,
setUserId,
setMetaInfo,
setFlow,
isInitialized,
getUserId,
Environment,
RiskMonitoringMode,
} from '@bureau/device-intelligence';
// Initialize the SDK
initDeviceIntelligence({
credentialId: 'your-credential-id',
env: Environment.SANDBOX,
});
// Set user information
setUserId('user-123');
setMetaInfo({
sessionId: 'session-456',
flow: 'onboarding',
});
// Submit device intelligence data
const result = await submitDeviceIntelligence();
console.log('Device insights:', result.insights);
// Enable risk monitoring
await enableRiskMonitoring({
mode: RiskMonitoringMode.CONTINUOUS,
frequency: 5000,
suspiciousSignalCallback: {
onDeviceRooted: (isRooted) => {
console.log('Device rooted:', isRooted);
},
onDeveloperModeStatusChanged: (isEnabled) => {
console.log('Developer mode:', isEnabled);
},
},
});
// Disable monitoring when done
await disableMonitoring();API Reference
Core Functions
initDeviceIntelligence(config: BureauConfig): void- Initialize the SDKsubmitDeviceIntelligence(): Promise<SubmitResponse>- Submit device dataisInitialized(): Promise<boolean>- Check if SDK is initializedgetUserId(): Promise<string>- Get current user ID
Configuration Functions
setUserId(userId: string): void- Set user IDsetMetaInfo(metaInfo: MetaInfo): void- Set metadatasetFlow(flow: string): void- Set flow identifier
Risk Monitoring
enableRiskMonitoring(options: RiskMonitoringOptions): Promise<string>- Enable monitoringdisableMonitoring(): Promise<string>- Disable monitoring
Types
BureauConfig- SDK configurationMetaInfo- Metadata informationSubmitResponse- Response from device intelligence submissionRiskMonitoringOptions- Risk monitoring configurationSuspiciousSignalCallback- Callback functions for suspicious signalsEnvironment- SDK environment (PRODUCTION, SANDBOX)RiskMonitoringMode- Monitoring mode (CONTINUOUS, INSTANT)
Native Module Integration
iOS
The iOS native module provides:
- Device fingerprinting
- Jailbreak detection
- App store validation
- Frida detection
- Risk assessment
Android
The Android native module provides:
- Device fingerprinting
- Root detection
- ADB status monitoring
- App cloning detection
- Debugging detection
- Risk assessment
Permissions
The SDK requires the following permissions:
Android
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />iOS
No additional permissions required.
License
MIT
