Overview

When enabled, joining members are held behind an Unverified role (if configured) until they click Verify on a posted panel and pass whatever checks you've turned on. Members who verified before and left/rejoined are recognized automatically and skip straight back to verified โ€” no repeat challenge.

Setup (dashboard walks you through 6 steps)

1 โ€” Essentials

Verify Channel, Verified Role, and an optional Unverified Role to hold members in until they pass.

2 โ€” The Verify Panel

A posted embed (or plain message) with a single green Verify button. Customize its title, color, footer, and message text, then post/re-post it with one click.

3 โ€” Simple Gates

Minimum account age in days (0 = off), a toggle to block default-avatar accounts outright, and a Max Attempts limit (default 3) before an auto-kick.

4 โ€” Human Challenge

Optional Captcha โ€” Math (e.g. "Solve: 7 + 3 = ?"), Word Scramble, or a random character string to retype โ€” shown in a modal when Verify is clicked. Optional Custom Questions (up to 3) with a list of accepted answers, matched case-insensitively.

5 โ€” Advanced Screening

Suspicion Scoring (off by default) computes a 0โ€“100+ risk score from account age, missing avatar, missing Discord badges, bot-like usernames, and join clustering (similar avatar/username to other recent joins โ€” a raid signal). Two thresholds act on the score: send to queue (default 25) and auto-kick (default 60).

An Approval Queue can require a moderator to manually Approve, Deny (kick), or Ban a verification attempt instead of auto-granting the role โ€” always used when scoring is off, or only for scores above the queue threshold when scoring is on.

6 โ€” Extras

SettingDefaultWhat it does
Rejoin MemoryOnPreviously-verified members skip the challenge entirely on rejoin
Auto-DM on JoinOffSends a DM with instructions, supports {user} {server} {channel}
Verification Expiry60 daysStrips the Verified role from members inactive that long, re-adds Unverified if set
Alt Detection HintsOffInformational-only note when a join looks like a possible alt of a recent member โ€” never auto-acts

Flow Summary

  1. Member joins โ†’ hard gates checked (account age, default avatar) โ†’ suspicion score computed if enabled
  2. Unverified role applied, panel already posted in the verify channel
  3. Member clicks Verify โ†’ captcha/questions modal shown if either is enabled
  4. Wrong answers count against Max Attempts; hitting the limit auto-kicks
  5. Passing routes to the Approval Queue if configured, otherwise grants the Verified role immediately and removes Unverified
๐Ÿ’ก

Verification role changes log to the Verification event on the Logging page.