Scammer database: eBay T&S batch reporting + CF community blocklist #4

Closed
opened 2026-03-26 22:08:36 -07:00 by pyr0ball · 2 comments
Owner

Status

Phase 1 (local blocklist) — DONE (migration 006_scammer_blocklist.sql, store methods, API endpoints /api/blocklist, established_bad_actor red flag wired into trust scoring)


Remaining

Phase 2 — eBay Trust & Safety batch reporting

  • Multi-select listings in search results (checkbox UI on cards)
  • "Report sellers" action: generate eBay report deep-links for each selected listing
  • Batch-open in tabs, or generate a summary page the user can work through
  • Track which sellers have been reported (timestamp, reported_by)

Phase 3 — CF Community blocklist (cloud)

  • Cloud-tier: opt-in sync of confirmed bad actors to a shared CF blocklist
  • Privacy-by-architecture: only platform_seller_id + flag reason synced, no PII
  • Consensus threshold before a seller appears in community list (e.g. 3+ independent reports)

Motivation

Users catching scammers should be able to flag them persistently and contribute to protecting the broader community. eBay Trust and Safety reporting is the official channel; the CF blocklist adds a layer that persists across eBay moderation delays.

## Status **Phase 1 (local blocklist) — DONE** (migration `006_scammer_blocklist.sql`, store methods, API endpoints `/api/blocklist`, `established_bad_actor` red flag wired into trust scoring) --- ## Remaining ### Phase 2 — eBay Trust & Safety batch reporting - Multi-select listings in search results (checkbox UI on cards) - "Report sellers" action: generate eBay report deep-links for each selected listing - Batch-open in tabs, or generate a summary page the user can work through - Track which sellers have been reported (timestamp, reported_by) ### Phase 3 — CF Community blocklist (cloud) - Cloud-tier: opt-in sync of confirmed bad actors to a shared CF blocklist - Privacy-by-architecture: only platform_seller_id + flag reason synced, no PII - Consensus threshold before a seller appears in community list (e.g. 3+ independent reports) ## Motivation Users catching scammers should be able to flag them persistently and contribute to protecting the broader community. eBay Trust and Safety reporting is the official channel; the CF blocklist adds a layer that persists across eBay moderation delays.
pyr0ball added this to the Alpha — Pipeline milestone 2026-04-04 16:33:19 -07:00
pyr0ball changed title from Scammer database: community blocklist + batch eBay Trust & Safety reporting to Scammer database: eBay T&S batch reporting + CF community blocklist 2026-04-04 22:48:05 -07:00
pyr0ball added the
backlog
feature
labels 2026-04-05 21:54:32 -07:00
Author
Owner

Status update

Phase 2 complete — multi-select UI, bulk action bar, reportSelected() (opens contact.ebay.com/ReportUser per unique seller), and blockSelected() (bulk blocklist add) all shipped.

Phase 3 complete — community trust signals wired in commit 3a4b33d. add_to_blocklist now publishes a confirmed_scam=True seller_trust signal to the community postgres when COMMUNITY_DB_URL is configured. Consensus threshold logic (scam_signal_count()) is in SnipeCommunityStore ready for the vote aggregation path.

Closing.

## Status update **Phase 2 complete** — multi-select UI, bulk action bar, `reportSelected()` (opens `contact.ebay.com/ReportUser` per unique seller), and `blockSelected()` (bulk blocklist add) all shipped. **Phase 3 complete** — community trust signals wired in commit `3a4b33d`. `add_to_blocklist` now publishes a `confirmed_scam=True` seller_trust signal to the community postgres when `COMMUNITY_DB_URL` is configured. Consensus threshold logic (`scam_signal_count()`) is in `SnipeCommunityStore` ready for the vote aggregation path. Closing.
Author
Owner

Phase 2 — Reported sellers tracking: SHIPPED (66ae9eb)

After clicking "Report to eBay" in the bulk action bar:

  • Selected sellers are recorded in reported_sellers table (migration 012, user DB)
  • New endpoints: POST /api/reported + GET /api/reported
  • New reported Pinia store with optimistic update
  • Listing cards show a muted "⚐ Reported to eBay" badge for sellers already reported
  • Loaded at App startup alongside blocklist so badge appears immediately

Phase 2 items from the issue:

  • Multi-select listings
  • Report to eBay action (opens eBay T&S URLs per unique seller)
  • Track which sellers have been reported (timestamp, source)

Phase 3 prep — Community blocklist opt-in: SHIPPED (66ae9eb)

  • Settings > Community: "Share blocklist with community" toggle (signed-in cloud users only, default OFF)
  • Persisted as community.blocklist_share user preference via existing preferences system
  • Backend add_to_blocklist now gates community signal publishing on the opt-in flag — privacy-by-architecture, sharing is never implicit

Phase 3 remaining: consensus threshold + community read path (pulling in other users confirmed sellers) is still future work.

## Phase 2 — Reported sellers tracking: SHIPPED (66ae9eb) After clicking "Report to eBay" in the bulk action bar: - Selected sellers are recorded in `reported_sellers` table (migration 012, user DB) - New endpoints: `POST /api/reported` + `GET /api/reported` - New `reported` Pinia store with optimistic update - Listing cards show a muted "⚐ Reported to eBay" badge for sellers already reported - Loaded at App startup alongside blocklist so badge appears immediately Phase 2 items from the issue: - [x] Multi-select listings - [x] Report to eBay action (opens eBay T&S URLs per unique seller) - [x] Track which sellers have been reported (timestamp, source) ## Phase 3 prep — Community blocklist opt-in: SHIPPED (66ae9eb) - Settings > Community: "Share blocklist with community" toggle (signed-in cloud users only, default OFF) - Persisted as `community.blocklist_share` user preference via existing preferences system - Backend `add_to_blocklist` now gates community signal publishing on the opt-in flag — privacy-by-architecture, sharing is never implicit Phase 3 remaining: consensus threshold + community read path (pulling in other users confirmed sellers) is still future work.
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/snipe#4
No description provided.