Commands
  • Commands

Passport

Captcha verification that gates your server before members can talk.

Passport

Passport makes new members prove they are human before they can speak. They join in a locked state, solve one short puzzle on the website, and get their roles. Anyone who fails gets the action you choose.

Members verify at https://mist.rip/passport/<your server id>. The panel and DM messages link there, so you rarely share it by hand.

How it works

  1. A member joins and Mist gives them the unverified role.
  2. Mist sends them the verify link in a DM or posts it in your verify channel.
  3. They open the page, sign in with Discord, and solve the captcha.
  4. On success, Mist removes the unverified role and grants the verified role.
  5. On failure, Passport applies the failed-verification action you set.

Setup

1. Create the roles

The dashboard does this for you: open Passport, then press Create roles and save. It makes a Verified role and an Unverified role and saves both.

The same thing from chat:

.passport setup

You can also set existing roles by hand in the dashboard. The verified role is required.

2. Pick a verify channel

Set a verify channel. This is where the panel goes and where join notices post when delivery is set to the channel.

3. Set the panel embed

Pick a panel embed for the verify card. Leave it empty and the panel posts a default Verification embed instead, and the dashboard warns you before you post.

4. Enable and post

Press Save changes, then Post verify panel. From chat:

.passport enable
.passport panel

Test the flow with an alt account before you rely on it.

Roles

Verified role

Required. The role members get once they pass. Give it access to your public channels.

Unverified role

The role members get on join. Give it read access at most. Mist removes it when they pass.

Punishment role

Only used when the failed action is Add punishment role. It should have no permissions. A member who has it is blocked from verifying again until staff clear it.

Modes

  • Unverified role — members get the unverified role on join and keep read access.
  • Verified only — Mist also rewrites @everyone overwrites on the categories you lock, so unverified members cannot see them at all.

Locked categories are managed in the dashboard. Setup records the old overwrites, so turning the mode off restores them.

Captchas

Free servers get two types:

  • Odd one out — pick the image that does not belong.
  • Connect — draw lines between matching pairs.

Premium servers unlock two more:

  • Jigsaw — drag the missing piece into place.
  • Image grid — pick every image that matches the prompt.

At least one type stays on. Free servers keep the free types even if a premium type was saved earlier.

Every puzzle uses one size: grids hold 3x3 tiles and connect runs 1-9. Max attempts is 1 to 20, default 5.

Failed attempts

A member fails when they run out of attempts. Then Passport applies the failed action:

  • Kick — remove them from the server.
  • Ban — ban them.
  • Add punishment role — give them the punishment role. They stay in the server and cannot verify again.

A blocked member sees "You cannot verify right now" on the page. Staff can let them in by hand, which clears the punishment role and grants verified:

.verify <user>
.passport verify <user>

Protection

Passport runs a few checks before it shows a captcha. Every action here has a flag-only option when you would rather watch than punish.

  • VPN actionblock, flag, kick, or ban. A blocked member never sees a captcha.
  • Alt sensitivityoff, low, medium, or high. How sure Passport must be before it acts on an alt account.
  • Alt actionflag, challenge, or kick. Challenge sends them through the captcha again.
  • Ban evasion actionban, kick, or flag. Runs when a new account looks like a banned member.
  • Reverify on rejoin — when on, a verified member who leaves must verify again.

Panel delivery

  • Direct message — Mist DMs the panel and link on join.
  • Verify channel — Mist posts a join notice with the link in your verify channel.

The panel embed, when set, is used for both. The default embed is used otherwise.

Commands

.passport <setup|sync|panel|verify|enable|disable|view|stats>
SubcommandWhat it does
setupCreates the verified and unverified roles.
syncReapplies roles to every member from the stored state.
panelPosts the verify panel in the current channel.
verify <user>Manually verifies a member and clears their punishment role.
enable / disableTurns Passport on or off.
viewShows the current configuration.
statsShows tracked, verified, pending, failed, flagged, and evasion counts.

.passport requires Administrator. The standalone .verify <user> command requires Manage Roles and does the same manual verification.

Verifications tab

The dashboard Passport page has a Verifications tab. It lists the newest 100 records with the member, status, attempts, risk score, and flags like Flagged or Evasion. Filter by status to see recent passes or failures. Press Refresh to pull the latest.

Logging

Set a log channel and Passport posts verification successes, failures, and manual verifications there, so staff can watch the flow and step in when someone is stuck.

Troubleshooting

  • "You are not a member of this server yet" — the browser session is signed into a different Discord account than the one that joined. Sign out and sign back in with the right account.
  • "You cannot verify right now" — the member has the punishment role from a failed attempt. Staff run .verify <user> to clear it.
  • "Passport is not enabled on this server yet" — enable Passport and set both roles.
  • Roles do not apply — run .passport sync and check that Mist has Manage Roles and sits above both roles.
  • The panel did not post — set a verify channel first. Posting fails without one.