conekta-device-data-collector
v1.0.2
Published
JavaScript library for device fingerprinting and fraud prevention in Conekta payment applications. Collects comprehensive device data using FingerprintJS to enhance security and reduce fraud risk.
Maintainers
Readme
Conekta Device Data Collector
JavaScript library for device fingerprinting and fraud prevention in Conekta payment applications. Collects comprehensive device data using FingerprintJS to enhance security and reduce fraud risk.
🚀 Features
- Fraud Prevention: Advanced device identification using FingerprintJS
- Easy Implementation: Simple API with minimal configuration
- Auto-Loading: FingerprintJS loads automatically when needed
- TypeScript: Complete typing for better development
- CDN Ready: Works seamlessly via CDN or NPM
- HTTP/HTTPS Support: Reliable UUID generation in both secure and non-secure contexts
📦 Installation
NPM
npm install conekta-device-data-collectorCDN
<script src="https://unpkg.com/conekta-device-data-collector/dist/index.umd.min.js"></script>🛠️ Quick Start
NPM Usage
import ConektaDeviceDataCollector from 'conekta-device-data-collector';
await ConektaDeviceDataCollector.init({
publicKey: 'your_public_key_here'
});CDN Usage
<script>
ConektaDeviceDataCollector.init({
publicKey: 'your_public_key_here'
}).then(() => {
console.log('✅ Initialized successfully');
});
</script>📚 API Reference
Initialization
interface DeviceDataCollectorCustomConfig {
publicKey: string; // Required public key
sessionId?: string; // Custom session ID (optional)
fingerprintVisitorId?: string; // Custom visitor ID (optional)
metadata?: Record<string, any>; // Additional metadata (optional)
}
await ConektaDeviceDataCollector.init(config);Get Session ID
const sessionId = ConektaDeviceDataCollector.getSessionId();Event System
ConektaDeviceDataCollector.on('initialized', (event) => {
console.log('Device Data Collector initialized', event.data);
});
ConektaDeviceDataCollector.on('data_collected', (event) => {
console.log('Data collected', event.data);
});
ConektaDeviceDataCollector.on('error', (event) => {
console.error('Error in Device Data Collector', event.error);
});Cleanup
ConektaDeviceDataCollector.destroy();🛡️ Security & Fraud Prevention
Features
- Advanced Device Identification: Uses FingerprintJS for robust device identification
- Suspicious Behavior Detection: Collects data for risk analysis
- Input Validation: Complete validation of configuration and data
- Secure Error Handling: No sensitive information exposed in errors
- Retry Logic: Intelligent handling of network failures
Collected Data
- Browser information (User Agent, language, platform)
- Screen information (resolution, color depth)
- Hardware information (device memory, CPU cores)
- Location information (timezone, current URL)
- Fingerprint visitor ID
- Metadata provided by the user
📋 Requirements
- Browsers: Chrome 60+, Firefox 55+, Safari 12+, Edge 79+
- APIs: fetch, sessionStorage, crypto.randomUUID, navigator, screen, location
- Dependencies: None! FingerprintJS loads automatically
🤝 Contributing
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
🆘 Support
- Documentation: docs.conekta.com
- Issues: GitHub Issues
- Email: [email protected]
