Moderation
The tools to keep the conversation healthy. They all work in three places: in the dashboard, right inside the widget (for logged-in moderators) and through the management API.
Who can moderate
| Who | Where they moderate | What they can do |
|---|---|---|
| Site owner | Dashboard, widget and API | Everything, including settings, keys and moderators. |
| Moderator added in the dashboard | Dashboard and widget | Approve, delete, pin, ban, lock conversations and handle reports. Can't touch settings or keys. |
User with mod: true in your site's token | Widget | The same moderator actions, right on the page. |
| Your server, with the secret key | Management API | Everything the owner can do. |
To add a moderator, the person needs a Qorum account. In Settings, type their username in Add moderator.
Approval before publishing
In Settings, choose when a comment needs approval before it shows up:
| Option | Goes to the queue |
|---|---|
| No: publish right away | Only comments with a blocked word. |
| Only comments with a link or image | Comments with a website address or an attached image, plus those with a blocked word. |
| Everything needs approval | Every comment. |
Moderators' comments never go to the queue. Whoever commented sees the notice "Your comment was sent and will show up after moderation approves it".
While it's in the queue, the comment shows up for nobody, doesn't count in the conversation total, creates no notification and fires no webhook. When approved, it shows up with the date it was written, and only then do the total, the notification and the webhook count. When rejected, it's deleted without telling anyone.
The queue is under Moderation → Pending in the dashboard, or at GET /v1/site/comments?status=pending.
Blocked words
One word or phrase per line. If the comment contains any of them, anywhere in the text and ignoring case, it goes to the queue instead of showing up. Careful with short words: "ass" also catches "assistant".
When editing a published comment, the new text can't have a blocked word. The edit is refused with the message "The text has a word that is blocked on this site".
Reports
Any logged-in person can report someone else's comment, choosing a reason. Each person reports the same comment only once. The report shows up under Moderation → Reports, and your server gets the comment.reported webhook.
For each report you can:
- Delete the comment: deletes it and marks all its reports as resolved.
- Dismiss the report: the comment stays, and its reports leave the list.
- Ban the author, together or separately.
Bans
A ban stops the person from commenting, replying and uploading images on the site. They can still read and like. The durations in the dashboard and the widget are 1 day, 7 days, 30 days or forever. Through the API, you choose the hours. Banning again replaces the previous ban.
Banned people see, instead of the comment box: "You are banned from commenting until ... Reason: ...". The time is shown in UTC in English and in Brasília time in Portuguese.
The ban list is under Moderation → Banned, with the button to unban.
Delete
Authors delete their own comments. Moderators delete anyone's. Deleting a main comment deletes its replies too. A deleted comment disappears for everyone, but stays in the dashboard under Moderation → Deleted, where it can be restored.
Locked conversation
Locking a conversation stops new comments on it, without deleting anything. Readers see "Comments on this conversation are closed". Moderators can still comment. Lock and unlock under Moderation → Conversations or with PUT /v1/site/threads/lock.
Pinned comment
Pinned comments show up at the top of the conversation, with the "Pinned" badge. Only main comments can be pinned, never replies.
- Moderators pin any comment from the comment's menu. Through the API, choose for how many hours (default 24).
- Readers pin their own comment for 24 hours if you grant them the
fixar_comentarioperk. Use it for subscribers or customers:POST /v1/site/users/:id/entitlementswith{"item": "fixar_comentario", "quantity": 1}. Each use spends one unit, and-1makes it unlimited.
Spam protection
These limits are always on and don't apply to moderators. They sit well above what real people do, so they only stop bots and copy-paste floods:
| Limit | Value |
|---|---|
| Time between comments from the same person | 5 seconds |
| Actions per person (comment, like, edit, report...) | 30 per minute |
| Comments per person | 150 per hour and 1000 per day |
| The same text in the same conversation | Refused for 10 minutes |
| The same text (25+ characters or with a link) on several pages | Refused from the 4th page within 10 minutes |
| Image uploads per person | 20 every 10 minutes |
| Requests per IP address | 25 per second (bursts up to 120) |
Short texts like "thanks!" can repeat across pages: people really do write that on every chapter. A refused comment gets a 429 with a message that says which limit was hit.
Good practices
- Start with approval set to "Only comments with a link or image". That's where most spam shows up.
- Add moderators instead of sharing your password. Each one logs in with their own account.
- Use the
comment.reportedwebhook to notify your team in the channel you already use. - Prefer timed bans. Permanent bans are for repeat cases.