Drupal is a registered trademark of Dries Buytaert
Drupal 11.4.3 Update released for Drupal core (11.4.3)! Views Bulk Operations (VBO) 4.4.6 Minor update available for module views_bulk_operations (4.4.6). External Authentication 2.0.12 Minor update available for module externalauth (2.0.12). Entityqueue 8.x-1.12 Minor update available for module entityqueue (8.x-1.12). Similar By Terms 2.0.0 Major update available for module similarterms (2.0.0). Similar By Terms 8.x-1.10 Minor update available for module similarterms (8.x-1.10). Dependent Fields 1.0.11 Minor update available for module dependent_fields (1.0.11). Flag Mutually Exclusive 1.0.0 Initial release available for module flag_mutually_exclusive (1.0.0)! Menu Admin per Menu Module menu_admin_per_menu crossed 50,000 active installs. Document Preview 2.0.0 Module document_preview updated after 13 months of inactivity (2.0.0).

Chirp Moderation scaffolds a complete, self-improving moderation pre-screening system for the Chirp microblogging module — moderation categories, a keyword vocabulary that grows every time a moderator rejects a chirp, and a report/hard-block manager that acts automatically on a screening match. A site can run this entire system with zero AI dependency; the companion Chirp AI Moderation module is a separate, optional layer on top for sites that also want an AI provider check.

Features

  • Moderation categories — an admin-editable list of reasons a chirp gets flagged (spam, harassment, hate speech, threats of violence, etc.), each with its own "hard block" toggle. Ships with five starter categories out of the box.
  • Self-improving keyword vocabulary — starts empty. Every time a moderator rejects a reported chirp and supplies a category and keyword/phrase, that phrase is added to the vocabulary automatically. The next chirp containing that phrase is then caught instantly, with no further moderator effort and no AI call.
  • Hard block vs. soft block — a hard-block category match (e.g. slurs, threats of violence) rejects a chirp outright, before it's ever visible to anyone. A soft-block match unpublishes the chirp and routes it into Chirp's own moderator review queue for a human decision.
  • Extends Chirp's existing moderation queue, not a second one — every keyword-sourced report (and, if Chirp AI Moderation is installed, every AI-sourced report) shows up in the same review queue as ordinary member reports, with the flagging source and matched category displayed inline.
  • Zero JavaScript required — the category picker and keyword field on the moderator's Reject form are plain server-rendered HTML. The whole workflow, including vocabulary growth, works with JavaScript completely disabled.
  • A real plugin architecture underneath — screening runs through a `ChirpModerationScreener` plugin type defined in Chirp core. This module provides the keyword-matching plugin; other modules (like Chirp AI Moderation) can add their own screening strategies without this module or Chirp core needing to know about them.

Post-Installation

Enabling the module immediately starts screening every new chirp (top-level posts and replies alike) against the keyword vocabulary — there's nothing further to configure to get basic protection running, though the vocabulary starts empty until moderators begin rejecting content.

To manage moderation categories, visit Configuration → Content → Chirp Moderation (/admin/config/content/chirp-moderation). This requires the Administer Chirp Moderation categories permission, which is deliberately separate from Chirp's own day-to-day Moderate reported chirps permission — reserve it for trusted site administrators, not general moderators.

Day-to-day moderator work (reviewing reports, approving or rejecting) happens entirely inside Chirp core's own existing moderation queue at /moderation/chirps — this module only adds fields and options to that existing page, it doesn't introduce a separate one.

Additional Requirements

  • Chirp — the parent microblogging module this extends.
  • Chirp Config (bundled with Chirp core) — owns the underlying "report" flag this module attaches fields to.
  • Flag

No AI-related dependencies of any kind — those live entirely in the optional companion module below.

Chirp AI Moderation — an optional companion module that adds an AI-provider moderation check on top of everything this module provides, for sites that want automated screening beyond keyword matching. Hard-depends on this module; installing this module alone does not require it.

Similar projects

This module is purpose-built infrastructure for Chirp's own comment-based microblogging model (chirps are comments on user entities, not nodes) and its existing Flag-based report/review queue — it extends that system rather than replacing it, so it isn't a drop-in alternative to general-purpose Drupal moderation/workflow modules, which typically target node-based content and don't share Chirp's own data model.

Supporting this Module

This module is supported by Lisa Harrison (lisa.rae), an individual contributor and long-time member of the Drupal community.

Community Documentation

See this project's own README.md for full developer documentation — data model, the screening pipeline, the two extension hooks Chirp core provides for a source-agnostic moderation queue, routes/permissions, and the test suite.

Activity

Total releases
1
First release
Jul 2026
Latest release
4 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.x-dev Dev Jul 14, 2026