FastComments.com

Moderation

FastComments provides a powerful suite of features for discussion moderation for all available product plans.

This guide will start with an introduction to the various tools, and then go into detail for common use cases and gotchas.

Moderators Internal Link

Moderators are special users that only have access to the Moderate Comments page of your FastComments account.

They cannot add or remove other moderators or edit moderation settings. They do however have full control over the comment data shown in the Moderate Comments page and can take all actions that an admin can on an individual comment basis. They can also execute bulk actions.

They do not have access to the data management tools (importing/exporting/migrating comments).

Removing Moderators Internal Link

To remove a moderator, in the Edit Moderators page, simply click "delete".

They will immediately no longer have access to moderating your comments, and will receive an email notifying them that they have been removed.

Note that if you simply want to update their email, you can do that by clicking "edit". This is preferred as their statistics won't be erased.

Comments can be searched with the following example syntax:

  • Fuzzy word search: cats love
  • Exact phrase match: I love cats.
  • By Page Title: page:"Page Title"
    • Supports autocomplete.
  • By Page URL: page:"https://example.com/some-page"
    • Supports autocomplete.
  • By Site/Domain: site:mysite.com or domain:othersite.com
  • By User: user:"Bob"
    • Supports autocomplete.

You can share search results with other moderators or administrators by sharing the page URL from the moderation page. The search field value will be included in the URL in your browser after you hit "Go".

With FastComments, it's possible for moderators to share links to the moderator dashboard that go directly to a certain page with some filters.

For example, the following use case:

  • Moderator A goes to the Comment Moderation dashboard
  • Moderator A filters by Comments Needing Review
  • Moderator A searches for a comment with the text "My Company Name"
  • Moderator A finds something interesting on the second page of the resulting searched comments.
  • Moderator A can share the link of this page directly with Moderator B.
  • Moderator B can see what Moderator A did.

Moderation Actions Internal Link

With FastComments, there are a number of actions that Admins and Moderators can take on each comment, namely:

  • Deleting that comment
  • Delete that comment + Ban the user (Permanent or Shadow, more details later)
  • Edit that comment
  • Adjust the votes of that comment
  • Mark that comment Reviewed or Not Reviewed
  • Mark that comment Approved or Not Approved
  • Mark that comment as Spam or Not Spam
  • View all comments from the same IP address *1.
  • Reset the Flag Count on a comment.

For example, to keep a comment around but hide it, we can simply mark it as Not Approved.

Additionally, Admins and Moderators can pin comments, but this can only be done from the comment thread itself.

*1 We do not store raw ip addresses for this feature.

Deleting Comments Internal Link

There are a few things to consider when removing comments.

  1. What the user that originally wrote the comment sees.
  2. What happens to any replies of that comment.

When you delete a comment, that comment is also gone for the user that wrote it originally.

Additionally, that comment is removed from the screens of any users reading that comment.

If this comment has replies, and replies of those replies, they will be immediately deleted as well. Parent comments in the thread are retained.

Moderation Actions From Comment Widget Internal Link

A subset of moderation actions can be taken directly from the comment thread itself, without having to go to the Comment Moderation page.

When you are logged in, click the edit button in the top right of a comment. You should have the following options as a moderator:

  • Pin that comment
  • Delete that comment
  • Delete that comment + Ban the user (Permanent or Shadow, more details later)
  • Edit that comment
  • Mark that comment Approved (show it) or Not Approved (hide it)
  • Mark that comment as Spam or Not Spam

Closing Comment Threads

Moderators and administrators can lock, or close, comment threads, by selecting Close Thread in the three-dot menu in the top of the comment area, if they are logged in. They can select Re-Open Thread later, at any time, to re-open commenting.

Closing a comment thread prevents new comments, but still allows voting, and for users to delete their comments if desired.

Closing and re-opening comment threads instantly affects all users viewing the thread.

You can also mark a thread read-only which removes vote and delete options as well, by creating a customization rule specifically for that page.

Updated Live

All of these actions will update the comment threads of other users right away without them having to reload the page. However, the moderator actions like hiding a comment or marking it as spam, do not remove the comment from the moderator's screen so that if needed they can quickly undo the action. To indicate that comment is hidden it will be highlighted in comparison to the other comments (the highlighting color depending on the reason for removal).

For example, given users A (commenter), B (Moderator 1), and C (Moderator 2).

...and the following scenario:

  1. User B (Moderator 1) hides a comment.
  2. For User A (commenter) that comment is immediately hidden.
  3. For User C (Moderator 2) that comment is immediately hidden.
  4. For the user that made the change, User B (Moderator 1), the comment remains on their screen, but is highlighted as removed. They have the option to undo their action, in which case the other users will see the update, live, again.

Live Moderating Internal Link

All actions taken on the moderation page are live.

If someone is viewing the comment thread, and you approve a previously unapproved comment, it will automatically appear for them.

The same goes for editing, deleting, and marking as spam.

Banning Users With Wildcards Internal Link

It is possible to ban users using certain email providers using wildcards.

For example, if you find that all comments from @bademail.com are spam, you can simply ban that whole email provider by entering "*@bademail.com" in the email input field when adding a banned user.

Note the "*" before the @ in the email.

Bulk Actions Internal Link

When moderating, sometimes there is a series of actions that we want to take all at once. For example maybe you find a series of comments you want to delete, mark as spam, un-approve, or simply mark as reviewed. Instead of clicking "delete" and "confirm" on each comment, there's a better way.

Next to each comment is a checkbox, which we can click to start a bulk action. From there we can pick a bulk action and confirm it.

You will see the progress as your bulk actions are taken, and you can ctrl+z to undo any bulk action. Bulk actions can also be paused, stopped, or resumed.

Selecting Beyond Visible Comments

If you select the "Select All" checkbox it'll by default only select the visible comments on the page, but it will present you with an option to select all comments on the server that match your filters. So even if you need to approve, delete, etc millions of comments, you can do it with a few clicks.

Spam Detection Internal Link

By default, FastComments comes with trainable spam detection.

As you moderate comments, and mark them as Spam, or mark comments automatically found as Spam as Not Spam, the spam detection system will learn from these actions to more accurately determine what you want to be spam.

Comments marked as Spam will not be automatically approved, so they will not show until explicitly marked as Not Spam.

Spam Detection can be disabled via the Comment Moderation Settings page.

Different Spam Detectors

FastComments supports three ways of detecting spam:

  1. A traditional Naïve-Bayes classifier that is continuously trained, which is shared across all FastComments.com tenants.
  2. A traditional Naïve-Bayes classifier that is continuously trained, which is isolated to your tenant.
  3. Using ChatGPT 4.

Everyone has access to the shared and isolated Naïve-Bayes classifiers.

The ChatGPT 4 option is selectable in the Comment Moderation Settings page if you are on Flex billing, since it bills based on tokens used.

Trust Factor

FastComments adjusts the spam filter for a user based on how much they are trusted for the given site.

For example, if administrators have pinned lots of their comments, then probably they are a very trustworthy user. Or, if they have been a member of the site for a long time and have a lot of comments, then their trust factor may be high as well.

SSO

Comments posted by SSO users can be considered spam, and will be checked as such. The exception is if the SSO user has the same email as a tenant user who has one or more of the following permissions:

  • Account Owner
  • Super Admin
  • Comment Moderator Admin

SSO users with these permissions will not have their comments checked for spam.

Repeated Messages

FastComments will detect and prevent repeated messages. It will also detect repeated message that are very similar to help prevent spam. This cannot be disabled as it prevents our platform from being used for abuse. If you have a high trust factor, this is taken into account when doing repeated message prevention.

Comment Logs Internal Link

FastComments automatically tracks detailed events for each comment to provide transparency into moderation decisions and system actions. These logs help you understand why a comment was approved, flagged as spam, or had its status changed.

Accessing Comment Logs

To view the logs for a specific comment:

  1. Navigate to the Moderate Comments page in your FastComments dashboard
  2. Find the comment you want to inspect
  3. Click the View Logs button (clock icon) in the comment's action bar
  4. A dialog will appear showing the complete history of events for that comment

Each log entry displays:

  • When - The timestamp of the event
  • Who - The user or system that triggered the event (when applicable)
  • What - The type of action or event
  • Details - Additional context such as before/after values, engine names, or related data

Comment Log Events

Each comment maintains a log of events that occur during its lifecycle. Below are the types of events that are tracked:

Anonymization Events

  • Anonymized - Comment content was cleared and user marked as deleted
  • RestoredFromAnonymized - Comment was restored from anonymized state

Approval Events

  • ApprovedDueToPastComment - Comment approved because user has previously approved comments (includes reference to the past comment)
  • ApprovedIsAdmin - Comment approved because user is an admin
  • NotApprovedRequiresApproval - Comment requires manual approval
  • NotApprovedLowTrustFactor - Comment not approved due to low user trust factor (includes the trust factor value)

Profile Comment Approval Events

These events apply specifically to comments on user profiles:

  • ApprovedProfileAutoApproveAll - Profile comment auto-approved because the profile owner has enabled auto-approve for all comments
  • ApprovedProfileTrusted - Profile comment approved because the commenter is trusted (includes reference to the comment that established trust)
  • NotApprovedProfileManualApproveAll - Profile comment requires manual approval because the profile owner has enabled manual approval
  • NotApprovedProfileNotTrusted - Profile comment not approved because the commenter is not trusted
  • NotApprovedProfileNewUser - Profile comment not approved because the commenter is a new user

Spam Detection Events

  • IsSpam - Comment flagged as spam by detection engine (includes which engine made the decision)
  • IsSpamDueToBadWords - Comment flagged as spam due to profanity filter
  • IsSpamFromLLM - Comment flagged as spam by AI/LLM engine (includes engine name, response, and token count)
  • IsSpamRepeatComment - Comment flagged as spam for being repetitive (includes which engine detected it)
  • NotSpamIsOnlyImage - Comment not flagged as spam because it only contains images
  • NotSpamIsOnlyReacts - Comment not flagged as spam because it only contains reactions
  • NotSpamNoLinkOrMention - Comment not flagged as spam due to no suspicious links or mentions
  • NotSpamPerfectTrustFactor - Comment not flagged as spam due to high user trust
  • NotSpamTooShort - Comment not flagged as spam because it's too short to analyze
  • NotSpamSkipped - Spam check was skipped
  • NotSpamFromEngine - Comment determined not spam by detection engine (includes engine name and trust factor)

Bad Words/Profanity Events

  • BadWordsCheckFailed - Profanity filter check encountered an error
  • BadWordsFoundBadPhrase - Profanity filter detected inappropriate phrase (includes the phrase)
  • BadWordsFoundBadWord - Profanity filter detected inappropriate word (includes the word)
  • BadWordsNoDefinitionForLocale - No profanity definitions available for comment language (includes the locale)

User Verification Events

  • CommentMustBeVerifiedToApproveNotInVerifiedSession - Comment requires verification but user not in verified session
  • CommentMustBeVerifiedToApproveNotVerifiedYet - Comment requires verification but user not yet verified
  • InVerifiedSession - User posting comment is in a verified session
  • SentVerificationEmailNoSession - Verification email sent to unverified user
  • SentWelcomeEmail - Welcome email sent to new user

Trust and Security Events

  • TrustFactorChanged - User's trust factor was modified (includes before and after values)
  • SpamFilterDisabledBecauseAdmin - Spam filtering bypassed for admin user
  • TenantSpamFilterDisabled - Spam filtering disabled for entire tenant
  • RepeatCommentCheckIgnored - Repeat comment check was bypassed (includes the reason)
  • UserIsAdmin - User identified as admin
  • UserIsAdminParentTenant - User identified as parent tenant admin
  • UserIsAdminViaSSO - User identified as admin via SSO
  • UserIsMod - User identified as moderator

Comment Status Changes

Status change events include before and after values, plus the user who made the change:

  • ExpireStatusChanged - Comment expiration status was modified
  • ReviewStatusChanged - Comment review status was changed
  • SpamStatusChanged - Comment spam status was updated
  • ApproveStatusChanged - Comment approval status was changed
  • TextChanged - Comment text content was edited (includes before and after text)
  • VotesChanged - Comment vote counts were updated (includes detailed vote breakdown)
  • Flagged - Comment was flagged by users
  • UnFlagged - Comment flags were removed

Moderation Actions

  • Pinned - Comment was pinned by moderator (includes who pinned it)
  • UnPinned - Comment was unpinned by moderator (includes who unpinned it)

Notification Events

  • CreatedNotifications - Notifications were created for comment (includes notification count)
  • NotificationCreateFailure - Failed to create notifications
  • BadgeAwarded - User badge was awarded for comment (includes badge name)

Publishing Events

  • PublishedLive - Comment was published to live subscribers (includes subscriber count)

Integration Events

  • WebhookSynced - Comment was synchronized via webhook

Spam Rule Events

  • SpamRuleMatch - Comment matched a custom spam rule (includes rule details)

Localization Events

  • LocaleDetectedFromText - Language locale was automatically detected from comment text (includes detected language and locale)

Use Cases for Comment Logs

Comment logs are automatically generated and stored with each comment. They provide valuable insights for:

  • Understanding moderation decisions - See exactly why a comment was approved, held for review, or marked as spam
  • Debugging approval/spam issues - Trace through the decision logic when comments aren't behaving as expected
  • Tracking user behavior patterns - Monitor trust factor changes and verification status
  • Auditing moderator actions - Review what actions moderators have taken on specific comments
  • Investigating spam filter effectiveness - See which detection engines are catching spam and which are not
  • Troubleshooting integrations - Verify webhook syncs and notification delivery

These logs help maintain transparency in the moderation process and assist in fine-tuning your comment system's behavior.

In Conclusion

You've reached the end of our Moderation documentation. Let us know what further comments or questions you have below - you may also reach out to us via the Support Page.