Skip to content

feat(procaptcha,provider,types): send and store page scroll events - #3253

Open
HughParry wants to merge 2 commits into
mainfrom
feat/behavioral-scroll-collector
Open

HughParry wants to merge 2 commits into
mainfrom
feat/behavioral-scroll-collector

Conversation

@HughParry

Copy link
Copy Markdown
Contributor

What changed

  • Procaptcha now has a fourth behavioural collector: page scrolling (how far the page is scrolled, and when each scroll happened). It sits next to mouse, touch and clicks.
  • The widget sends it with the rest of the behavioural data. The provider saves it as c4 on pow, puzzle and image captcha records.
  • Types and the Mongo schema get an optional c4.

Why

People scroll in bursts, bots scroll at a steady rate. We weren't capturing scroll at all. Unblocks prosopo/Protect#513.

Effect

Nothing changes until the detector bundle includes the scroll tracker, which is added to catcher in captcha-private. Older bundles send no c4 and everything works as before.

Tests

  • procaptcha manager: scroll data is sent even when it is the only collector with data.
  • provider puzzle tasks: c4 is saved on the record.
  • Existing procaptcha, pow and puzzle manager tests and provider task tests still pass.

Add a fourth behavioural collector for the page's scroll offsets and timing.
The widget passes it through with the mouse, touch and click collectors and
the provider stores it as c4 on the pow, puzzle and image records. Detector
bundles without a scroll tracker send no c4. Unblocks prosopo/Protect#513.
@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-16T08:21:29Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-18T00:02:09Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-19T12:00:59Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-20T18:01:05Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-22T00:02:35Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-23T06:01:15Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

@github-actions

Copy link
Copy Markdown
Contributor

No updates since 2026-09-24T12:01:07Z (over 1 days), so this PR has been converted to draft. That stops it holding CI runners.

Nothing is lost — gh pr ready 3253, or the "Ready for review" button, picks it straight back up. Add the keep-ready label to exempt it permanently.

Converting to draft disables auto-merge, so PRs with auto-merge enabled are excluded from this entirely.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant