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
- A member joins and Mist gives them the unverified role.
- Mist sends them the verify link in a DM or posts it in your verify channel.
- They open the page, sign in with Discord, and solve the captcha.
- On success, Mist removes the unverified role and grants the verified role.
- 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
@everyoneoverwrites 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 action —
block,flag,kick, orban. A blocked member never sees a captcha. - Alt sensitivity —
off,low,medium, orhigh. How sure Passport must be before it acts on an alt account. - Alt action —
flag,challenge, orkick. Challenge sends them through the captcha again. - Ban evasion action —
ban,kick, orflag. 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>
| Subcommand | What it does |
|---|---|
setup | Creates the verified and unverified roles. |
sync | Reapplies roles to every member from the stored state. |
panel | Posts the verify panel in the current channel. |
verify <user> | Manually verifies a member and clears their punishment role. |
enable / disable | Turns Passport on or off. |
view | Shows the current configuration. |
stats | Shows 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 syncand 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.