@prosopo/provider 5.19.3 → 5.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/.turbo/turbo-build$colon$cjs.log +45 -40
  2. package/.turbo/turbo-build$colon$tsc.log +28 -28
  3. package/.turbo/turbo-build.log +48 -40
  4. package/CHANGELOG.md +167 -0
  5. package/dist/api/admin/apiClearAllCountersEndpoint.js.map +1 -1
  6. package/dist/api/admin/apiGetAllDecisionMachinesEndpoint.js.map +1 -1
  7. package/dist/api/admin/apiGetDecisionMachineEndpoint.js.map +1 -1
  8. package/dist/api/admin/apiGetSessionEndpoint.js.map +1 -1
  9. package/dist/api/admin/apiRemoveAllDecisionMachinesEndpoint.js.map +1 -1
  10. package/dist/api/admin/apiRemoveDecisionMachineEndpoint.js.map +1 -1
  11. package/dist/api/admin/apiRemoveSiteKeyEndpoint.js.map +1 -1
  12. package/dist/api/admin/apiRemoveSiteKeysEndpoint.js.map +1 -1
  13. package/dist/api/admin/apiReplaceDetectorPoolEndpoint.js.map +1 -1
  14. package/dist/api/admin/apiUpdateDecisionMachineEndpoint.js.map +1 -1
  15. package/dist/api/blacklistRequestInspector.d.ts.map +1 -1
  16. package/dist/api/blacklistRequestInspector.js +9 -8
  17. package/dist/api/blacklistRequestInspector.js.map +1 -1
  18. package/dist/api/captcha/checkSpamEmail.d.ts.map +1 -1
  19. package/dist/api/captcha/checkSpamEmail.js +19 -26
  20. package/dist/api/captcha/checkSpamEmail.js.map +1 -1
  21. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.d.ts.map +1 -1
  22. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js +11 -2
  23. package/dist/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.js.map +1 -1
  24. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.d.ts.map +1 -1
  25. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js +6 -1
  26. package/dist/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.js.map +1 -1
  27. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.d.ts.map +1 -1
  28. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js +30 -27
  29. package/dist/api/captcha/getFrictionlessCaptchaChallenge/handler.js.map +1 -1
  30. package/dist/api/captcha/getImageCaptchaChallenge.d.ts.map +1 -1
  31. package/dist/api/captcha/getImageCaptchaChallenge.js +32 -43
  32. package/dist/api/captcha/getImageCaptchaChallenge.js.map +1 -1
  33. package/dist/api/captcha/getPoWCaptchaChallenge.d.ts.map +1 -1
  34. package/dist/api/captcha/getPoWCaptchaChallenge.js +27 -32
  35. package/dist/api/captcha/getPoWCaptchaChallenge.js.map +1 -1
  36. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts +3 -0
  37. package/dist/api/captcha/getPuzzleCaptchaChallenge.d.ts.map +1 -1
  38. package/dist/api/captcha/getPuzzleCaptchaChallenge.js +23 -5
  39. package/dist/api/captcha/getPuzzleCaptchaChallenge.js.map +1 -1
  40. package/dist/api/captcha/interactiveCaptchaChallenge.d.ts.map +1 -1
  41. package/dist/api/captcha/interactiveCaptchaChallenge.js +27 -32
  42. package/dist/api/captcha/interactiveCaptchaChallenge.js.map +1 -1
  43. package/dist/api/captcha/interactiveCaptchaSolution.d.ts.map +1 -1
  44. package/dist/api/captcha/interactiveCaptchaSolution.js +18 -24
  45. package/dist/api/captcha/interactiveCaptchaSolution.js.map +1 -1
  46. package/dist/api/captcha/submitImageCaptchaSolution.d.ts.map +1 -1
  47. package/dist/api/captcha/submitImageCaptchaSolution.js +18 -24
  48. package/dist/api/captcha/submitImageCaptchaSolution.js.map +1 -1
  49. package/dist/api/captcha/submitPoWCaptchaSolution.d.ts.map +1 -1
  50. package/dist/api/captcha/submitPoWCaptchaSolution.js +35 -27
  51. package/dist/api/captcha/submitPoWCaptchaSolution.js.map +1 -1
  52. package/dist/api/domainMiddleware.d.ts.map +1 -1
  53. package/dist/api/domainMiddleware.js +39 -47
  54. package/dist/api/domainMiddleware.js.map +1 -1
  55. package/dist/api/errorCodeForReason.d.ts +3 -0
  56. package/dist/api/errorCodeForReason.d.ts.map +1 -0
  57. package/dist/api/errorCodeForReason.js +22 -0
  58. package/dist/api/errorCodeForReason.js.map +1 -0
  59. package/dist/api/headerCheckMiddleware.d.ts.map +1 -1
  60. package/dist/api/headerCheckMiddleware.js +14 -9
  61. package/dist/api/headerCheckMiddleware.js.map +1 -1
  62. package/dist/api/ipInfoMiddleware.d.ts +1 -1
  63. package/dist/api/ipInfoMiddleware.d.ts.map +1 -1
  64. package/dist/api/ipInfoMiddleware.js +5 -1
  65. package/dist/api/ipInfoMiddleware.js.map +1 -1
  66. package/dist/api/metrics.d.ts.map +1 -1
  67. package/dist/api/metrics.js +9 -1
  68. package/dist/api/metrics.js.map +1 -1
  69. package/dist/api/public.d.ts.map +1 -1
  70. package/dist/api/public.js +6 -2
  71. package/dist/api/public.js.map +1 -1
  72. package/dist/api/rateLimitHandler.d.ts +4 -0
  73. package/dist/api/rateLimitHandler.d.ts.map +1 -0
  74. package/dist/api/rateLimitHandler.js +20 -0
  75. package/dist/api/rateLimitHandler.js.map +1 -0
  76. package/dist/api/startProviderApi.d.ts +1 -0
  77. package/dist/api/startProviderApi.d.ts.map +1 -1
  78. package/dist/api/startProviderApi.js +8 -17
  79. package/dist/api/startProviderApi.js.map +1 -1
  80. package/dist/api/validateAddress.d.ts +3 -4
  81. package/dist/api/validateAddress.d.ts.map +1 -1
  82. package/dist/api/validateAddress.js +13 -19
  83. package/dist/api/validateAddress.js.map +1 -1
  84. package/dist/api/verify.d.ts.map +1 -1
  85. package/dist/api/verify.js +73 -96
  86. package/dist/api/verify.js.map +1 -1
  87. package/dist/cjs/api/blacklistRequestInspector.cjs +9 -8
  88. package/dist/cjs/api/captcha/checkSpamEmail.cjs +18 -25
  89. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/accessPolicy.cjs +11 -2
  90. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/decisionMachine.cjs +6 -1
  91. package/dist/cjs/api/captcha/getFrictionlessCaptchaChallenge/handler.cjs +29 -26
  92. package/dist/cjs/api/captcha/getImageCaptchaChallenge.cjs +31 -42
  93. package/dist/cjs/api/captcha/getPoWCaptchaChallenge.cjs +26 -31
  94. package/dist/cjs/api/captcha/getPuzzleCaptchaChallenge.cjs +22 -3
  95. package/dist/cjs/api/captcha/interactiveCaptchaChallenge.cjs +26 -31
  96. package/dist/cjs/api/captcha/interactiveCaptchaSolution.cjs +17 -23
  97. package/dist/cjs/api/captcha/submitImageCaptchaSolution.cjs +17 -23
  98. package/dist/cjs/api/captcha/submitPoWCaptchaSolution.cjs +34 -26
  99. package/dist/cjs/api/domainMiddleware.cjs +38 -46
  100. package/dist/cjs/api/errorCodeForReason.cjs +22 -0
  101. package/dist/cjs/api/headerCheckMiddleware.cjs +13 -8
  102. package/dist/cjs/api/ipInfoMiddleware.cjs +5 -1
  103. package/dist/cjs/api/metrics.cjs +9 -1
  104. package/dist/cjs/api/public.cjs +5 -1
  105. package/dist/cjs/api/rateLimitHandler.cjs +20 -0
  106. package/dist/cjs/api/startProviderApi.cjs +8 -16
  107. package/dist/cjs/api/validateAddress.cjs +12 -18
  108. package/dist/cjs/api/verify.cjs +72 -95
  109. package/dist/cjs/index.cjs +1 -0
  110. package/dist/cjs/tasks/captchaManager.cjs +6 -8
  111. package/dist/cjs/tasks/client/clientTasks.cjs +26 -13
  112. package/dist/cjs/tasks/dataset/datasetTasksUtils.cjs +28 -8
  113. package/dist/cjs/tasks/decisionMachine/decisionMachineRunner.cjs +21 -19
  114. package/dist/cjs/tasks/frictionless/frictionlessTasks.cjs +1 -1
  115. package/dist/cjs/tasks/frictionless/routingMachine.cjs +13 -4
  116. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasks.cjs +89 -40
  117. package/dist/cjs/tasks/imgCaptcha/imgCaptchaTasksUtils.cjs +18 -8
  118. package/dist/cjs/tasks/interactiveCaptcha/interactiveCaptchaManager.cjs +21 -13
  119. package/dist/cjs/tasks/powCaptcha/backgroundWrites.cjs +24 -0
  120. package/dist/cjs/tasks/powCaptcha/powTasks.cjs +44 -19
  121. package/dist/cjs/tasks/powCaptcha/powTasksUtils.cjs +14 -10
  122. package/dist/cjs/tasks/puzzle/puzzleRenderer.cjs +17 -8
  123. package/dist/cjs/tasks/signatureCheck.cjs +12 -0
  124. package/dist/cjs/tasks/tasks.cjs +6 -1
  125. package/dist/cjs/util/usageCounters.cjs +26 -3
  126. package/dist/cjs/util.cjs +14 -3
  127. package/dist/cjs/utils/devicePlatform.cjs +9 -5
  128. package/dist/cjs/utils/mobileSignals.cjs +69 -0
  129. package/dist/errorSites.d.ts +98 -0
  130. package/dist/errorSites.d.ts.map +1 -0
  131. package/dist/errorSites.js +2 -0
  132. package/dist/errorSites.js.map +1 -0
  133. package/dist/fingerprint/dist/merkle.js +69 -0
  134. package/dist/fingerprint/dist/proof.js +95 -0
  135. package/dist/fingerprint/dist/summary.js +73 -0
  136. package/dist/index.js +2 -2
  137. package/dist/tasks/captchaManager.d.ts +2 -3
  138. package/dist/tasks/captchaManager.d.ts.map +1 -1
  139. package/dist/tasks/captchaManager.js +6 -7
  140. package/dist/tasks/captchaManager.js.map +1 -1
  141. package/dist/tasks/client/clientTasks.d.ts.map +1 -1
  142. package/dist/tasks/client/clientTasks.js +27 -14
  143. package/dist/tasks/client/clientTasks.js.map +1 -1
  144. package/dist/tasks/dataset/datasetTasksUtils.d.ts.map +1 -1
  145. package/dist/tasks/dataset/datasetTasksUtils.js +29 -9
  146. package/dist/tasks/dataset/datasetTasksUtils.js.map +1 -1
  147. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts +1 -3
  148. package/dist/tasks/decisionMachine/decisionMachineRunner.d.ts.map +1 -1
  149. package/dist/tasks/decisionMachine/decisionMachineRunner.js +21 -19
  150. package/dist/tasks/decisionMachine/decisionMachineRunner.js.map +1 -1
  151. package/dist/tasks/frictionless/frictionlessTasks.d.ts.map +1 -1
  152. package/dist/tasks/frictionless/frictionlessTasks.js +1 -1
  153. package/dist/tasks/frictionless/frictionlessTasks.js.map +1 -1
  154. package/dist/tasks/frictionless/routingMachine.d.ts.map +1 -1
  155. package/dist/tasks/frictionless/routingMachine.js +13 -4
  156. package/dist/tasks/frictionless/routingMachine.js.map +1 -1
  157. package/dist/tasks/imgCaptcha/imgCaptchaTasks.d.ts.map +1 -1
  158. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js +91 -42
  159. package/dist/tasks/imgCaptcha/imgCaptchaTasks.js.map +1 -1
  160. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js +19 -9
  161. package/dist/tasks/imgCaptcha/imgCaptchaTasksUtils.js.map +1 -1
  162. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.d.ts.map +1 -1
  163. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js +22 -14
  164. package/dist/tasks/interactiveCaptcha/interactiveCaptchaManager.js.map +1 -1
  165. package/dist/tasks/powCaptcha/backgroundWrites.d.ts +7 -0
  166. package/dist/tasks/powCaptcha/backgroundWrites.d.ts.map +1 -0
  167. package/dist/tasks/powCaptcha/backgroundWrites.js +24 -0
  168. package/dist/tasks/powCaptcha/backgroundWrites.js.map +1 -0
  169. package/dist/tasks/powCaptcha/powTasks.d.ts +3 -3
  170. package/dist/tasks/powCaptcha/powTasks.d.ts.map +1 -1
  171. package/dist/tasks/powCaptcha/powTasks.js +45 -20
  172. package/dist/tasks/powCaptcha/powTasks.js.map +1 -1
  173. package/dist/tasks/powCaptcha/powTasksUtils.d.ts.map +1 -1
  174. package/dist/tasks/powCaptcha/powTasksUtils.js +15 -11
  175. package/dist/tasks/powCaptcha/powTasksUtils.js.map +1 -1
  176. package/dist/tasks/puzzle/puzzleRenderer.d.ts +8 -1
  177. package/dist/tasks/puzzle/puzzleRenderer.d.ts.map +1 -1
  178. package/dist/tasks/puzzle/puzzleRenderer.js +16 -8
  179. package/dist/tasks/puzzle/puzzleRenderer.js.map +1 -1
  180. package/dist/tasks/signatureCheck.d.ts +2 -0
  181. package/dist/tasks/signatureCheck.d.ts.map +1 -0
  182. package/dist/tasks/signatureCheck.js +12 -0
  183. package/dist/tasks/signatureCheck.js.map +1 -0
  184. package/dist/tasks/tasks.d.ts.map +1 -1
  185. package/dist/tasks/tasks.js +7 -2
  186. package/dist/tasks/tasks.js.map +1 -1
  187. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js +3 -1
  188. package/dist/tests/integration/api/admin/apiRegisterSiteKeyEndpoint.integration.test.js.map +1 -1
  189. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js +6 -2
  190. package/dist/tests/integration/api/admin/apiRegisterSiteKeysEndpoint.integration.test.js.map +1 -1
  191. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js +1 -1
  192. package/dist/tests/integration/escalationPeekBeforeConsume.integration.test.js.map +1 -1
  193. package/dist/tests/integration/imgCaptcha.integration.test.js +6 -5
  194. package/dist/tests/integration/imgCaptcha.integration.test.js.map +1 -1
  195. package/dist/tests/integration/ipValidation.integration.test.js +1 -1
  196. package/dist/tests/integration/ipValidation.integration.test.js.map +1 -1
  197. package/dist/tests/integration/powCaptcha.integration.test.js +2 -2
  198. package/dist/tests/integration/powCaptcha.integration.test.js.map +1 -1
  199. package/dist/tests/integration/routingDecisionMachines.integration.test.js.map +1 -1
  200. package/dist/tests/integration/testUtils.d.ts +2 -2
  201. package/dist/tests/integration/testUtils.d.ts.map +1 -1
  202. package/dist/tests/integration/testUtils.js +1 -1
  203. package/dist/tests/integration/testUtils.js.map +1 -1
  204. package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js +3 -1
  205. package/dist/tests/integration/webBotAuthAuthenticated.integration.test.js.map +1 -1
  206. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js +26 -10
  207. package/dist/tests/unit/api/blacklistRequestInspector.unit.test.js.map +1 -1
  208. package/dist/tests/unit/api/captcha/checkSpamEmail.unit.test.js +4 -4
  209. package/dist/tests/unit/api/captcha/checkSpamEmail.unit.test.js.map +1 -1
  210. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.d.ts +2 -0
  211. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.d.ts.map +1 -0
  212. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.js +210 -0
  213. package/dist/tests/unit/api/captcha/puzzleTouchFloors.unit.test.js.map +1 -0
  214. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.d.ts +2 -0
  215. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.d.ts.map +1 -0
  216. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.js +153 -0
  217. package/dist/tests/unit/api/captcha/submitSolutionBadSignature.unit.test.js.map +1 -0
  218. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js +6 -2
  219. package/dist/tests/unit/api/domainMiddlewareErrorBody.unit.test.js.map +1 -1
  220. package/dist/tests/unit/api/errorCodeForReason.unit.test.d.ts +2 -0
  221. package/dist/tests/unit/api/errorCodeForReason.unit.test.d.ts.map +1 -0
  222. package/dist/tests/unit/api/errorCodeForReason.unit.test.js +23 -0
  223. package/dist/tests/unit/api/errorCodeForReason.unit.test.js.map +1 -0
  224. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js +6 -1
  225. package/dist/tests/unit/api/getFrictionlessCaptchaChallenge.unit.test.js.map +1 -1
  226. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js +16 -7
  227. package/dist/tests/unit/api/headerCheckMiddleware.unit.test.js.map +1 -1
  228. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.d.ts +2 -0
  229. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.d.ts.map +1 -0
  230. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.js +46 -0
  231. package/dist/tests/unit/api/ipInfoMiddleware.unit.test.js.map +1 -0
  232. package/dist/tests/unit/api/public.unit.test.js +45 -10
  233. package/dist/tests/unit/api/public.unit.test.js.map +1 -1
  234. package/dist/tests/unit/api/rateLimitHandler.unit.test.d.ts +2 -0
  235. package/dist/tests/unit/api/rateLimitHandler.unit.test.d.ts.map +1 -0
  236. package/dist/tests/unit/api/rateLimitHandler.unit.test.js +39 -0
  237. package/dist/tests/unit/api/rateLimitHandler.unit.test.js.map +1 -0
  238. package/dist/tests/unit/api/validateAddress.unit.test.js +41 -115
  239. package/dist/tests/unit/api/validateAddress.unit.test.js.map +1 -1
  240. package/dist/tests/unit/api/verifyMalformedToken.unit.test.js +3 -3
  241. package/dist/tests/unit/api/verifyMalformedToken.unit.test.js.map +1 -1
  242. package/dist/tests/unit/tasks/captchaManager.unit.test.js +22 -18
  243. package/dist/tests/unit/tasks/captchaManager.unit.test.js.map +1 -1
  244. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js +25 -0
  245. package/dist/tests/unit/tasks/client/clientTasks.unit.test.js.map +1 -1
  246. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js +25 -20
  247. package/dist/tests/unit/tasks/dataset/datasetTasksUtils.unit.test.js.map +1 -1
  248. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js +31 -0
  249. package/dist/tests/unit/tasks/decisionMachine/decisionMachineRunner.unit.test.js.map +1 -1
  250. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.d.ts +2 -0
  251. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.d.ts.map +1 -0
  252. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.js +80 -0
  253. package/dist/tests/unit/tasks/frictionless/fingerprintBucketFlow.unit.test.js.map +1 -0
  254. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js +48 -0
  255. package/dist/tests/unit/tasks/frictionless/routingMachine.unit.test.js.map +1 -1
  256. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js +20 -28
  257. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasks.unit.test.js.map +1 -1
  258. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js +2 -2
  259. package/dist/tests/unit/tasks/imgCaptcha/imgCaptchaTasksUtils.unit.test.js.map +1 -1
  260. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.d.ts +2 -0
  261. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.d.ts.map +1 -0
  262. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.js +44 -0
  263. package/dist/tests/unit/tasks/powCaptcha/backgroundWrites.unit.test.js.map +1 -0
  264. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js +78 -43
  265. package/dist/tests/unit/tasks/powCaptcha/powTasks.unit.test.js.map +1 -1
  266. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js +7 -6
  267. package/dist/tests/unit/tasks/powCaptcha/powTasksUtils.unit.test.js.map +1 -1
  268. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js +2 -2
  269. package/dist/tests/unit/tasks/puzzleCaptcha/puzzleTasks.unit.test.js.map +1 -1
  270. package/dist/tests/unit/util/usageCounters.unit.test.js +20 -0
  271. package/dist/tests/unit/util/usageCounters.unit.test.js.map +1 -1
  272. package/dist/tests/unit/util.unit.test.js +7 -7
  273. package/dist/tests/unit/util.unit.test.js.map +1 -1
  274. package/dist/tests/unit/utils/devicePlatform.unit.test.js +9 -8
  275. package/dist/tests/unit/utils/devicePlatform.unit.test.js.map +1 -1
  276. package/dist/tests/unit/utils/mobileSignals.unit.test.d.ts +2 -0
  277. package/dist/tests/unit/utils/mobileSignals.unit.test.d.ts.map +1 -0
  278. package/dist/tests/unit/utils/mobileSignals.unit.test.js +161 -0
  279. package/dist/tests/unit/utils/mobileSignals.unit.test.js.map +1 -0
  280. package/dist/util/usageCounters.d.ts +1 -1
  281. package/dist/util/usageCounters.d.ts.map +1 -1
  282. package/dist/util/usageCounters.js +26 -3
  283. package/dist/util/usageCounters.js.map +1 -1
  284. package/dist/util.d.ts.map +1 -1
  285. package/dist/util.js +15 -4
  286. package/dist/util.js.map +1 -1
  287. package/dist/utils/devicePlatform.d.ts +3 -3
  288. package/dist/utils/devicePlatform.d.ts.map +1 -1
  289. package/dist/utils/devicePlatform.js +9 -5
  290. package/dist/utils/devicePlatform.js.map +1 -1
  291. package/dist/utils/mobileSignals.d.ts +32 -0
  292. package/dist/utils/mobileSignals.d.ts.map +1 -0
  293. package/dist/utils/mobileSignals.js +68 -0
  294. package/dist/utils/mobileSignals.js.map +1 -0
  295. package/package.json +44 -43
@@ -152,10 +152,15 @@ var UsageCounters = class {
152
152
  }
153
153
  };
154
154
  /**
155
- * Helper: produce the standard 24-counter served/solved write set for a given
156
- * captcha challenge. Used by both served (post-session) and solved hooks.
155
+ * Helper: produce the standard served/solved write set for a given captcha
156
+ * challenge. Used by both served (post-session) and solved hooks.
157
+ *
158
+ * `deviceBucket` is only written when the caller knows one, which for now is
159
+ * the PoW solve path with a verified proof of fingerprint. Omitting it leaves
160
+ * the key absent rather than at zero, so a bucket's count is over the requests
161
+ * that actually proved it.
157
162
  */
158
- var buildAllWindowIncrements = (kind, captchaType, ip, userAccount, peerIp) => {
163
+ var buildAllWindowIncrements = (kind, captchaType, ip, userAccount, peerIp, deviceBucket) => {
159
164
  const out = [];
160
165
  for (const window of [
161
166
  "1m",
@@ -191,6 +196,15 @@ var buildAllWindowIncrements = (kind, captchaType, ip, userAccount, peerIp) => {
191
196
  },
192
197
  value: peerIp
193
198
  });
199
+ if (deviceBucket) out.push({
200
+ spec: {
201
+ kind,
202
+ captchaType,
203
+ dimension: "deviceBucket",
204
+ window
205
+ },
206
+ value: deviceBucket
207
+ });
194
208
  if (captchaType !== "any") {
195
209
  out.push({
196
210
  spec: {
@@ -218,6 +232,15 @@ var buildAllWindowIncrements = (kind, captchaType, ip, userAccount, peerIp) => {
218
232
  },
219
233
  value: peerIp
220
234
  });
235
+ if (deviceBucket) out.push({
236
+ spec: {
237
+ kind,
238
+ captchaType: "any",
239
+ dimension: "deviceBucket",
240
+ window
241
+ },
242
+ value: deviceBucket
243
+ });
221
244
  }
222
245
  }
223
246
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"usageCounters.js","sourceRoot":"","sources":["../../src/util/usageCounters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usageCounters.js","sourceRoot":"","sources":["../../src/util/usageCounters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,kBAAkB,EAClB,KAAK,kBAAkB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,UAUlD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAQ/C;AAQD,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,EAAE,iBAAiB,GACnB,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,eAAO,MAAM,YAAY,oBAAqB,MAAM,KAAG,SAUtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,oBAAqB,MAAM,KAAG,SAShE,CAAC;AASF,eAAO,MAAM,iBAAiB,OACzB,MAAM,GAAG,SAAS,sBACF,SAAS,UACrB,MAAM,KACZ;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CA4C3C,CAAC;AASF,eAAO,MAAM,yBAAyB,eACzB,kBAAkB,SACvB,kBAAkB,UACjB,MAAM,KACZ;IACF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CAsMrB,CAAC;AAUF,eAAO,MAAM,qBAAqB,OAC7B,MAAM,sBACU,SAAS,UACrB,MAAM,iBACC,cAAc,sBACT,kBAAkB,cAC1B,MAAM,KAChB,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CA0JA,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAEN,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,kBAAkB,EAClB,KAAK,kBAAkB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,UAalD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAQ/C;AAQD,wBAAsB,oBAAoB,CACzC,QAAQ,EAAE,kBAAkB,EAC5B,EAAE,EAAE,iBAAiB,GACnB,OAAO,CAAC,OAAO,CAAC,CAmBlB;AAED,eAAO,MAAM,YAAY,oBAAqB,MAAM,KAAG,SAUtD,CAAC;AAEF,eAAO,MAAM,sBAAsB,oBAAqB,MAAM,KAAG,SAShE,CAAC;AASF,eAAO,MAAM,iBAAiB,OACzB,MAAM,GAAG,SAAS,sBACF,SAAS,UACrB,MAAM,KACZ;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CA4C3C,CAAC;AASF,eAAO,MAAM,yBAAyB,eACzB,kBAAkB,SACvB,kBAAkB,UACjB,MAAM,KACZ;IACF,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CAsMrB,CAAC;AAUF,eAAO,MAAM,qBAAqB,OAC7B,MAAM,sBACU,SAAS,UACrB,MAAM,iBACC,cAAc,sBACT,kBAAkB,cAC1B,MAAM,KAChB,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CA0JA,CAAC"}
package/dist/util.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { compareIPs } from "./services/ipComparison.js";
2
- import { ProsopoContractError, ProsopoEnvError } from "@prosopo/common";
2
+ import { ProsopoError } from "@prosopo/common";
3
3
  import { IPValidationAction, ScheduledTaskStatus } from "@prosopo/types";
4
4
  import { at } from "@prosopo/util";
5
5
  import { Address4, Address6 } from "ip-address";
@@ -11,7 +11,12 @@ function encodeStringAddress(address) {
11
11
  try {
12
12
  return encodeAddress(isHex(address) ? hexToU8a(address) : decodeAddress(address));
13
13
  } catch (err) {
14
- throw new ProsopoContractError("CONTRACT.INVALID_ADDRESS", { context: { address } });
14
+ throw new ProsopoError({
15
+ code: "INVALID_DATA",
16
+ errorSite: "PROV-77",
17
+ message: "Failed to encode invalid address",
18
+ context: { address }
19
+ });
15
20
  }
16
21
  }
17
22
  function shuffleArray(array) {
@@ -43,7 +48,10 @@ var getIPAddress$1 = (ipAddressString) => {
43
48
  return new Address6(ipAddressString);
44
49
  }
45
50
  } catch (e) {
46
- throw new ProsopoEnvError("API.INVALID_IP");
51
+ throw new ProsopoError({
52
+ code: "INVALID_IP",
53
+ errorSite: "PROV-78"
54
+ });
47
55
  }
48
56
  };
49
57
  var getIPAddressFromBigInt = (ipAddressBigInt) => {
@@ -51,7 +59,10 @@ var getIPAddressFromBigInt = (ipAddressBigInt) => {
51
59
  if (ipAddressBigInt > 4228250626n) return Address6.fromBigInt(BigInt(ipAddressBigInt));
52
60
  return Address4.fromBigInt(BigInt(ipAddressBigInt));
53
61
  } catch (e) {
54
- throw new ProsopoEnvError("API.INVALID_IP");
62
+ throw new ProsopoError({
63
+ code: "INVALID_IP",
64
+ errorSite: "PROV-79"
65
+ });
55
66
  }
56
67
  };
57
68
  /**
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ITrafficFilter, RoutingMachinePlatform, TrafficCategoryPolicies } from "@prosopo/types";
2
- export declare const derivePlatform: (userAgent: string, webView: boolean, ipInfo?: {
3
- isMobile?: boolean;
4
- }) => RoutingMachinePlatform;
2
+ import { type MobileSignals } from "./mobileSignals.js";
3
+ export type PlatformSignals = Omit<MobileSignals, "userAgent" | "webView">;
4
+ export declare const derivePlatform: (userAgent: string, webView: boolean, signals?: PlatformSignals) => RoutingMachinePlatform;
5
5
  export declare const deriveTrafficPolicies: (trafficFilter: Partial<ITrafficFilter> | undefined) => TrafficCategoryPolicies | undefined;
6
6
  //# sourceMappingURL=devicePlatform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"devicePlatform.d.ts","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AAcxB,eAAO,MAAM,cAAc,cACf,MAAM,WACR,OAAO,WACP;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7B,sBAOD,CAAC;AA0BH,eAAO,MAAM,qBAAqB,kBAClB,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,KAChD,uBAAuB,GAAG,SAY5B,CAAC"}
1
+ {"version":3,"file":"devicePlatform.d.ts","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACX,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAQ7E,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,SAAS,CAAC,CAAC;AAQ3E,eAAO,MAAM,cAAc,cACf,MAAM,WACR,OAAO,YACP,eAAe,KACtB,sBAID,CAAC;AA0BH,eAAO,MAAM,qBAAqB,kBAClB,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,KAChD,uBAAuB,GAAG,SAY5B,CAAC"}
@@ -1,16 +1,20 @@
1
+ import { deriveMobileVerdict } from "./mobileSignals.js";
1
2
  //#region src/utils/devicePlatform.ts
2
3
  var APPLE_UA_REGEX = /iPhone|iPad|iPod|Macintosh|Mac OS X/i;
3
- var MOBILE_UA_REGEX = /Mobile|Android|iPhone|iPad|iPod|Opera Mini|IEMobile/i;
4
4
  /**
5
5
  * Derive platform flags from server-visible signals. `isWebView` is supplied
6
6
  * by the caller because that bit only comes from the encrypted bot-detection
7
- * payload, not request headers. `isMobile` prefers IPInfo's network-classified
8
- * mobile bit when present and falls back to UA parsing otherwise.
7
+ * payload, not request headers. `isMobile` is a weighed verdict over whatever
8
+ * signals the caller can supply — see `deriveMobileVerdict`.
9
9
  */
10
- var derivePlatform = (userAgent, webView, ipInfo) => ({
10
+ var derivePlatform = (userAgent, webView, signals = {}) => ({
11
11
  isApple: APPLE_UA_REGEX.test(userAgent),
12
12
  isWebView: webView,
13
- isMobile: typeof ipInfo?.isMobile === "boolean" ? ipInfo.isMobile : MOBILE_UA_REGEX.test(userAgent)
13
+ isMobile: deriveMobileVerdict({
14
+ ...signals,
15
+ userAgent,
16
+ webView
17
+ }).isMobile
14
18
  });
15
19
  var TRAFFIC_FILTER_CATEGORIES = [
16
20
  "vpn",
@@ -1 +1 @@
1
- {"version":3,"file":"devicePlatform.js","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAuBA,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAC9D,MAAM,eAAe,GAAG,sDAAsD,CAAC;AAQ/E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EAChB,MAA+B,EACN,EAAE,CAAC,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EACP,OAAO,MAAM,EAAE,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,CAAC,QAAQ;QACjB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC;CACnC,CAAC,CAAC;AAKH,MAAM,yBAAyB,GAAG;IACjC,KAAK;IACL,OAAO;IACP,KAAK;IACL,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;CACqD,CAAC;AAYhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,aAAkD,EACZ,EAAE;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"devicePlatform.js","sourceRoot":"","sources":["../../src/utils/devicePlatform.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAsB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAK7E,MAAM,cAAc,GAAG,sCAAsC,CAAC;AAW9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC7B,SAAiB,EACjB,OAAgB,EAChB,UAA2B,EAAE,EACJ,EAAE,CAAC,CAAC;IAC7B,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,mBAAmB,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ;CAC1E,CAAC,CAAC;AAKH,MAAM,yBAAyB,GAAG;IACjC,KAAK;IACL,OAAO;IACP,KAAK;IACL,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,SAAS;CACqD,CAAC;AAYhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACpC,aAAkD,EACZ,EAAE;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,MAAM,QAAQ,IAAI,yBAAyB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;YAC5B,GAAG,GAAG,IAAI,CAAC;QACZ,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnC,CAAC,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { RequestHeaders } from "@prosopo/types";
2
+ export interface MobileSignals {
3
+ userAgent?: string;
4
+ headers?: RequestHeaders;
5
+ carrierNetwork?: boolean;
6
+ tcpMss?: number;
7
+ webView?: boolean;
8
+ deviceCapability?: string;
9
+ touchEventCount?: number;
10
+ }
11
+ export interface MobileVerdict {
12
+ isMobile: boolean;
13
+ corroborated: boolean;
14
+ score: number;
15
+ evidence: string[];
16
+ }
17
+ export declare const MOBILE_SIGNAL_WEIGHTS: {
18
+ readonly userAgentMobile: 3;
19
+ readonly userAgentDesktop: -3;
20
+ readonly clientHintMobile: 3;
21
+ readonly clientHintNotMobile: -3;
22
+ readonly clientHintPlatformMobile: 3;
23
+ readonly clientHintPlatformDesktop: -3;
24
+ readonly touchCapability: 2;
25
+ readonly pointerCapability: -3;
26
+ readonly touchEvents: 2;
27
+ readonly webView: 1;
28
+ readonly network: 1;
29
+ };
30
+ export declare const MOBILE_SCORE_THRESHOLD = 3;
31
+ export declare const deriveMobileVerdict: (signals: MobileSignals) => MobileVerdict;
32
+ //# sourceMappingURL=mobileSignals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobileSignals.d.ts","sourceRoot":"","sources":["../../src/utils/mobileSignals.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMrD,MAAM,WAAW,aAAa;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAElB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAeD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;CAexB,CAAC;AAEX,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAUxC,eAAO,MAAM,mBAAmB,YAAa,aAAa,KAAG,aAiF5D,CAAC"}
@@ -0,0 +1,68 @@
1
+ //#region src/utils/mobileSignals.ts
2
+ var MOBILE_UA_REGEX = /Mobile|Android|iPhone|iPad|iPod|Opera Mini|IEMobile/i;
3
+ var DESKTOP_UA_REGEX = /Windows NT|Macintosh|X11|CrOS/i;
4
+ var MOBILE_PLATFORM_HINTS = ["android", "ios"];
5
+ var DESKTOP_PLATFORM_HINTS = [
6
+ "windows",
7
+ "macos",
8
+ "linux",
9
+ "chrome os"
10
+ ];
11
+ var TUNNELLED_MSS_MIN = 1300;
12
+ var TUNNELLED_MSS_MAX = 1430;
13
+ var MOBILE_SIGNAL_WEIGHTS = {
14
+ userAgentMobile: 3,
15
+ userAgentDesktop: -3,
16
+ clientHintMobile: 3,
17
+ clientHintNotMobile: -3,
18
+ clientHintPlatformMobile: 3,
19
+ clientHintPlatformDesktop: -3,
20
+ touchCapability: 2,
21
+ pointerCapability: -3,
22
+ touchEvents: 2,
23
+ webView: 1,
24
+ network: 1
25
+ };
26
+ var readHeader = (headers, name) => {
27
+ const value = headers?.[name];
28
+ return typeof value === "string" && value !== "" ? value : void 0;
29
+ };
30
+ var deriveMobileVerdict = (signals) => {
31
+ let score = 0;
32
+ let corroborated = false;
33
+ const evidence = [];
34
+ const vote = (name, evidenceName = name) => {
35
+ score += MOBILE_SIGNAL_WEIGHTS[name];
36
+ evidence.push(evidenceName);
37
+ };
38
+ const voteCorroborating = (name, evidenceName = name) => {
39
+ vote(name, evidenceName);
40
+ corroborated = true;
41
+ };
42
+ const userAgent = signals.userAgent ?? "";
43
+ if (MOBILE_UA_REGEX.test(userAgent)) vote("userAgentMobile");
44
+ else if (DESKTOP_UA_REGEX.test(userAgent)) vote("userAgentDesktop");
45
+ const mobileHint = readHeader(signals.headers, "sec-ch-ua-mobile");
46
+ if (mobileHint === "?1") vote("clientHintMobile");
47
+ else if (mobileHint === "?0") vote("clientHintNotMobile");
48
+ const platformHint = readHeader(signals.headers, "sec-ch-ua-platform")?.replaceAll("\"", "").toLowerCase();
49
+ if (platformHint !== void 0) {
50
+ if (MOBILE_PLATFORM_HINTS.includes(platformHint)) vote("clientHintPlatformMobile");
51
+ else if (DESKTOP_PLATFORM_HINTS.includes(platformHint)) vote("clientHintPlatformDesktop");
52
+ }
53
+ if (signals.deviceCapability === "mobile") voteCorroborating("touchCapability");
54
+ else if (signals.deviceCapability === "desktop") vote("pointerCapability");
55
+ if (signals.touchEventCount !== void 0 && signals.touchEventCount > 0) voteCorroborating("touchEvents");
56
+ if (signals.webView === true) voteCorroborating("webView");
57
+ const onCarrier = signals.carrierNetwork === true;
58
+ const tunnelled = signals.tcpMss !== void 0 && signals.tcpMss >= TUNNELLED_MSS_MIN && signals.tcpMss <= TUNNELLED_MSS_MAX;
59
+ if (onCarrier || tunnelled) voteCorroborating("network", onCarrier && tunnelled ? "carrierNetwork+tunnelledMss" : onCarrier ? "carrierNetwork" : "tunnelledMss");
60
+ return {
61
+ isMobile: score >= 3,
62
+ corroborated,
63
+ score,
64
+ evidence
65
+ };
66
+ };
67
+ //#endregion
68
+ export { MOBILE_SIGNAL_WEIGHTS, deriveMobileVerdict };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mobileSignals.js","sourceRoot":"","sources":["../../src/utils/mobileSignals.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/provider",
3
- "version": "5.19.3",
3
+ "version": "5.20.0",
4
4
  "author": "PROSOPO LIMITED <info@prosopo.io>",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -10,67 +10,68 @@
10
10
  "dependencies": {
11
11
  "@noble/hashes": "2.4.0",
12
12
  "@polkadot/util": "14.0.3",
13
- "@prosopo/api": "4.7.3",
14
- "@prosopo/api-express-router": "3.2.9",
15
- "@prosopo/api-route": "2.6.64",
16
- "@prosopo/audio-assets": "0.2.1",
17
- "@prosopo/captcha-severity": "1.3.1",
18
- "@prosopo/common": "3.2.3",
19
- "@prosopo/database": "4.2.7",
20
- "@prosopo/datasets": "3.2.8",
21
- "@prosopo/env": "3.6.77",
22
- "@prosopo/icon-order-assets": "0.2.1",
23
- "@prosopo/ipinfo": "0.4.21",
24
- "@prosopo/keyring": "2.10.8",
25
- "@prosopo/load-balancer": "2.11.12",
26
- "@prosopo/locale": "3.11.1",
27
- "@prosopo/logger": "2.1.4",
28
- "@prosopo/native-ja4": "0.0.8",
29
- "@prosopo/native-merkle": "0.0.7",
30
- "@prosopo/native-puzzle": "0.1.2",
31
- "@prosopo/puzzle-assets": "0.2.2",
32
- "@prosopo/redis-client": "1.0.41",
33
- "@prosopo/types": "5.16.3",
34
- "@prosopo/types-database": "5.10.6",
35
- "@prosopo/types-env": "2.11.23",
36
- "@prosopo/user-access-policy": "3.15.4",
37
- "@prosopo/util": "3.3.15",
38
- "@prosopo/util-crypto": "13.6.0",
39
- "@prosopo/web-bot-auth": "0.1.3",
13
+ "@prosopo/api": "4.7.4",
14
+ "@prosopo/api-express-router": "3.3.0",
15
+ "@prosopo/api-route": "2.6.65",
16
+ "@prosopo/audio-assets": "0.2.2",
17
+ "@prosopo/captcha-severity": "1.3.3",
18
+ "@prosopo/common": "3.3.0",
19
+ "@prosopo/database": "4.2.8",
20
+ "@prosopo/datasets": "3.2.9",
21
+ "@prosopo/env": "3.6.78",
22
+ "@prosopo/fingerprint": "2.8.0",
23
+ "@prosopo/icon-order-assets": "0.2.2",
24
+ "@prosopo/ipinfo": "0.4.22",
25
+ "@prosopo/keyring": "2.10.9",
26
+ "@prosopo/load-balancer": "2.11.13",
27
+ "@prosopo/locale": "3.12.0",
28
+ "@prosopo/logger": "2.1.5",
29
+ "@prosopo/native-ja4": "0.0.9",
30
+ "@prosopo/native-merkle": "0.0.8",
31
+ "@prosopo/native-puzzle": "0.1.3",
32
+ "@prosopo/puzzle-assets": "0.2.3",
33
+ "@prosopo/redis-client": "1.0.42",
34
+ "@prosopo/types": "5.17.0",
35
+ "@prosopo/types-database": "5.11.0",
36
+ "@prosopo/types-env": "2.11.24",
37
+ "@prosopo/user-access-policy": "3.15.5",
38
+ "@prosopo/util": "3.3.16",
39
+ "@prosopo/util-crypto": "13.6.1",
40
+ "@prosopo/web-bot-auth": "0.1.4",
40
41
  "cron": "3.1.7",
41
- "express": "4.22.2",
42
+ "express": "5.3.0",
42
43
  "express-rate-limit": "7.4.0",
43
- "geolib": "3.3.14",
44
- "i18next": "26.4.2",
45
- "ip-address": "10.7.2",
46
- "mongoose": "9.10.3",
44
+ "geolib": "4.0.0",
45
+ "i18next": "26.4.4",
46
+ "ip-address": "10.7.4",
47
+ "mongoose": "9.11.2",
47
48
  "prom-client": "15.1.3",
48
- "uuid": "14.0.2",
49
+ "uuid": "14.0.3",
49
50
  "zod": "3.23.8"
50
51
  },
51
52
  "devDependencies": {
52
53
  "@noble/curves": "2.4.0",
53
- "@prosopo/config": "3.4.5",
54
+ "@prosopo/config": "3.5.0",
54
55
  "@types/cors": "2.8.19",
55
- "@types/express": "4.17.25",
56
+ "@types/express": "5.0.6",
56
57
  "@types/node": "22.5.5",
57
58
  "@types/pg": "8.23.1",
58
59
  "@types/uuid": "11.0.0",
59
- "@vitest/coverage-v8": "4.1.11",
60
- "@vitest/spy": "4.1.11",
60
+ "@vitest/coverage-v8": "5.0.4",
61
+ "@vitest/spy": "5.0.4",
61
62
  "concurrently": "9.0.1",
62
63
  "cors": "2.8.6",
63
64
  "del-cli": "6.0.0",
64
- "dotenv": "16.4.5",
65
+ "dotenv": "18.0.7",
65
66
  "esbuild": "0.28.2",
66
67
  "npm-run-all": "4.1.5",
67
- "testcontainers": "12.2.0",
68
+ "testcontainers": "12.2.1",
68
69
  "tslib": "2.7.0",
69
70
  "tsx": "4.20.3",
70
71
  "typescript": "5.6.2",
71
- "undici": "6.29.0",
72
- "vite": "8.1.5",
73
- "vitest": "4.1.11"
72
+ "undici": "8.12.0",
73
+ "vite": "8.1.6",
74
+ "vitest": "5.0.4"
74
75
  },
75
76
  "repository": {
76
77
  "type": "git",