{"id":30366281,"url":"https://github.com/trustdecision/trustdevice-ios","last_synced_at":"2025-08-19T23:03:32.139Z","repository":{"id":64756123,"uuid":"577569094","full_name":"trustdecision/trustdevice-ios","owner":"trustdecision","description":"Leading open source version of iOS device fingerprint, accurate deviceID and risk identification.","archived":false,"fork":false,"pushed_at":"2025-05-13T09:08:24.000Z","size":5361,"stargazers_count":229,"open_issues_count":1,"forks_count":19,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-08-19T23:02:04.994Z","etag":null,"topics":["deviceid","fingerprint","fraud-detection","idfa","idfv","ios","ios-security","objective-c","swift","trustdecision","uuid"],"latest_commit_sha":null,"homepage":"https://trustdecision.com/solutions/trustdevice","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trustdecision.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-13T02:51:53.000Z","updated_at":"2025-08-18T16:11:31.000Z","dependencies_parsed_at":"2023-12-15T07:30:50.871Z","dependency_job_id":"70ea7662-b8aa-4d7d-b544-380d355317f2","html_url":"https://github.com/trustdecision/trustdevice-ios","commit_stats":{"total_commits":16,"total_committers":3,"mean_commits":5.333333333333333,"dds":0.125,"last_synced_commit":"9379e812d3ad55b899e73931294038ea358b9169"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/trustdecision/trustdevice-ios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustdecision%2Ftrustdevice-ios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustdecision%2Ftrustdevice-ios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustdecision%2Ftrustdevice-ios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustdecision%2Ftrustdevice-ios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trustdecision","download_url":"https://codeload.github.com/trustdecision/trustdevice-ios/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trustdecision%2Ftrustdevice-ios/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271236280,"owners_count":24723978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-19T02:00:09.176Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deviceid","fingerprint","fraud-detection","idfa","idfv","ios","ios-security","objective-c","swift","trustdecision","uuid"],"created_at":"2025-08-19T23:01:24.260Z","updated_at":"2025-08-19T23:03:32.061Z","avatar_url":"https://github.com/trustdecision.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.trustdecision.com/deviceFingerprint\" \u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"images/logo_light.png\" /\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"images/logo_dark.png\" /\u003e\n      \u003cimg src=\"images/logo_dark.png\" alt=\"trustdevice logo\" width=\"729px\" height=\"67px\"/\u003e    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/demoApp.gif\" width=\"195\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Swift-6.0-orange\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/iOS-9%2B-blue\"\u003e \n  \u003cimg src=\"https://img.shields.io/github/stars/trustdecision/trustdevice-ios\"\u003e \n  \u003cimg src=\"https://img.shields.io/github/issues/trustdecision/trustdevice-ios\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/trustdecision/trustdevice-ios\"\u003e  \n\u003c/p\u003e\n\n\n\n# TrustDevice-iOS\nA lightweight library for determining device uniqueness and risk identification.\n\nCreate a device identifier based on basic device information.\n\nWill remain the same after uninstalling and reinstalling or clearing app data.\n\n🪧Attention🪧：The functions of the basic version of github are relatively limited. \n\nYou can visit [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-5fkjqqnkoajcs?sr=0-1\u0026ref_=beagle\u0026applicationId=AWSMPContessa) or [TrustDecision](https://trustdecision.com/solutions/device-fingerprint)  to learn about our professional version.\n\n## Installation\n### Swift Package Manager\n\n1. In Xcode, select **File → Swift Packages → Add Package Dependency...**\n2. Enter the repository URL, for example:\n\n   ```text\n   https://github.com/trustdecision/trustdevice-ios.git\n   ```\n3. Specify a version range (e.g. `from: \"1.6.2\"`).\n\n### Cocoapods\n1. TrustDecision is available through [CocoaPods](https://cocoapods.org). To install it, simply add the following line to your Podfile:\n\n```ruby\n# Podfile\npod 'TrustDecision', '1.6.2'\n```\n\n## Quick Start \n\n### 1. Get DeviceInfo\nDeviceInfo contains device id, risk information and device details.\n\n#### Objective-C\n\n```objective-c\n#import \u003cTrustDecision/TDMobRisk.h\u003e\n\nTDMobRiskManager_t *manager = [TDMobRiskManager sharedManager];\nNSMutableDictionary *options = [[NSMutableDictionary alloc] init];\n[options setObject:^(NSDictionary *response) {\n    // Response in sub-thread, do something with the response\n    // Get DeviceId\n    NSString *deviceId = response[@\"device_id\"];\n    // Get DeviceRiskLabel\n    NSDictionary *deviceRisk = response[@\"device_risk_label\"];\n    // Get DeviceDetail\n    NSDictionary *deviceDetail = response[@\"device_detail\"];\n} forKey:@\"callback\"];\nmanager-\u003einitWithOptions(options);\n```\n\n#### Swift\n\n```swift\nimport TrustDecision\n\nvar options = [String : NSObject]()\nlet responseCallback: ([String : Any])-\u003e Void = { response in\n    // Response in sub-thread, do something with the response\n    // Get DeviceId\n    let deviceId = response[\"device_id\"]   \n    // Get DeviceRiskLabel\n    let deviceRisk = response[\"device_risk_label\"]\n    // Get DeviceDetail\n    let deviceDetail = response[\"device_detail\"]                                         \n}\noptions[\"callback\"] = unsafeBitCast(responseCallback as @convention(block) ([String : Any]) -\u003e Void, to: AnyObject.self) as? NSObject\nlet manager = TDMobRiskManager.sharedManager()\nmanager?.pointee.initWithOptions(options)\n```\n\n## Data Sample\n```json\n{\n    \"device_id\":\"4b3491c6bb6a27c6c58a038939a10d4cad97555e517574e7bd0291db96243859\",\n    \"device_risk_label\":{\n        \"jailbreak\":false,\n        \"simulator\":false,\n        \"debug\":true\n    },\n    \"device_detail\":{\n        \"displayResolution\":\"828.0x1792.0\",\n        \"deviceModel\":\"N104AP\",\n        \"kernelVersion\":\"Darwin Kernel Version 22.6.0: Wed Jun 28 20:51:23 PDT 2023; root:xnu-8796.142.1~1\\/RELEASE_ARM64_T8030\",\n        \"debug\":true,\n        \"sandboxPath\":\"/var/mobile/Containers/Data/Application/150E79ED-AAAD-4970-AD89-B9A05EBB05EB\",\n        \"mcc\":\"460\",\n        \"batteryState\":2,\n        \"teamName\":\"XXX XXX Technology Co., Ltd.\",\n        \"cloudid\":\"316A8157-B4E5-4F40-BE37-8115588CA734\",\n        \"bundleId\":\"com.trustdevice.fingerprint\",\n        \"appVersion\":\"1.0\",\n        \"timeZone\":\"Asia\\/Shanghai\",\n        \"applicationId\":\"R3F7G5M76J.com.trustdevice.fingerprint\",\n        \"freeDiskSpace\":4820676608,\n        \"localCountryIso\":\"CN\",\n        \"physicalMemory\":\"8333852672\",\n        \"currentTime\":1693451898456090,\n        \"totalDiskSpace\":127933894656,\n        \"mnc\":\"02\",\n        \"appInstallTime\":1679884827203788.8,\n        \"osVersion\":\"20G75\",\n        \"hostName\":\"ssd\",\n        \"osType\":\"Darwin\",\n        \"deviceType\":\"iPhone\",\n        \"displayScale\":2,\n        \"idfv\":\"E5082421-F447-4B45-B453-22C656B56314\",\n        \"osRelease\":\"22.6.0\",\n        \"memorySize\":\"4038885376\",\n        \"deviceName\":\"iOS\",\n        \"cpuCount\":\"6\",\n        \"isiOSAppOnMac\":0,\n        \"simulator\":false,\n        \"jailbreak\":false,\n        \"bootTime\":1692954854089697,\n        \"secureKernelStatus\":true\n    }\n}\n```\n## Open Source Features\n\n+ Basic device ID, consistent when uninstalling applications and reinstalling\n+ Basic equipment information, which can be used for simple data analysis\n+ Basic risk identification ability\n\n| RiskLabel | Risk Description                                             |\n| --------- | ------------------------------------------------------------ |\n| jailbreak | Attackers will have higher privileges and can install many cheating software to affect the normal development of application business. |\n| simulator | The simulator provides many simulation functions, which will affect the normal operation of applications, such as virtual positioning. |\n| debug     | Applications can be modified by attackers at will, and the program will return unexpected values. |\n\n\n## Open Source VS Pro\n|            Ability            | Open Source |                             Pro                              |\n| :---------------------------: | :---------: | :----------------------------------------------------------: |\n|       100% open source        |     Yes     |                              No                              |\n|           Device ID           |    Basic    | Extremely stable, even if the device is restored to factory settings, it can still be recognized as the same |\n|       Device Risk Label       |    Basic    |                        Extremely rich                        |\n|        Device Details         |    Basic    |                        Extremely rich                        |\n|          IP Location          |      -      |                              ✓                               |\n|       Device Risk Score       |      -      |                              ✓                               |\n|  Environment Risk Evaluation  |      -      |                              ✓                               |\n|     Fraud Tools Detection     |      -      |                              ✓                               |\n| Behavioral Activity Capturing |      -      |                              ✓                               |\n\n## Pro Introduction\n\nTrustDecision TrustDevice has the leading device fingerprint technology, which has been integrated by more than 10000 global leading brands, protecting the entire customer journey.\n\n**There are 6 leading core features about TrustDevice Pro:**\n\n### 1. Wide Coverage\nComprehensive coverage of Android, iOS, Web, H5, applets and other device types.\n\n### 2. Stable and Reliable\nTrustDevice served more than 10,000 clients, 200 million+ daily active users , and 6 billion+ devices , with excellent product functions and stability.\nThe fingerprint accuracy of different terminal devices exceeded 99.9%, and the output of risk labels exceeded 70 items.\n\n### 3. Unparalleled Safety\nTrustDevice's code virtualization \u0026 obfuscation technology make the malware fraudsters suffer from painful cost and imprecision when performing reverse-engineering.\n\n### 4. Core Intellectual Property\nFully independent intellectual property rights, with a number of patented technology.\n\n### 5. Security Compliance\nTrustDevice is committed to the highest standards in security and compliance to keep your data safe.\nGDPR/CCA/PCI DSS/ISO 27701/ISO 9001 Compliant.\n\n### 6. Easy to Deploy\nSaaS（Software as a Service）deployment supported, reducing massively your integration cost and enabling rapid access to device fingerprint service.\n\n## Where to Get Support\nWe are happy to provide technical support for our open-source trustdevice-ios library. We recommend using GitHub Issues to submit bugs or Discussions to ask questions. Using [Issues](https://github.com/trustdecision/trustdevice-ios/issues) and [Discussions](https://github.com/trustdecision/trustdevice-ios/discussions) publicly will help the open-source community and other users with similar issues.\n\nIn addition, any idea or interest in using TrustDevice Pro can be found on the [www.trustdecision.com](https://www.trustdecision.com/trustDevice), registered account for a free trial; or via email trustdevice@trustdecision.com contact us directly and quickly open the service.\n\n## Compatibility\n|           Items           |     Description      |\n| :-----------------------: | :------------------: |\n| Supported System Versions |       iOS9.0+        |\n|  Supported Architecture   | armv7, arm64, x86_64 |\n\n## TrustDevice Pro VS Others\n\u003ctable\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003cth\u003eType\u003c/th\u003e\u003cth\u003eScene\u003c/th\u003e\u003cth\u003eResult\u003c/th\u003e\u003cth\u003eTrusDevice Pro\u003c/th\u003e\u003cth\u003eFingerprint\u003c/th\u003e\u003cth\u003eSeon\u003c/th\u003e\u003cth\u003eCredoLab\u003c/th\u003e\u003cth\u003eSift\u003c/th\u003e\u003cth\u003eShield\u003c/th\u003e\u003cth\u003ePerimeterX\u003c/th\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eDevice Fingerprint Compatibility\u003c/td\u003e\u003ctd\u003eiOS 9.0 and above, including iOS 16, etc.\u003c/td\u003e\u003ctd\u003eAble to collect device info and generate device ID\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅(ios12 and above)\u003c/td\u003e\u003ctd\u003e✅(ios9 and above)\u003c/td\u003e\u003ctd\u003e✅(ios11 and above)\u003c/td\u003e\u003ctd\u003e✅(ios9.2 and above)\u003c/td\u003e\u003ctd\u003e✅(ios9 and above)\u003c/td\u003e\u003ctd\u003e✅(ios11 and above)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd rowspan=\"2\"\u003eDevice fingerprint uniqueness\u003c/td\u003e\u003ctd\u003eDifferent apps (with different package names) on the same device\u003c/td\u003e\u003ctd\u003eDevice fingerprints/ID matches \u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe same app on two unique devices (including the case of the same device model and the same system version)\u003c/td\u003e\u003ctd\u003eDevice fingerprint/ID should not match. Each device to have its own unique device fingeprint/ID\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd rowspan=\"6\"\u003eDevice Fingerprint Stability\u003c/td\u003e\u003ctd\u003eUninstall and reinstall\u003c/td\u003e\u003ctd\u003eDevice fingerprints/ID are consistent before and after reinstallation\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n      \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eClear all app data\u003c/td\u003e\u003ctd\u003eDevice fingerprints/ID are consistent before and after clearing all app data\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eDisable all app permissions except network permissions and clear app data\u003c/td\u003e\u003ctd\u003eDevice fingerprints/ID are consistent before and after disabling all permissions\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eModify the common information of the device system (brand, model, IDFA, IDFV, etc.) through the machine modification tool\u003c/td\u003e\u003ctd\u003eDevice fingerprint/ID still matches with before modification\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eDevice system upgrade\u003c/td\u003e\u003ctd\u003eDevice fingerprints/ID are consistent before and after system upgrade\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eFactory reset (including iOS 14 and above, etc.)\u003c/td\u003e\u003ctd\u003eThe device fingerprints/ID are the same before and after the device is restored to factory settings\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd rowspan=\"12\"\u003eDevice Fingerprint Risk Identification\u003c/td\u003e\u003ctd\u003eSecondary packaging\u003c/td\u003e\u003ctd\u003eAbility to identify secondary packaged unofficial apps\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eReplay attack\u003c/td\u003e\u003ctd\u003eAbility to identify replay attacks\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eDevice location information has been tampered with\u003c/td\u003e\u003ctd\u003eAbility to identify tampering of location information\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eNo SIM card inserted\u003c/td\u003e\u003ctd\u003eCan identify whether the device is inserted with a SIM card\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device uses an HTTP proxy\u003c/td\u003e\u003ctd\u003eCan identify HTTP proxy risks\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device uses a VPN proxy\u003c/td\u003e\u003ctd\u003eCan identify VPN proxy risks\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eJailbreak\u003c/td\u003e\u003ctd\u003eAbility to identify jailbreak risks\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device is an emulator\u003c/td\u003e\u003ctd\u003eAbility to recognize emulators\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device uses the machine modification tool to modify the device parameter information\u003c/td\u003e\u003ctd\u003eAbility to identify mainstream modification tools\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device has scripts and group control tools installed (tools that are used to control multiple devices from single terminal - device farm/device group)\u003c/td\u003e\u003ctd\u003eCan identify mainstream scripting/group control tools\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device is equipped with an M chip\u003c/td\u003e\u003ctd\u003eDevices capable of recognizing M-chips\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e-\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eThe device is not logged into the iCloud account\u003c/td\u003e\u003ctd\u003eAble to identify login iCloud account\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd rowspan=\"6\"\u003eSecurity and Stability\u003c/td\u003e\u003ctd\u003eCode Protection\u003c/td\u003e\u003ctd\u003eThe 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\u003c/td\u003e\u003ctd\u003e✅ (OLLVM, VMP)\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eDowngrade\u003c/td\u003e\u003ctd\u003eIntercepting and sending collection requests in the iOS environment can still generate device fingerprints normally\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr align=\"center\"\u003e\n        \u003ctd\u003eAnti packet capture\u003c/td\u003e\u003ctd\u003eiOS has the ability to prevent packet capture\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e❌\u003c/td\u003e\u003ctd\u003e✅\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## License\n\nThis library is MIT licensed. Copyright trustdecision, Inc. 2022.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustdecision%2Ftrustdevice-ios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrustdecision%2Ftrustdevice-ios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrustdecision%2Ftrustdevice-ios/lists"}