IntersectMBO / IntersectMBO/govtool

💡 Implement Automatic Spam Detection for Proposal and Budget Proposal Submissions

Open
#3,823 1 comment 0 reactions 0 assignees View on GitHub
🎨 Design Needed 💡 Feature idea 📜 Proposal Pillar
Dominant language
HTML
Stars
21
Forks
29
Avg merge
2d 22h
Merged PRs (30d)
7

Description

### Area

Proposal Pillar

### Is there new design needed?

Yes

### What?

Introduce an automated spam detection system for both the Proposal Discussion Forum and Budget Proposals in GovTool. The system should identify and flag submissions that show signs of spam or low-quality content, without preventing submission. Flagged proposals should be clearly marked and optionally hidden from default views, with a toggle to reveal them.

### Why?

Currently, anyone with a connected wallet can submit proposals without restrictions. While this encourages participation, it also creates a risk of spam and noise that can obscure genuine, high-quality proposals. A lightweight spam detection mechanism will help ensure content quality, preserve usability, and support community trust—without limiting openness.

### How?

- Integrate a lightweight spam detection system (e.g., basic heuristics or a rule-based engine) that checks:
- Excessive repetition
- Profanity
- Nonsensical or extremely short content
- Suspicious link usage
- Automatically flag proposals and budget proposals that exceed the spam threshold.
- Visually mark flagged items with a warning badge: `⚠️ Flagged as Potential Spam`
- Add a filter toggle in UI to include/exclude flagged items in listings.
- Ensure flagged proposals remain accessible via direct link.
- Update API to expose `spam_flagged` boolean.
- Allow author override to reclassify proposals manually via frontend.
- Update GitBook documentation to explain the flagging system.

### (Optional) User Story with acceptance criteria

### User Stories
- As a **user**, I want spammy proposals to be clearly marked so I can focus on valuable content.
- As a **community contributor**, I want to optionally view all proposals, even if some are flagged.
- As a **author**, I want the ability to override automatic flagging for accuracy and fairness.

### Acceptance Criteria
- [ ] All new proposals and budget proposals are evaluated for spam at submission.
- [ ] Proposals identified as spam are not blocked but are visibly flagged.
- [ ] A UI toggle exists to show/hide flagged proposals in listings.
- [ ] Flagged status (`spam_flagged`) is available via API.
- [ ] GitBook documentation is updated with spam detection and override guidelines.
- [ ] Visual interface or API method allows manual reclassification.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.