Skip to content

Update PIR broker bundle - 2026-04-06#8201

Open
daxmobile wants to merge 1 commit intodevelopfrom
automated/update-pir-broker-bundle-2026-04-06
Open

Update PIR broker bundle - 2026-04-06#8201
daxmobile wants to merge 1 commit intodevelopfrom
automated/update-pir-broker-bundle-2026-04-06

Conversation

@daxmobile
Copy link
Copy Markdown
Collaborator

@daxmobile daxmobile commented Apr 6, 2026

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):

  • anywho.com.json
  • spyfly.com.json

Checklist

  • Verify broker changes look correct
  • All tests must pass

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.json introduces a templated people-search scan and delegates opt-out to its parent (spokeo.com) via parentSiteOptOut. spyfly.com.json adds 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.

Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ 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"
}
]
}
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.

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 👎.

Fix in Cursor Fix in Web

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}"
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.

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)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit be9d46f. Configure here.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants