@prosopo/procaptcha-frictionless 2.8.31 → 2.11.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,694 @@
1
1
  # @prosopo/procaptcha-frictionless
2
2
 
3
+ ## 2.11.0
4
+ ### Minor Changes
5
+
6
+ - 2392aaf: Integrate the prosopo/dns sidecar against the procaptcha provider.
7
+
8
+ - New admin endpoint `POST /v1/prosopo/provider/admin/dns/event` ingests batched DNS observation events from the sidecar (auth: admin sr25519 JWT) and merges resolver / peer IPs onto the matching Session record under a new `Session.dnsEvent` field.
9
+ - Frictionless response carries a per-session `dns_url` when the pronode has `DNS_EVENT_SUBZONE` + `DNS_EVENT_HMAC_SECRET` set. The HMAC path mirrors the sidecar's Rust implementation so both sides agree without shared per-request state.
10
+ - The frictionless bundle fires one no-cors GET to `dns_url` on detection completion (fire-and-forget; failures never affect the captcha flow).
11
+ - `dns_url` is included on the `reuse_session` short-circuit path too, not only the new-session path — otherwise repeat visits from the same user/IP/sitekey combination silently dropped the observation hop.
12
+ - Deploy compose entry for the sidecar plus a Caddy `layer4` SNI-passthrough block so the sidecar terminates TLS itself (no Cloudflare token needed). Caddy image must be rebuilt with the `caddy-l4` plugin.
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies [a1d60db]
17
+ - Updated dependencies [2392aaf]
18
+ - @prosopo/types@4.3.0
19
+ - @prosopo/api@3.4.8
20
+ - @prosopo/common@3.1.38
21
+ - @prosopo/detector@3.4.36
22
+ - @prosopo/load-balancer@2.9.10
23
+ - @prosopo/procaptcha-common@2.10.17
24
+ - @prosopo/procaptcha-pow@2.9.4
25
+ - @prosopo/procaptcha-puzzle@2.10.8
26
+ - @prosopo/procaptcha-react@2.9.66
27
+
28
+ ## 2.10.3
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies [d3db08d]
32
+ - @prosopo/procaptcha-common@2.10.16
33
+ - @prosopo/procaptcha-react@2.9.65
34
+ - @prosopo/procaptcha-pow@2.9.3
35
+ - @prosopo/procaptcha-puzzle@2.10.7
36
+
37
+ ## 2.10.2
38
+ ### Patch Changes
39
+
40
+ - 6c26669: Add per-site honeypot trap. When enabled, the provider attaches an encoded question (morse or semaphore, base64-wrapped) in the `x-prosopo-meta` response header on frictionless responses. The widget renders the value into an off-screen hidden input with `name="email_confirm"`; bots that auto-fill text inputs populate it and the value rides back on the solution submit as `clientMetaData.hp`, which is persisted on the `StoredCaptcha` record. Falls back to a random phrase from `PROSOPO_HONEYPOT_PHRASE_BANK_PATH` when no custom question is configured.
41
+ - f7f9ec5: feat(provider,widget): reserved always-pass / always-fail test site keys
42
+
43
+ Add two fixed, well-known reserved site keys (`ALWAYS_PASS_SITE_KEY` /
44
+ `ALWAYS_FAIL_SITE_KEY`) that force a deterministic captcha verdict for CI/CD and
45
+ integration testing, constant across production, staging and development.
46
+
47
+ - `@prosopo/types`: shared constants + `getTestSiteKeyMode`, imported by both the
48
+ provider and the widget.
49
+ - `@prosopo/provider`: short-circuits the `submit*` and `verify` endpoints (verify
50
+ runs before the signature check, so no dapp secret is needed), serves an
51
+ invisible PoW session from the frictionless handler, and bypasses domain
52
+ middleware. Works in every environment with no DB record.
53
+ - `@prosopo/procaptcha-common` / `-react` / `-frictionless`: render a prominent
54
+ `TestModeBanner` warning (always pass/fail) plus a console warning so a test key
55
+ can never ship to production unnoticed.
56
+
57
+ always-pass verifies at both the submit and verify layers; always-fail fails at
58
+ both. Safe in production by design: the override only weakens protection for a
59
+ dapp that deliberately opts in, mirroring reCAPTCHA's public test keys.
60
+ - Updated dependencies [6c26669]
61
+ - Updated dependencies [f7f9ec5]
62
+ - @prosopo/types@4.2.1
63
+ - @prosopo/api@3.4.7
64
+ - @prosopo/procaptcha-react@2.9.64
65
+ - @prosopo/procaptcha-pow@2.9.2
66
+ - @prosopo/procaptcha-puzzle@2.10.6
67
+ - @prosopo/procaptcha-common@2.10.15
68
+ - @prosopo/detector@3.4.35
69
+ - @prosopo/load-balancer@2.9.9
70
+
71
+ ## 2.10.1
72
+ ### Patch Changes
73
+
74
+ - Updated dependencies [0fd81af]
75
+ - @prosopo/common@3.1.37
76
+ - @prosopo/load-balancer@2.9.8
77
+ - @prosopo/procaptcha-pow@2.9.1
78
+ - @prosopo/procaptcha-puzzle@2.10.5
79
+ - @prosopo/procaptcha-react@2.9.63
80
+ - @prosopo/procaptcha-common@2.10.14
81
+
82
+ ## 2.10.0
83
+ ### Minor Changes
84
+
85
+ - 20cae63: feat(provider): re-route after PoW using decrypted behavioural data
86
+
87
+ PoW solutions are now re-evaluated by the routing machine after submission.
88
+ Previously the routing decision was made up-front on a thin set of signals;
89
+ behavioural data only becomes available (decrypted server-side) once the
90
+ user submits their PoW solution, so a user with weak behavioural signals
91
+ could still earn a token by solving PoW alone.
92
+
93
+ The submit endpoint now runs the routing machine a second time in a new
94
+ `postPow` phase, feeding in the decrypted behavioural data, the originating
95
+ session's score, request headers, JA4, and IP info. If the router escalates,
96
+ the provider mints a fresh session (carrying the original session's risk
97
+ profile) and returns `escalation: { captchaType, sessionId }` on the
98
+ `PowCaptchaSolutionResponse`. The `verified` flag is forced to `false` on
99
+ escalation — the user isn't done until they clear the follow-up.
100
+
101
+ On the client, `ProcaptchaFrictionless` accepts the escalation via a new
102
+ internal `onEscalate` prop on the PoW widget and mounts the chosen image
103
+ or puzzle widget in place, splicing the new sessionId into the
104
+ `FrictionlessState`. The handoff is internal to the frictionless → pow
105
+ flow — dapps integrating Procaptcha see no API change.
106
+
107
+ `RoutingMachineInputBase.phase` widens from `"route"` to
108
+ `"route" | "postPow"` so decision-machine configs can distinguish the two
109
+ passes.
110
+
111
+ ### Patch Changes
112
+
113
+ - Updated dependencies [20cae63]
114
+ - Updated dependencies [4d9923e]
115
+ - @prosopo/types@4.2.0
116
+ - @prosopo/procaptcha-pow@2.9.0
117
+ - @prosopo/api@3.4.6
118
+ - @prosopo/detector@3.4.34
119
+ - @prosopo/load-balancer@2.9.7
120
+ - @prosopo/procaptcha-common@2.10.13
121
+ - @prosopo/procaptcha-puzzle@2.10.4
122
+ - @prosopo/procaptcha-react@2.9.62
123
+
124
+ ## 2.9.6
125
+ ### Patch Changes
126
+
127
+ - Updated dependencies [d351362]
128
+ - @prosopo/types@4.1.4
129
+ - @prosopo/api@3.4.5
130
+ - @prosopo/detector@3.4.33
131
+ - @prosopo/load-balancer@2.9.6
132
+ - @prosopo/procaptcha-common@2.10.12
133
+ - @prosopo/procaptcha-pow@2.8.62
134
+ - @prosopo/procaptcha-puzzle@2.10.3
135
+ - @prosopo/procaptcha-react@2.9.61
136
+
137
+ ## 2.9.5
138
+ ### Patch Changes
139
+
140
+ - Updated dependencies [e2711ae]
141
+ - Updated dependencies [5786629]
142
+ - @prosopo/types@4.1.3
143
+ - @prosopo/locale@3.2.4
144
+ - @prosopo/procaptcha-pow@2.8.61
145
+ - @prosopo/procaptcha-puzzle@2.10.2
146
+ - @prosopo/procaptcha-react@2.9.60
147
+ - @prosopo/api@3.4.4
148
+ - @prosopo/common@3.1.36
149
+ - @prosopo/detector@3.4.32
150
+ - @prosopo/load-balancer@2.9.5
151
+ - @prosopo/procaptcha-common@2.10.11
152
+
153
+ ## 2.9.4
154
+ ### Patch Changes
155
+
156
+ - Updated dependencies [566c1f6]
157
+ - @prosopo/widget-skeleton@2.8.3
158
+ - @prosopo/procaptcha-pow@2.8.60
159
+ - @prosopo/procaptcha-puzzle@2.10.1
160
+ - @prosopo/procaptcha-react@2.9.59
161
+ - @prosopo/types@4.1.2
162
+ - @prosopo/procaptcha-common@2.10.10
163
+ - @prosopo/api@3.4.3
164
+ - @prosopo/detector@3.4.31
165
+ - @prosopo/load-balancer@2.9.4
166
+
167
+ ## 2.9.3
168
+ ### Patch Changes
169
+
170
+ - 53bfd45: Detect when the widget is served over plain HTTP (an insecure browser context)
171
+ and show a clear "Procaptcha requires a secure (HTTPS) connection" message
172
+ instead of failing later with a cryptic `Provider Selection Failed` error.
173
+ Procaptcha depends on secure-context-only browser APIs (e.g. SubtleCrypto), so
174
+ the frictionless widget now short-circuits before the provider-selection retry
175
+ loop when `window.isSecureContext` is false. Adds the `WIDGET.INSECURE_CONTEXT`
176
+ translation key across all locales and an `isSecureBrowserContext` helper.
177
+ - Updated dependencies [53bfd45]
178
+ - Updated dependencies [91958da]
179
+ - @prosopo/procaptcha-common@2.10.9
180
+ - @prosopo/locale@3.2.3
181
+ - @prosopo/procaptcha-puzzle@2.10.0
182
+ - @prosopo/api@3.4.2
183
+ - @prosopo/types@4.1.1
184
+ - @prosopo/procaptcha-pow@2.8.59
185
+ - @prosopo/procaptcha-react@2.9.58
186
+ - @prosopo/common@3.1.35
187
+ - @prosopo/detector@3.4.30
188
+ - @prosopo/load-balancer@2.9.3
189
+
190
+ ## 2.9.2
191
+ ### Patch Changes
192
+
193
+ - Updated dependencies [6a741ce]
194
+ - @prosopo/types@4.1.0
195
+ - @prosopo/api@3.4.1
196
+ - @prosopo/detector@3.4.29
197
+ - @prosopo/load-balancer@2.9.2
198
+ - @prosopo/procaptcha-common@2.10.8
199
+ - @prosopo/procaptcha-pow@2.8.58
200
+ - @prosopo/procaptcha-puzzle@2.9.2
201
+ - @prosopo/procaptcha-react@2.9.57
202
+
203
+ ## 2.9.1
204
+ ### Patch Changes
205
+
206
+ - cc13a45: Defer the SIMD benchmark trigger to after the frictionless POST is in
207
+ flight, and stop attaching SIMD readings to the frictionless request
208
+ body. The previous `await detectionResult.getSimdReadings(0)` still
209
+ waited a microtask cycle and the full RSA-OAEP + AES-GCM encryption
210
+ (10–30ms) even when `timeoutMs` was `0`, and the benchmark itself —
211
+ a CPU-bound WASM loop — was running concurrently with the BotScore
212
+ worker, contending for cores on small VMs. Stretches like 344ms →
213
+ 1167ms on staging were attributable to the contention.
214
+
215
+ The first-hop-wins semantics on the provider mean we just lose the
216
+ frictionless-hop attach, not the signal — readings still attach on the
217
+ captcha challenge GET and on solution submit.
218
+ - @prosopo/procaptcha-common@2.10.7
219
+ - @prosopo/procaptcha-pow@2.8.57
220
+ - @prosopo/procaptcha-puzzle@2.9.1
221
+ - @prosopo/procaptcha-react@2.9.56
222
+
223
+ ## 2.9.0
224
+ ### Minor Changes
225
+
226
+ - d865319: Add puzzle captcha (drag-to-target challenge) as a new captcha type:
227
+ provider endpoints, manager + widget package, types, demo pages, and
228
+ a `puzzleTolerance` site setting.
229
+
230
+ ### Patch Changes
231
+
232
+ - 4aae4e6: Pull the frictionless POST critical path down by ~340ms on the test
233
+ hardware via four focused changes:
234
+
235
+ - **Inline Signer.** `@polkadot/extension-base/page/Signer` is now a
236
+ static import in `ExtensionWeb2`. It's 0.5KB on disk but its dynamic
237
+ import was costing ~190ms of network round-trip; inlining removes
238
+ one separate chunk fetch + parse from the critical path.
239
+
240
+ - **Pre-warm the CryptoWorker.** `CryptoWorkerManager` gains a public
241
+ `prewarm()` that actually spawns the Worker and lets its script
242
+ parse during chunk-load time. Previously the call at module load
243
+ only instantiated the manager class; the worker itself spun up
244
+ lazily on the first `runTask`, putting the ~500ms worker module-eval
245
+ inside the first `createAccount()` call. Now it overlaps with chunk
246
+ loading and is hot by the time it's needed.
247
+
248
+ - **Prefetch providers at module load with an env-keyed cache.**
249
+ `prefetchProviders` and `getRandomActiveProvider` share an in-flight
250
+ `Promise<HardcodedProvider[]>` keyed by environment, so a module-load
251
+ prefetch and the later `customDetectBot` Promise.all reuse the same
252
+ network call. `procaptcha-frictionless` triggers the prefetch from
253
+ module-import time using `PROSOPO_DEFAULT_ENVIRONMENT` (browser-safe
254
+ `typeof process` guard + `EnvironmentTypesSchema.safeParse`), so the
255
+ HTTP fetch overlaps with chunk download instead of running as part
256
+ of the detection Promise.all.
257
+
258
+ - **Lazy-load the three captcha solvers.** `ProcaptchaFrictionless`
259
+ no longer statically imports `Procaptcha`, `ProcaptchaPuzzle`, and
260
+ `ProcaptchaPow`; each is `await import(...)` at the point the
261
+ frictionless response picks a type. Two of the three wrappers used
262
+ to be dead weight in the initial bundle; now only the chosen solver
263
+ is downloaded, after the frictionless POST has fired. Pulls ~64KB
264
+ of solver UI (chosen wrapper + Emotion dev runtime + builder + lazy
265
+ shim) out of the initial captchaRenderer chunk.
266
+
267
+ Combined with the earlier worker-related changes, the frictionless POST
268
+ on the puzzle-implicit test page is now ~1290ms vs ~1630ms before this
269
+ batch, and ~6500ms in the original baseline. The remaining floor is
270
+ dominated by the BotScoreWorker's obfuscated bundle parse + run.
271
+ - 4aae4e6: Plumb the WASM SIMD CPU fingerprint readings (collected by the catcher
272
+ client per https://blog.azerpas.com/writing/wasm-simd-fingerprinting/)
273
+ through the captcha flow and onto the linked `Session` record.
274
+ Collection-only — no scoring or classification yet.
275
+
276
+ The readings are sent at the earliest moment they're available so the
277
+ signal lands on the session as soon as possible:
278
+
279
+ 1. **Captcha-challenge GET** (PoW / Puzzle / Image) — the procaptcha
280
+ Manager calls `frictionlessState.getSimdReadings(0)` (non-blocking
281
+ cache check) and attaches it to the challenge-request body. The
282
+ provider handler decodes and patches the linked session via
283
+ `updateSessionRecord`.
284
+ 2. **Solution submission** (PoW / Puzzle / Image) — same non-blocking
285
+ check on the submit body. Acts as a backup if the benchmark wasn't
286
+ ready in time for the challenge GET.
287
+
288
+ Frictionless init itself stays SIMD-free (benchmark is too slow to gate
289
+ the first hop).
290
+
291
+ Surface area:
292
+
293
+ - `SimdReadings` discriminated union + `SimdOpReadingRecord` /
294
+ `SimdOpCategory` in `@prosopo/types`, plus `simdReadingsCodec` shared
295
+ encode/decode helpers so the browser SDK and the provider use the same
296
+ pipe-safe wire format.
297
+ - Optional `simdReadings: string()` on `CaptchaRequestBody`,
298
+ `GetPowCaptchaChallengeRequestBody`, `GetPuzzleCaptchaChallengeRequestBody`,
299
+ `CaptchaSolutionBody`, `SubmitPowCaptchaSolutionBody`, and
300
+ `SubmitPuzzleCaptchaSolutionBody`.
301
+ - `FrictionlessState.getSimdReadings` + `BotDetectionFunctionResult.getSimdReadings`
302
+ so the catcher's prefetched benchmark is consumed at the request sites.
303
+ - `ProcaptchaApiInterface.{getCaptchaChallenge, submitCaptchaSolution}` and
304
+ the `ProviderApi.{getCaptchaChallenge, getPowCaptchaChallenge, getPuzzleCaptchaChallenge,
305
+ submitCaptchaSolution, submitPowCaptchaSolution, submitPuzzleCaptchaSolution}`
306
+ client methods accept the field.
307
+ - Provider challenge + solution handlers decode via `decodeSimdReadings`
308
+ and `updateSessionRecord` (Mongoose `Mixed`, Zod discriminated-union
309
+ validation at the edge). The challenge-GET patch is fire-and-forget.
310
+
311
+ Backward-compatible: older catcher clients omit the field at every layer;
312
+ the session record omits it in turn.
313
+ - Updated dependencies [3c0be68]
314
+ - Updated dependencies [f9ea09d]
315
+ - Updated dependencies [4aae4e6]
316
+ - Updated dependencies [4aae4e6]
317
+ - Updated dependencies [d865319]
318
+ - Updated dependencies [273926d]
319
+ - Updated dependencies [753304b]
320
+ - Updated dependencies [8bb7286]
321
+ - Updated dependencies [f9ea09d]
322
+ - Updated dependencies [4aae4e6]
323
+ - Updated dependencies [4993813]
324
+ - Updated dependencies [5f1ae53]
325
+ - @prosopo/types@4.0.0
326
+ - @prosopo/api@3.4.0
327
+ - @prosopo/load-balancer@2.9.1
328
+ - @prosopo/locale@3.2.2
329
+ - @prosopo/procaptcha-puzzle@2.9.0
330
+ - @prosopo/procaptcha-pow@2.8.56
331
+ - @prosopo/common@3.1.34
332
+ - @prosopo/widget-skeleton@2.8.2
333
+ - @prosopo/detector@3.4.28
334
+ - @prosopo/procaptcha-common@2.10.6
335
+ - @prosopo/procaptcha-react@2.9.55
336
+
337
+ ## 2.8.62
338
+ ### Patch Changes
339
+
340
+ - 819ed95: Adding invisible mode to session data
341
+ - Updated dependencies [819ed95]
342
+ - Updated dependencies [33a6c57]
343
+ - @prosopo/types@3.16.1
344
+ - @prosopo/api@3.3.2
345
+ - @prosopo/load-balancer@2.9.0
346
+ - @prosopo/detector@3.4.27
347
+ - @prosopo/procaptcha-common@2.10.5
348
+ - @prosopo/procaptcha-pow@2.8.55
349
+ - @prosopo/procaptcha-react@2.9.54
350
+
351
+ ## 2.8.61
352
+ ### Patch Changes
353
+
354
+ - Updated dependencies [f6a4402]
355
+ - Updated dependencies [99dfb44]
356
+ - @prosopo/types@3.16.0
357
+ - @prosopo/api@3.3.1
358
+ - @prosopo/detector@3.4.26
359
+ - @prosopo/load-balancer@2.8.40
360
+ - @prosopo/procaptcha-common@2.10.4
361
+ - @prosopo/procaptcha-pow@2.8.54
362
+ - @prosopo/procaptcha-react@2.9.53
363
+
364
+ ## 2.8.60
365
+ ### Patch Changes
366
+
367
+ - Updated dependencies [3e54c0a]
368
+ - @prosopo/types@3.15.0
369
+ - @prosopo/api@3.3.0
370
+ - @prosopo/detector@3.4.25
371
+ - @prosopo/load-balancer@2.8.39
372
+ - @prosopo/procaptcha-common@2.10.3
373
+ - @prosopo/procaptcha-pow@2.8.53
374
+ - @prosopo/procaptcha-react@2.9.52
375
+
376
+ ## 2.8.59
377
+ ### Patch Changes
378
+
379
+ - Updated dependencies [946a8ba]
380
+ - Updated dependencies [5614814]
381
+ - Updated dependencies [b94890c]
382
+ - @prosopo/types@3.14.1
383
+ - @prosopo/locale@3.2.1
384
+ - @prosopo/api@3.2.11
385
+ - @prosopo/common@3.1.33
386
+ - @prosopo/detector@3.4.24
387
+ - @prosopo/load-balancer@2.8.38
388
+ - @prosopo/procaptcha-common@2.10.2
389
+ - @prosopo/procaptcha-pow@2.8.52
390
+ - @prosopo/procaptcha-react@2.9.51
391
+
392
+ ## 2.8.58
393
+ ### Patch Changes
394
+
395
+ - Updated dependencies [06970d2]
396
+ - Updated dependencies [fc514dd]
397
+ - Updated dependencies [7be39c4]
398
+ - Updated dependencies [42650db]
399
+ - Updated dependencies [dd3e06e]
400
+ - @prosopo/procaptcha-common@2.10.1
401
+ - @prosopo/widget-skeleton@2.8.1
402
+ - @prosopo/locale@3.2.0
403
+ - @prosopo/types@3.14.0
404
+ - @prosopo/api@3.2.10
405
+ - @prosopo/procaptcha-pow@2.8.51
406
+ - @prosopo/procaptcha-react@2.9.50
407
+ - @prosopo/common@3.1.32
408
+ - @prosopo/detector@3.4.23
409
+ - @prosopo/load-balancer@2.8.37
410
+
411
+ ## 2.8.57
412
+ ### Patch Changes
413
+
414
+ - Updated dependencies [73df23c]
415
+ - Updated dependencies [8139819]
416
+ - Updated dependencies [4a9c518]
417
+ - @prosopo/procaptcha-common@2.10.0
418
+ - @prosopo/widget-skeleton@2.8.0
419
+ - @prosopo/common@3.1.31
420
+ - @prosopo/procaptcha-pow@2.8.50
421
+ - @prosopo/procaptcha-react@2.9.49
422
+ - @prosopo/load-balancer@2.8.36
423
+
424
+ ## 2.8.56
425
+ ### Patch Changes
426
+
427
+ - @prosopo/procaptcha-pow@2.8.49
428
+ - @prosopo/procaptcha-react@2.9.48
429
+ - @prosopo/types@3.13.3
430
+ - @prosopo/procaptcha-common@2.9.41
431
+ - @prosopo/api@3.2.9
432
+ - @prosopo/detector@3.4.22
433
+ - @prosopo/load-balancer@2.8.35
434
+
435
+ ## 2.8.55
436
+ ### Patch Changes
437
+
438
+ - @prosopo/procaptcha-pow@2.8.48
439
+ - @prosopo/procaptcha-react@2.9.47
440
+ - @prosopo/types@3.13.2
441
+ - @prosopo/procaptcha-common@2.9.40
442
+ - @prosopo/api@3.2.8
443
+ - @prosopo/detector@3.4.21
444
+ - @prosopo/load-balancer@2.8.34
445
+
446
+ ## 2.8.54
447
+ ### Patch Changes
448
+
449
+ - Updated dependencies [20192d2]
450
+ - @prosopo/widget-skeleton@2.7.14
451
+ - @prosopo/procaptcha-pow@2.8.47
452
+ - @prosopo/procaptcha-react@2.9.46
453
+ - @prosopo/types@3.13.1
454
+ - @prosopo/procaptcha-common@2.9.39
455
+ - @prosopo/api@3.2.7
456
+ - @prosopo/detector@3.4.20
457
+ - @prosopo/load-balancer@2.8.33
458
+
459
+ ## 2.8.53
460
+ ### Patch Changes
461
+
462
+ - Updated dependencies [e6d9553]
463
+ - @prosopo/types@3.13.0
464
+ - @prosopo/procaptcha-pow@2.8.46
465
+ - @prosopo/procaptcha-react@2.9.45
466
+ - @prosopo/api@3.2.6
467
+ - @prosopo/detector@3.4.19
468
+ - @prosopo/load-balancer@2.8.32
469
+ - @prosopo/procaptcha-common@2.9.38
470
+
471
+ ## 2.8.52
472
+ ### Patch Changes
473
+
474
+ - 730c61e: Speed up captcha
475
+ - Updated dependencies [730c61e]
476
+ - Updated dependencies [d5082a9]
477
+ - Updated dependencies [e1ea65f]
478
+ - Updated dependencies [c316257]
479
+ - @prosopo/load-balancer@2.8.31
480
+ - @prosopo/detector@3.4.18
481
+ - @prosopo/types@3.12.3
482
+ - @prosopo/procaptcha-common@2.9.37
483
+ - @prosopo/api@3.2.5
484
+ - @prosopo/procaptcha-pow@2.8.45
485
+ - @prosopo/procaptcha-react@2.9.44
486
+
487
+ ## 2.8.51
488
+ ### Patch Changes
489
+
490
+ - Updated dependencies [dbcd098]
491
+ - Updated dependencies [adb89a6]
492
+ - @prosopo/detector@3.4.17
493
+ - @prosopo/locale@3.1.29
494
+ - @prosopo/types@3.12.2
495
+ - @prosopo/api@3.2.4
496
+ - @prosopo/common@3.1.30
497
+ - @prosopo/procaptcha-pow@2.8.44
498
+ - @prosopo/procaptcha-react@2.9.43
499
+ - @prosopo/load-balancer@2.8.30
500
+ - @prosopo/procaptcha-common@2.9.36
501
+
502
+ ## 2.8.50
503
+ ### Patch Changes
504
+
505
+ - Updated dependencies [f5c8725]
506
+ - @prosopo/detector@3.4.16
507
+
508
+ ## 2.8.49
509
+ ### Patch Changes
510
+
511
+ - Updated dependencies [c5ee492]
512
+ - Updated dependencies [a90eb54]
513
+ - @prosopo/common@3.1.29
514
+ - @prosopo/types@3.12.1
515
+ - @prosopo/load-balancer@2.8.29
516
+ - @prosopo/procaptcha-pow@2.8.43
517
+ - @prosopo/procaptcha-react@2.9.42
518
+ - @prosopo/api@3.2.3
519
+ - @prosopo/detector@3.4.15
520
+ - @prosopo/procaptcha-common@2.9.35
521
+
522
+ ## 2.8.48
523
+ ### Patch Changes
524
+
525
+ - Updated dependencies [759d4e6]
526
+ - Updated dependencies [676c5f2]
527
+ - Updated dependencies [feaca02]
528
+ - @prosopo/detector@3.4.14
529
+ - @prosopo/load-balancer@2.8.28
530
+ - @prosopo/types@3.12.0
531
+ - @prosopo/procaptcha-common@2.9.34
532
+ - @prosopo/api@3.2.2
533
+ - @prosopo/procaptcha-pow@2.8.42
534
+ - @prosopo/procaptcha-react@2.9.41
535
+
536
+ ## 2.8.47
537
+ ### Patch Changes
538
+
539
+ - Updated dependencies [8148587]
540
+ - @prosopo/detector@3.4.13
541
+ - @prosopo/types@3.11.1
542
+ - @prosopo/api@3.2.1
543
+ - @prosopo/load-balancer@2.8.27
544
+ - @prosopo/procaptcha-common@2.9.33
545
+ - @prosopo/procaptcha-pow@2.8.41
546
+ - @prosopo/procaptcha-react@2.9.40
547
+
548
+ ## 2.8.46
549
+ ### Patch Changes
550
+
551
+ - Updated dependencies [5444635]
552
+ - @prosopo/detector@3.4.12
553
+
554
+ ## 2.8.45
555
+ ### Patch Changes
556
+
557
+ - Updated dependencies [7f6ffc5]
558
+ - @prosopo/types@3.11.0
559
+ - @prosopo/api@3.2.0
560
+ - @prosopo/procaptcha-react@2.9.39
561
+ - @prosopo/detector@3.4.11
562
+ - @prosopo/load-balancer@2.8.26
563
+ - @prosopo/procaptcha-common@2.9.32
564
+ - @prosopo/procaptcha-pow@2.8.40
565
+
566
+ ## 2.8.44
567
+ ### Patch Changes
568
+
569
+ - Updated dependencies [bca43e5]
570
+ - @prosopo/detector@3.4.10
571
+
572
+ ## 2.8.43
573
+ ### Patch Changes
574
+
575
+ - Updated dependencies [ce4f831]
576
+ - Updated dependencies [93fa086]
577
+ - Updated dependencies [4de47f5]
578
+ - @prosopo/detector@3.4.9
579
+ - @prosopo/types@3.10.2
580
+ - @prosopo/api@3.1.49
581
+ - @prosopo/load-balancer@2.8.25
582
+ - @prosopo/procaptcha-common@2.9.31
583
+ - @prosopo/procaptcha-pow@2.8.39
584
+ - @prosopo/procaptcha-react@2.9.38
585
+
586
+ ## 2.8.42
587
+ ### Patch Changes
588
+
589
+ - Updated dependencies [cde7550]
590
+ - @prosopo/types@3.10.1
591
+ - @prosopo/api@3.1.48
592
+ - @prosopo/detector@3.4.8
593
+ - @prosopo/load-balancer@2.8.24
594
+ - @prosopo/procaptcha-common@2.9.30
595
+ - @prosopo/procaptcha-pow@2.8.38
596
+ - @prosopo/procaptcha-react@2.9.37
597
+
598
+ ## 2.8.41
599
+ ### Patch Changes
600
+
601
+ - Updated dependencies [ad6d622]
602
+ - @prosopo/types@3.10.0
603
+ - @prosopo/api@3.1.47
604
+ - @prosopo/detector@3.4.7
605
+ - @prosopo/load-balancer@2.8.23
606
+ - @prosopo/procaptcha-common@2.9.29
607
+ - @prosopo/procaptcha-pow@2.8.37
608
+ - @prosopo/procaptcha-react@2.9.36
609
+
610
+ ## 2.8.40
611
+ ### Patch Changes
612
+
613
+ - Updated dependencies [ff58a70]
614
+ - Updated dependencies [592adf1]
615
+ - @prosopo/types@3.9.0
616
+ - @prosopo/procaptcha-react@2.9.35
617
+ - @prosopo/procaptcha-pow@2.8.36
618
+ - @prosopo/api@3.1.46
619
+ - @prosopo/detector@3.4.6
620
+ - @prosopo/load-balancer@2.8.22
621
+ - @prosopo/procaptcha-common@2.9.28
622
+
623
+ ## 2.8.39
624
+ ### Patch Changes
625
+
626
+ - @prosopo/procaptcha-react@2.9.34
627
+
628
+ ## 2.8.38
629
+ ### Patch Changes
630
+
631
+ - Updated dependencies [d2431cd]
632
+ - @prosopo/types@3.8.4
633
+ - @prosopo/api@3.1.45
634
+ - @prosopo/detector@3.4.5
635
+ - @prosopo/load-balancer@2.8.21
636
+ - @prosopo/procaptcha-common@2.9.27
637
+ - @prosopo/procaptcha-pow@2.8.35
638
+ - @prosopo/procaptcha-react@2.9.33
639
+
640
+ ## 2.8.37
641
+ ### Patch Changes
642
+
643
+ - @prosopo/procaptcha-react@2.9.32
644
+
645
+ ## 2.8.36
646
+ ### Patch Changes
647
+
648
+ - Updated dependencies [bd6995b]
649
+ - @prosopo/detector@3.4.4
650
+ - @prosopo/types@3.8.3
651
+ - @prosopo/api@3.1.44
652
+ - @prosopo/load-balancer@2.8.20
653
+ - @prosopo/procaptcha-common@2.9.26
654
+ - @prosopo/procaptcha-pow@2.8.34
655
+ - @prosopo/procaptcha-react@2.9.31
656
+
657
+ ## 2.8.35
658
+ ### Patch Changes
659
+
660
+ - Updated dependencies [9633e58]
661
+ - @prosopo/types@3.8.2
662
+ - @prosopo/api@3.1.43
663
+ - @prosopo/detector@3.4.3
664
+ - @prosopo/load-balancer@2.8.19
665
+ - @prosopo/procaptcha-common@2.9.25
666
+ - @prosopo/procaptcha-pow@2.8.33
667
+ - @prosopo/procaptcha-react@2.9.30
668
+
669
+ ## 2.8.34
670
+ ### Patch Changes
671
+
672
+ - Updated dependencies [f52a5c1]
673
+ - @prosopo/types@3.8.1
674
+ - @prosopo/api@3.1.42
675
+ - @prosopo/detector@3.4.2
676
+ - @prosopo/load-balancer@2.8.18
677
+ - @prosopo/procaptcha-common@2.9.24
678
+ - @prosopo/procaptcha-pow@2.8.32
679
+ - @prosopo/procaptcha-react@2.9.29
680
+
681
+ ## 2.8.33
682
+ ### Patch Changes
683
+
684
+ - @prosopo/procaptcha-react@2.9.28
685
+
686
+ ## 2.8.32
687
+ ### Patch Changes
688
+
689
+ - Updated dependencies [15254a3]
690
+ - @prosopo/detector@3.4.1
691
+
3
692
  ## 2.8.31
4
693
  ### Patch Changes
5
694
 
@@ -1,3 +1,3 @@
1
1
  import { type ProcaptchaFrictionlessProps } from "@prosopo/types";
2
- export declare const ProcaptchaFrictionless: ({ config, callbacks, restart, i18n, detectBot, container, }: ProcaptchaFrictionlessProps) => import("react/jsx-runtime").JSX.Element | null;
2
+ export declare const ProcaptchaFrictionless: ({ config, callbacks, restart, i18n, detectBot, container, }: ProcaptchaFrictionlessProps) => import("react/jsx-runtime").JSX.Element;
3
3
  //# sourceMappingURL=ProcaptchaFrictionless.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcaptchaFrictionless.d.ts","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAIN,KAAK,2BAA2B,EAChC,MAAM,gBAAgB,CAAC;AA6CxB,eAAO,MAAM,sBAAsB,gEAOhC,2BAA2B,mDAgJ7B,CAAC"}
1
+ {"version":3,"file":"ProcaptchaFrictionless.d.ts","sourceRoot":"","sources":["../src/ProcaptchaFrictionless.tsx"],"names":[],"mappings":"AAsBA,OAAO,EAKN,KAAK,2BAA2B,EAChC,MAAM,gBAAgB,CAAC;AAqDxB,eAAO,MAAM,sBAAsB,gEAOhC,2BAA2B,4CAqM7B,CAAC"}