Verification

The checkpoint flow, the two trigger modes, and what members experience.

The flow

  1. A member joins; Vidar optionally applies your hold role.
  2. Vidar sends a one-time verification link (by DM, or via a channel button).
  3. The member opens the checkpoint and authorizes with Discord (proving the account is theirs).
  4. Vidar gathers network and device signals, scores the account, and records the decision.
  5. On success the verified role is granted; otherwise the case is held or blocked.

Trigger modes

  • DM on join — the link is sent automatically as a direct message. Best for most servers. If a member has DMs closed, Vidar falls back to your verification channel.
  • Button in a channel — members click a persistent “Verify” button in a channel you choose. Useful when DMs are commonly disabled.

Link lifetime

Verification links expire (default 5 minutes) and are single-purpose. A member can always request a fresh link by running /verify.

Why the web step is required

A Discord bot cannot see a member's IP address. The consented checkpoint — authorized with Discord OAuth — is the only privacy-respecting way to gather network and device signals, and it confirms the account genuinely belongs to the person completing it. Read more on the privacy page.