Search & discovery
Advanced Comment Moderation & Spam Filtering
Indicative price, not an offer: $15–40/mo for AI-powered moderation, sentiment analysis, and bulk review tools
Generated from docs/plan/paid/advanced-comment-moderation-spam-filtering/PLAN.md in the AstroBaaS repository. Nothing described below is implemented — it is the written plan for it.
Advanced Comment Moderation is a paid plugin that uses AI-powered sentiment analysis and toxicity detection to automatically flag, quarantine, or approve blog/product comments. It reduces manual review workload by 80% for merchants with high comment volume.
The problem
My popular blog gets 100+ comments per post; manual review is overwhelming, I have no spam filtering, and I can’t detect toxic or off-topic comments.
What it does
- Analyze incoming comments via external sentiment API (Perspective API, AWS Comprehend)
- Score toxicity (0-1) and detect spam patterns (repeated text, suspicious links)
- Auto-quarantine comments below confidence threshold
- Provide admin dashboard with quarantined comment queue and bulk approve/reject UI
- Configurable thresholds per merchant and audit log of all moderation actions
- Email digest of flagged comments and fallback to manual review if API is unreachable
What it deliberately does NOT do
Each boundary carries its reason. A boundary without a reason gets crossed by the next person who reads this.
- Does NOT modify or delete comments without merchant approval (reason: legal liability, merchant must retain control)
- Does NOT train custom ML models per merchant (reason: support commitment required, cost-prohibitive)
- Does NOT integrate with external comment platforms (reason: scope limited to AstroBaaS comments)
- Does NOT provide API-level bulk moderation (reason: UI-first tool, API is secondary)
- Does NOT offer multi-language sentiment analysis (reason: ML model licensing, support complexity)
Data model
New table: comment_moderation_actions (id, comment_id, action, reason, score, model_version, created_at). New fields on comments: moderation_status enum (‘pending’, ‘approved’, ‘quarantined’, ‘rejected’), toxicity_score float (0-1), sentiment enum (‘positive’, ‘neutral’, ‘negative’). Plugin settings: moderation_provider, confidence_threshold, auto_approve_threshold.
API
- POST /api/comments/:id/moderate {action, reason?}
- GET /api/moderation/queue?status=quarantined&limit=50
- GET /api/moderation/stats
- POST /api/moderation/bulk {action, ids: […]}
Every route added here must also appear in src/pages/openapi.json.ts — a test
fails the build if it does not.
Admin
Moderation Queue dashboard with toxicity scores; bulk action toolbar; settings for ML provider and confidence thresholds; audit log view; stats dashboard showing moderation volume and false positive rate.
The seam — why this is paid
Core owns: comment storage, basic CRUD, comment hooks. Paid plugin owns: ML/sentiment analysis, moderation logic, advanced dashboard, external API integration.
Paid owns AI-powered moderation and sentiment analysis logic. Basic comment spam filtering can be core, but advanced moderation is a business-logic service requiring external ML infrastructure and support commitment.
Dependencies
- Assumes external sentiment analysis API is available
- Assumes comments system exists and is surfaced in REST API
- Assumes audit log system exists
- Assumes plugin key/value store exists for settings
Acceptance checks
Each of these must be able to fail. Before claiming this is done, break the code deliberately and watch each one go red.
- A positive comment from known customer is auto-approved at 95%+ confidence
- Comment with spam keywords (Viagra, casino links) is quarantined and appears in queue
- Merchant can bulk-approve 50 quarantined comments in one click
- Moderation action audit log shows who approved/rejected and when
- Toxicity score is between 0 and 1, visible on each comment
- Comment below confidence_threshold is quarantined, not auto-approved
- Rejected comment is still stored in DB (not deleted) but marked as rejected
- Moderation dashboard loads 50 comments in <500ms
- Plugin disables gracefully if sentiment API is unreachable (queues fall back to manual review)
Risks
Over-reliance on ML accuracy: toxic comments slip through or legitimate comments flagged, causing merchant legal liability. If ML API is down, moderation stops with no fallback. Toxicity scoring may be biased against non-English text or slang, damaging merchant reputation. Schema migration: adding moderation_status and sentiment fields to existing comment tables on live sites.
Commercial context
| Suggested price | $15–40/mo for AI-powered moderation, sentiment analysis, and bulk review tools |
| Rival anchor | Akismet ($5–100+/mo); Disqus ($0–500+/mo hosted); Perspective API (free, comments only) |
The anchor is what the nearest equivalent charges on Shopify or Magento today. It is context for a pricing decision, not the decision.
Generated from the commerce plan. See docs/COMMERCE-PLAN.md for the full
catalogue and ../../AI-GUIDE.md for how to work on this repository.