@trustdevicejs/trustdevice-js
Version:
A lightweight library for determining device uniqueness and risk identification.
198 lines (164 loc) • 9.57 kB
Markdown
<p align="center">
<a href="https://www.trustdecision.com/deviceFingerprint" >
<picture>
<source media="(prefers-color-scheme: dark)" srcset="static/image/logo_dark.png" />
<source media="(prefers-color-scheme: light)" srcset="static/image/logo_light.png" />
<img src="static/image/logo_dark.png" alt="trustdevice logo" width="729px" height="67px"/>
</picture>
</a>
</p>
## TrustDevice-JS
<p align="center">
<a href="https://www.npmjs.com/package/@trustdevicejs/trustdevice-js">
<img src="https://img.shields.io/npm/v/@trustdevicejs/trustdevice-js.svg" alt="Current NPM version">
</a>
<a href="https://www.npmjs.com/package/@trustdevicejs/trustdevice-js">
<img src="https://img.shields.io/npm/dm/@trustdevicejs/trustdevice-js.svg" alt="Monthly downloads from NPM">
</a>
<a href="https://www.jsdelivr.com/package/npm/@trustdevicejs/trustdevice-js">
<img src="https://img.shields.io/jsdelivr/npm/hm/@trustdevicejs/trustdevice-js.svg" alt="Monthly downloads from jsDelivr">
</a>
</p>
A lightweight library for determining device uniqueness and risk identification.
Create a device identifier based on basic device information.
Will remain the same after uninstalling and reinstalling or clearing browser data.
🪧Attention🪧:The functions of the basic version of github are relatively limited.
You can visit [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-5fkjqqnkoajcs?sr=0-1&ref_=beagle&applicationId=AWSMPContessa) or [TrustDecision](https://trustdecision.com/solutions/device-fingerprint) to learn about our professional version.
[Open Source Demo](https://statictest.tongdun.net/trustdevice/index.html)
### Browser support
- Internet Explorer 9+
- Edge 12+
- Chrome 33+
- Firefox 29+
- Desktop Safari 7.1+
- Mobile Safari 8+
- Android Browser 4.4+
## Integration Description
```html
<script>
(function () {
window._fmOpt = {
success: function (result) {
console.log('deviceId: ', result.deviceId)
}
}
var fm = document.createElement('script');
fm.type = 'text/javascript';
fm.async = true;
fm.src =
'./dist/fm.js?t='
+ (new Date().getTime()/3600000).toFixed(0);
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(fm, s);
})();
</script>
```
## Open Source Features
+ Basic device ID, consistent when uninstalling applications and reinstalling.
+ Basic equipment information, which can be used for simple data analysis.
+ Basic risk identification ability
| RiskLabel | Risk Description |
| --------- | --------------------------- |
| disabledCookie | Cookies are set to disable. |
| debugger | The attacker or developer opens the browser developer tool for debugging. |
## Open Source VS Pro
| Ability | Open Source | Pro |
| :-------: | :-------: | :-------------------------: |
| 100%open source | yes | no |
| Device ID | Basic | Extremely stable |
| Device Risk Label | Basic | Extremely rich |
| Device Details | Basic | Extremely rich |
| IP Location | - | ✓ |
| Device Risk Score | - | ✓ |
| Environment Risk Evaluation | - | ✓ |
| Fraud Tools Detection | - | ✓|
| Behavioral Activity Capturing | - | ✓ |
## Pro Introduction
TrustDecision TrustDevice has the leading device fingerprint technology, which has been integrated by more than 10000 global leading brands, protecting the entire customer journey.
<p align="left">
<a href="https://www.trustdecision.com/solutions/trustdevice">
<img src="static/image/trustdevice_card.png" alt="trustdevice card" />
</a>
</p>
**There are 6 leading core features about TrustDevice Pro:**
### 1. Wide Coverage
Comprehensive coverage of Android, iOS, Web, H5, applets and other device types.
### 2. Stable and Reliable
TrustDevice served more than 10,000 clients, 200 million+ daily active users , and 6 billion+ devices , with excellent product functions and stability.
The fingerprint accuracy of different terminal devices exceeded 99.9%, and the output of risk labels exceeded 70 items.
### 3. Unparalleled Safety
TrustDevice's code virtualization & obfuscation technology make the malware fraudsters suffer from painful cost and imprecision when performing reverse-engineering.
### 4. Core Intellectual Property
Fully independent intellectual property rights, with a number of patented technology.
### 5. Security Compliance
TrustDevice is committed to the highest standards in security and compliance to keep your data safe.
GDPR/CCA/PCI DSS/ISO 27701/ISO 9001 Compliant.
### 6. Easy to Deploy
SaaS(Software as a Service)deployment supported, reducing massively your integration cost and enabling rapid access to device fingerprint service.
# Where to get support
We are happy to provide technical support for our open-source trustdevice-js library. We recommend using GitHub Issues to submit bugs or Discussions to ask questions. Using [issues](https://github.com/trustdecision/trustdevice-js/issues) and [discussions](https://github.com/trustdecision/trustdevice-js/discussions) publicly will help the open-source community and other users with similar issues.
In addition, any idea or interest in using TrustDevice Pro can be found on the official website( [https://www.trustdecision.com/solutions/trustdevice](https://www.trustdecision.com/solutions/trustdevice) ), registered account, free trial; Or via email( TrustDevice@TrustDecision.com ), contact us directly and quickly open the service.
## TrustDevice Pro VS Others
<table>
<tr align="center">
<th>Type</th><th>Scene</th><th>Result</th><th>TrusDevice Pro</th><th>Fingerprint</th><th>Seon</th>
</tr>
<tr align="center">
<td>Device Fingerprint Compatibility</td><td>IE9 and above</td><td>Able to collect device info and generate device ID</td><td>✅</td><td>❌ (not supported by IE)</td><td>❌ (IE10 and below are not supported)</td>
</tr>
<tr align="center">
<td rowspan="2">Device fingerprint uniqueness</td><td>Access web application twice using browser on the same device</td><td>Device fingerprints/ID matches </td><td>✅</td><td>✅</td><td>✅</td>
</tr>
<tr align="center">
<td>Access web application using browser on two different devices</td><td>Device fingerprint/ID should not match. Each device to have its own unique device fingeprint/ID</td><td>✅</td><td>✅</td><td>✅</td>
</tr>
<tr align="center">
<td rowspan="4">Device Fingerprint Stability</td><td>Clears the browser cache and cookies</td><td>Device fingerprints/ID still matches before and after clearing</td><td>✅</td><td>✅</td><td>✅</td>
</tr>
<tr align="center">
<td>Incognito and non-incognito mode on the same device browser</td><td>Device fingerprints/ID match</td><td>✅</td><td>✅</td><td>✅</td>
</tr>
<tr align="center">
<td>The same device browser before and after User-Agent modification</td><td>Device fingerprints/ID match</td><td>✅</td><td>✅</td><td>❌</td>
</tr>
<tr align="center">
<td>Before and after browser upgrade on the same device</td><td>Device fingerprints/ID match</td><td>✅</td><td>✅</td><td>✅</td>
</tr>
<tr align="center">
<td rowspan="9">Device Fingerprint Risk Identification</td><td>Web crawlers (bot attacks)</td><td>Ability to identify web crawlers (bot attacks)</td><td>✅</td><td>❌</td><td>✅</td>
</tr>
<tr align="center">
<td>Incognito mode</td><td>Ability to recognize that the browser is in incognito mode/private browsing</td><td>✅</td><td>✅</td><td>✅</td>
</tr>
<tr align="center">
<td>Headless browser (Chrome Headless、phantomJS、selenium、puppeteer)</td><td>Able to identify the risk of use of headless browser</td><td>✅</td><td>❌</td><td>✅</td>
</tr>
<tr align="center">
<td>Abnormal user-agent</td><td>Ability to identify UA anomalies</td><td>✅</td><td>❌</td><td>✅</td>
</tr>
<tr align="center">
<td>JS is debugged</td><td>Can identify debugging behavior on JS</td><td>✅</td><td>❌</td><td>❌</td>
</tr>
<tr align="center">
<td>JS is tampered with</td><td>Can identify tampering</td><td>✅</td><td>❌</td><td>❌</td>
</tr>
<tr align="center">
<td>Do not use cookies</td><td>Ability to recognize the prohibition of the use of cookies</td><td>✅</td><td>❌</td><td>✅</td>
</tr>
<tr align="center">
<td>Browser parameters have been tampered with</td><td>Can identify browser environment tampering</td><td>✅</td><td>❌</td><td>✅</td>
</tr>
<tr align="center">
<td>Common browser cheating plug-ins</td><td>Can identify common cheating plug-in risks</td><td>✅</td><td>❌</td><td>✅</td>
</tr>
<tr align="center">
<td rowspan="3">Security and Stability</td><td>Code Protection</td><td>The device fingerprint SDK and JS have code protection mechanisms (such as VMP), which effectively resist black hat cracking attempts to manipulate code logic and falsify data</td><td>✅ (VMP)</td><td>❌</td><td>❌</td>
</tr>
<tr align="center">
<td>Downgrade</td><td>Intercepting and sending collection requests in the Web environment can still generate device fingerprints normally</td><td>✅</td><td>✅</td><td>✅</td>
<tr align="center">
<td>Anti packet capture</td><td>Web (including iOS and android web) have the ability to prevent packet capture</td><td>✅</td><td>❌</td><td>❌</td>
</tr>
</table>
## License
This library is MIT licensed. Copyright trustdecision, Inc. 2022.