Verification

Member Verification System

The Member Verification system is a risk-adaptive challenge engine that determines which members need identity verification based on their risk profile. Adjust challenge difficulty per risk tier to balance security and user experience.

How Verification Works

When a member joins, the Trust Network calculates their risk score. Based on that score, they are assigned to a risk tier. The verification system checks if that tier requires a challenge. If yes, a verification panel appears with the configured challenge(s).

Example Flow:

  1. 1.Member joins the server
  2. 2.Trust Network calculates risk_score = 58 (QUARANTINE tier)
  3. 3.Verification settings say HIGH risk members need CAPTCHA challenge
  4. 4.CAPTCHA panel appears in designated #verify channel
  5. 5.Member completes CAPTCHA → Verification succeeds → Quarantine role removed

Risk Tiers & Challenge Requirements

Members are assigned to risk tiers based on their risk score. Each tier can have different verification requirements:

Low Risk

Risk score 0-25 (CLEAN). Trusted accounts. Generally no verification required, or optional soft check only.

Recommended: None or SOFT_CHECK

Medium Risk

Risk score 26-50 (WATCH). Moderate risk. Lightweight challenges or optional verification.

Recommended: SOFT_CHECK or RULES_ACK

High Risk

Risk score 51-100 (QUARANTINE/BLOCK). High risk flags. Mandatory substantial challenge.

Recommended: CAPTCHA, PUZZLE_PICK, or VOUCH

Challenge Types Explained

The verification system offers six challenge types. Choose based on desired security level and user experience:

CLICK_VERIFY

Lowest friction. Member sees a panel and clicks "I'm not a bot" button. Single click confirmation.

Security: Very Low (blocks automated scripts only)

User friction: Minimal

Best for: Low-risk members or optional verification

RULES_ACK

Member reads embedded rules excerpt and clicks acknowledgment buttons. Usually 2-3 questions based on the rules.

Security: Low-Medium (human interaction + comprehension)

User friction: Low-Medium

Best for: Rules enforcement + verification

SIMPLE_PICK

Member selects correct option from multiple choices. E.g., "Which animal is a dog?" with images or words. Single question.

Security: Low-Medium (blocks most bots)

User friction: Low

Best for: Medium-risk members, quick verification

PUZZLE_PICK

Member solves a visual puzzle or pattern. E.g., "Find the odd one out", "Match the pattern", "Identify the emoji sequence". 3-5 questions.

Security: Medium (visual reasoning required)

User friction: Medium

Best for: High-risk members during normal times

CAPTCHA

Google reCAPTCHA v3 challenge. Member proves they're human through Google's bot detection. Single challenge, most reliable.

Security: High (Google-backed bot detection)

User friction: Low-Medium

Best for: High-risk members, raid situations

MANUAL_REVIEW

No automated challenge. A staff ticket is created in the staff channel. Moderators manually review the member's profile and approve/deny.

Security: Very High (human judgment)

User friction: High (depends on staff availability)

Best for: Edge cases, suspicious accounts, high-value servers

Template Presets

Quick-start templates configure challenges for all three risk tiers. Choose a preset or customize individually:

FAST_FRIENDLY

Minimal friction setup. Best for open communities, casual servers, or low-threat environments.

Low: None (no verification)

Medium: SOFT_CHECK (optional)

High: CAPTCHA or SOFT_CHECK

BALANCED

Moderate security. Good balance for most servers. Protects against basic attacks without excessive user friction.

Low: None (auto-pass)

Medium: SOFT_CHECK or RULES_ACK

High: CAPTCHA or PUZZLE_PICK

RAID_HARDENED

Heavy security. Recommended during active raids or for high-security communities. Stops most automated attacks.

Low: SOFT_CHECK

Medium: CAPTCHA + PUZZLE_PICK

High: CAPTCHA + MANUAL_REVIEW

Templates can be changed at any time. Changing templates affects future joins only; current quarantined members keep their assigned challenge.

Risk Weight Configuration

Fine-tune which account factors contribute to risk scoring. Adjust weights to match your community's threat profile:

Account Age Weight

How much brand-new accounts count toward risk. Higher = stricter on new joins. Default: 40 points.

Join Storm Detection Weight

Penalty for members joining during a flood. Higher = faster escalation to Shield Mode. Default: 15 points.

Attempt Rate Weight

Members retrying failed verification. Higher = faster lock-out. Default: 8 points per failed attempt.

Prior Failures Weight

Accounts with history of rule violations in other servers. Higher = more suspicious. Default: 12 points.

No Avatar Weight

Members using Discord's default avatar. Higher = more suspicious. Default: 15 points.

All weights are configurable via slider in the Settings tab. Experiment to find the right balance for your server's threat level.

Bot Usage: Automatic Verification Flow

Verification happens completely automatically. No slash commands needed. When a member needs verification:

Member Experience: A verification panel appears in the configured panel channel with their assigned challenge. They interact with the challenge (click button, solve puzzle, complete CAPTCHA, etc.). Once verified, the panel resolves and the quarantine role is removed.

Staff Experience: Staff don't need to do anything unless MANUAL_REVIEW is required. In that case, a ticket appears in the staff channel with member details and staff can approve/deny.

Logging: Every verification attempt is logged: success, failure, timeout, appeal. Searchable in the dashboard audit trail.

No Configuration During Verification: Once enabled and configured, verification runs autonomously. Members never need staff intervention for normal verification flow.

Dashboard Usage: Complete Verification Control

Navigate to Security → Member Verification in the dashboard to configure all aspects of the verification system.

Enable / Disable

Toggle verification on/off globally. When disabled, no challenges are issued, but quarantine roles are still assigned if Trust Network is enabled.

Template Selection

Choose from presets (FAST_FRIENDLY, BALANCED, RAID_HARDENED) or select CUSTOM to set challenges per risk tier individually.

Challenge Configuration by Risk Tier

For each tier (Low, Medium, High), select which challenges are offered:

  • Enable/disable each challenge type
  • Set challenges as required or optional
  • Multiple challenges allowed per tier (member chooses one)

Role Configuration

Define which roles are used during verification:

  • Quarantine Role: Assigned to members needing verification
  • Verified Role: Assigned after successful verification (optional)
  • Bypass Roles: Members with these roles skip verification entirely

Channel Configuration

Choose where verification happens:

  • Panel Channel: Where challenge panels appear
  • Log Channel: Verification result summaries logged here
  • Staff Channel: Manual review tickets appear here

Behavior Settings

Fine-tune verification behavior:

  • Instant Pass: Auto-verify certain accounts (trusted servers, friends, etc.)
  • Cooldown Duration: How long quarantine role persists if member doesn't verify
  • Max Failed Attempts: Kick after N failed verification tries
  • Time Delay: Delay challenges by N minutes (stop bots that verify immediately)

Risk Weight Sliders

Adjust the contribution of each factor (account age, join storm, attempt rate, etc.) to the overall risk score. Test different values to fine-tune detection.

📸 Screenshot: Member Verification settings panel showing challenge configuration per risk tier and role assignments

Configuration Walkthrough: Balanced Setup

Here's a step-by-step example for configuring verification in a balanced way:

Step 1: Enable Verification Toggle ON

Step 2: Choose Template Select BALANCED

Step 3: Set Quarantine Role Select @Unverified

Step 4: Set Verified Role (Optional) Select @Verified

Step 5: Set Bypass Roles Select @Moderators, @Bots

Step 6: Configure Channels

Panel Channel: #verification

Log Channel: #security-log

Staff Channel: #staff-review

Step 7: Behavior Settings

Max Failed Attempts: 3

Cooldown: 24 hours

Time Delay: 0 seconds (immediate)

Step 8: Test Join server with test account, verify challenge appears correctly

Verification Success & Failure Flow

Understanding what happens after verification:

Verification Successful

When a member completes the challenge:

  • Quarantine role is removed instantly
  • Verified role is assigned (if configured)
  • Member gains full channel and permission access
  • Success logged to log channel with timestamp

Verification Failed

When a member fails the challenge:

  • Failure is logged; attempt counter increments
  • If attempts remaining: challenge resets, member retries
  • If max attempts exceeded: member is kicked with log message
  • Failure logged to audit trail for compliance

Verification Timeout

If member doesn't verify within the cooldown period:

  • Challenge expires (default: 24 hours)
  • Member is automatically kicked with "Verification expired" reason
  • Can rejoin and retry; new challenge issued

Advanced: Using VOUCH for Verification

The VOUCH challenge type lets trusted members vouch for new members, bypassing automated challenges. Useful for community-driven servers:

How Vouch Works: A quarantined member requests a vouch. They share a direct message or note. A V2+ member clicks "Vouch for this member" button, confirming they know the person. Verification succeeds.

Vouch Limits: V1 members can vouch 1/week. V2 members can vouch 3/week. V3 members unlimited. If the vouched member causes problems, the voucher's reputation may be affected.

Configuration: In challenge settings, enable VOUCH and set required vouch level. Members see list of available vouchers in their verification panel.

Common Scenarios & Troubleshooting

Common situations and how verification handles them:

Legitimate member falsely quarantined

Solution: Member completes verification challenge to gain access. Alternatively, staff can click "Release" button on mod card to manually approve. Appeals system allows formal review of decision.

Member having trouble with CAPTCHA

Solution: Offer alternative challenges in same tier. E.g., configure both CAPTCHA and PUZZLE_PICK, member chooses which works best for them.

Too many false positives (over-quarantining)

Solution: Switch to LENIENT enforcement profile or FAST_FRIENDLY template. Lower risk weights for account age. Monitor results and adjust.

Too many bots getting through

Solution: Switch to STRICT enforcement profile or RAID_HARDENED template. Require CAPTCHA for all high-risk. Reduce time delay. Enable MANUAL_REVIEW for critical cases.

Active raid happening

Solution: Shield Mode automatically escalates. If needed, manually switch to RAID_HARDENED template immediately. Enable MANUAL_REVIEW. Consider server lockdown via Security module.

Best Practices

Tips for optimal verification configuration:

  • Start with BALANCED template. Adjust based on results after a week of data.
  • Offer 2+ challenge types per tier. Different users prefer different approaches. Reduce friction by giving choices.
  • Use bypass roles for trusted users. Staff, bots, and verified members should skip verification.
  • Monitor appeals rate. High appeal rate may indicate over-aggressive quarantining. Adjust thresholds or soften challenges.
  • Enable MANUAL_REVIEW for edge cases. High-value accounts or suspicious patterns deserve human review.
  • Test with a test account regularly. Ensure verification flow still works after configuration changes.