Skip to content

Add browser-plugin-bot-detection wrapping FingerprintJS BotD#1460

Merged
Nick (stanch) merged 4 commits intorelease/4.7.0from
bot-detection-plugin
Mar 24, 2026
Merged

Add browser-plugin-bot-detection wrapping FingerprintJS BotD#1460
Nick (stanch) merged 4 commits intorelease/4.7.0from
bot-detection-plugin

Conversation

@stanch
Copy link
Copy Markdown
Contributor

Introduces a new browser tracker plugin that detects bots client-side using @fingerprintjs/botd and attaches the result as a client_side_bot_detection context entity to all tracked events.

Introduces a new browser tracker plugin that detects bots client-side
using @fingerprintjs/botd and attaches the result as a
client_side_bot_detection context entity to all tracked events.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@wiz-2cefcfbd9e
Copy link
Copy Markdown

wiz-2cefcfbd9e bot commented Mar 17, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities -
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total -

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@stanch
Copy link
Copy Markdown
Contributor Author

FWIW, botd has no dependencies, so I think it’s not what upset Wiz...

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Snowplow browser tracker plugin package to perform client-side bot detection via @fingerprintjs/botd, and attach the result as a client_side_bot_detection context entity on events once detection has completed.

Changes:

  • Adds new Rush project/package @snowplow/browser-plugin-bot-detection with Rollup build, Jest config, types, schema constant, and tests.
  • Wires the new dependency and package into Rush configs (approved browser packages, lockfiles, repo state).
  • Updates the rush-prettier autoinstaller lockfile (resolving newer prettier/pretty-quick versions).

Reviewed changes

Copilot reviewed 12 out of 14 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
rush.json Registers the new plugin as a Rush project.
plugins/browser-plugin-bot-detection/package.json Defines the new plugin package metadata and dependencies.
plugins/browser-plugin-bot-detection/src/index.ts Implements BotD load/detect and context attachment.
plugins/browser-plugin-bot-detection/src/schemata.ts Adds the Iglu schema string constant.
plugins/browser-plugin-bot-detection/src/types.ts Defines the context data + bot kind types.
plugins/browser-plugin-bot-detection/rollup.config.js Adds build outputs (UMD + min + ES module).
plugins/browser-plugin-bot-detection/jest.config.js Adds Jest config for the new plugin package.
plugins/browser-plugin-bot-detection/test/bot-detection.test.ts Adds tests for bot/no-bot/pending/failure behaviors.
plugins/browser-plugin-bot-detection/tsconfig.json Extends repo TypeScript config.
common/config/rush/browser-approved-packages.json Allows @fingerprintjs/botd (plugins) and the new plugin package (trackers).
common/config/rush/pnpm-lock.yaml Adds @fingerprintjs/botd and the new plugin importer; also includes unrelated transitive changes.
common/config/rush/repo-state.json Updates the Rush shrinkwrap hash.
common/autoinstallers/rush-prettier/pnpm-lock.yaml Updates lockfile format and resolves newer prettier tooling versions.
common/changes/@snowplow/browser-plugin-bot-detection/bot-detection-plugin_2026-03-17-17-11.json Adds the changeset entry for the new package.
Files not reviewed (2)
  • common/autoinstallers/rush-prettier/pnpm-lock.yaml: Language not supported
  • common/config/rush/pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread common/autoinstallers/rush-prettier/pnpm-lock.yaml Outdated
Comment thread common/config/rush/pnpm-lock.yaml
Comment thread plugins/browser-plugin-bot-detection/package.json
Comment thread plugins/browser-plugin-bot-detection/package.json
Comment thread plugins/browser-plugin-bot-detection/src/index.ts Outdated
Comment thread plugins/browser-plugin-bot-detection/src/types.ts
Comment thread plugins/browser-plugin-bot-detection/package.json
Comment thread plugins/browser-plugin-bot-detection/package.json
Comment thread plugins/browser-plugin-bot-detection/test/bot-detection.test.ts Outdated
@matus-tomlein
Copy link
Copy Markdown
Contributor

Just some small nitpicks but I think this looks good!

Nick (stanch) and others added 2 commits March 23, 2026 16:33
- Change rush change type from "none" to "minor" for new package
- Add author field to package.json
- Add README.md and LICENSE files
- Improve error log message to be more descriptive
- Fix test mock detect() to return Promise.reject instead of throwing
- Revert unrelated rush-prettier lockfile upgrade
- Remove unrelated transitive version bumps from pnpm-lock.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Can you please point this at the release/4.7.0 branch so that we can prepare a release?

@stanch Nick (stanch) changed the base branch from master to release/4.7.0 March 24, 2026 15:52
@stanch Nick (stanch) merged commit 1e6a887 into release/4.7.0 Mar 24, 2026
5 of 6 checks passed
@stanch Nick (stanch) deleted the bot-detection-plugin branch March 24, 2026 15:53
Matus Tomlein (matus-tomlein) pushed a commit that referenced this pull request Mar 27, 2026
* Add browser-plugin-bot-detection wrapping FingerprintJS BotD

Introduces a new browser tracker plugin that detects bots client-side
using @fingerprintjs/botd and attaches the result as a
client_side_bot_detection context entity to all tracked events.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Matus Tomlein (matus-tomlein) pushed a commit that referenced this pull request Apr 1, 2026
* Add browser-plugin-bot-detection wrapping FingerprintJS BotD

Introduces a new browser tracker plugin that detects bots client-side
using @fingerprintjs/botd and attaches the result as a
client_side_bot_detection context entity to all tracked events.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants