AstroBaaS

Search & discovery

Advanced Comment Moderation & Spam Filtering

Paid pluginsize Mplanned, not built

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 anchorAkismet ($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.