Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit be9d46f. Configure here.
| "id": "scan-extract-terminal" | ||
| } | ||
| ] | ||
| } |
There was a problem hiding this comment.
Missing optOut step causes broker loading failure
High Severity
The spyfly.com.json broker defines only a scan step and no optOut step. When PirRepository.updateBrokerData() processes this broker, it calls broker.steps.first { it.contains("\"stepType\":\"optOut\"") } which throws NoSuchElementException because no matching step exists. While the exception is caught in BrokerJsonProcessor, the entire broker (including its scan step) silently fails to persist to the database, making it completely non-functional. Every other broker in the repository includes both a scan and an optOut step.
Please tell me if this was useful or not with a 👍 or 👎.
Reviewed by Cursor Bugbot for commit be9d46f. Configure here.
| "profileUrl": { | ||
| "selector": "a[href*='/people/']", | ||
| "identifierType": "path", | ||
| "identifier": "https://www.anywho.com/people/${firstName}+${lastName}/${state|downcase}/${city|downcase}/${id}" |
There was a problem hiding this comment.
Inconsistent state format in profile URL identifier template
Medium Severity
The scan navigate URL uses ${state|stateFull|downcase} (producing a full state name like "california"), but the profileUrl identifier template uses ${state|downcase} (producing an abbreviation like "ca"). Every other broker in the repository that includes state in both the scan URL and profile URL identifier (e.g., spokeo.com.json, freepeopledirectory.com.json) uses the same state format in both. This mismatch likely means stateFull was accidentally omitted from the identifier, which would cause profile URL pattern matching to fail and prevent proper profile identification.
Please tell me if this was useful or not with a 👍 or 👎.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit be9d46f. Configure here.


Task/Issue URL:https://app.asana.com/1/137249556945/project/414730916066338/task/1213965665740964?focus=true
PIR Broker Bundle Update
Automated update of PIR broker JSON files from the remote bundle.
Changes
Added (2):
Checklist
Note
Medium Risk
Adds two new broker JSON configs that will change which sites PIR scans/opts out from; the SpyFly flow depends on Cloudflare Turnstile/UI selectors and is explicitly incomplete (stops before results), which could cause scan failures or no-op behavior if enabled.
Overview
Adds new PIR broker configurations for AnyWho and SpyFly.
anywho.com.jsonintroduces a templated people-search scan and delegates opt-out to its parent (spokeo.com) viaparentSiteOptOut.spyfly.com.jsonadds a scan workflow that navigates to the privacy request form, fills user data, gates on Turnstile completion, and then terminates on the email step (extracting no results), with no opt-out step defined.Reviewed by Cursor Bugbot for commit be9d46f. Bugbot is set up for automated code reviews on this repo. Configure here.