Firewall
Decide who can verify in your server with VPN, alt and wireless protections, custom rules, passwords and bypasses.
The firewall checks every verification attempt and decides whether that person gets in. It can block VPNs, alt accounts, mobile connections, specific users, IPs, countries, networks, email domains or members of other servers, and it can require a password. It lives on your server's Firewall tab, which has three sub-tabs: Rules, Passwords and Activity Logs.
Go to Servers › Manage › Firewall Go to Firewall › Rules Go to Firewall › Passwords Go to Firewall › Activity Logs
What the firewall does
The firewall runs at the moment someone verifies. A member who is blocked sees an error on the verify page and never receives the verified role. Each verification attempt is checked in this order:
- Active bypass. A member with a bypass skips every check below.
- Firewall rules you created or imported.
- Protections: VPN/proxy, wireless and alt-account blocking.
- Server password, when one is required.
- Captcha, when it is turned on.
- Alt detection: the same IP or browser as another member of this server.
- Minimum account age, when it is set.
The firewall is not an anti-nuke or moderation bot. It controls who can verify; it cannot stop someone who already has admin permissions from deleting channels or banning members. Pair RestoreCord with Discord AutoMod, 2FA for moderators, least-privilege roles and, if you need one, a live anti-raid bot.
Plan requirements
The firewall needs Premium or higher. Some features need a higher plan; each plan includes everything from the plans below it. See Plans & Billing for the full comparison.
| Feature | Plan | Dashboard |
|---|---|---|
| Block VPNs & Proxies | Premium | Go to Firewall › Block VPNs & Proxies |
| Block Alt Accounts | Premium | Go to Firewall › Block Alt Accounts |
| Custom rules | Premium | Go to Firewall › Custom Rule |
| Ban list import | Premium | Go to Firewall › Import Banlist |
| Auto-Blacklist on Ban | Premium | Go to Extras › Auto-Blacklist on Ban |
| Block Wireless Connections | Enterprise | Go to Firewall › Block Wireless Connections |
| Verification passwords | Enterprise | Go to Firewall › Add Verification Password |
| Enforce Passwords | Enterprise | Go to Firewall › Enforce Passwords |
| Minimum Account Age | Enterprise | Go to Security › Minimum Account Age |
| Captcha | Every plan, including Free | Go to Security › Captcha |
Teammates you add as sub-users need the Manage Firewall permission to open this tab.
Protections
Protections are one-click templates at the top of the Rules sub-tab. When one is on, its card shows ENABLED.
Block VPNs & Proxies
Block VPNs & Proxies (Premium) blocks anyone who tries to verify through a VPN, proxy or hosting network. Members see error 990044. iCloud Private Relay, browser VPN extensions and some school or workplace networks also count as VPNs.
Go to Firewall › Block VPNs & Proxies
Block Wireless Connections
Block Wireless Connections (Enterprise) blocks verification from mobile networks such as LTE, 4G and 5G. Members see error 990043 and need to switch to Wi-Fi or a home connection.
Go to Firewall › Block Wireless Connections
Block Alt Accounts
Block Alt Accounts (Premium) stops one person from verifying with more than one Discord account by spotting several accounts on the same network or device. Blocked members see error 990045.
Go to Firewall › Block Alt Accounts
Start with warnings before you block. Siblings, housemates, school or dorm Wi-Fi and public networks can look like alts. Leave Block Alt Accounts off for a while and watch your webhook logs for Alt Account Warning entries. Once you are happy with what it catches, turn blocking on.
Enforce Passwords
Enforce Passwords (Enterprise) makes every member enter a verification password before they can verify. Create at least one password first. The verify page then shows Enter Password instead of Verify.
Go to Firewall › Enforce Passwords
Custom rules
Click Add Security Rule to open the template picker, then choose Custom Rule (Premium). Each rule reads If field, operator, value then decision, and a live preview shows it as a sentence while you build it.
Go to Firewall › Add Security Rule Go to Firewall › Custom Rule
| Part | Options |
|---|---|
| Field | Discord role, Server membership, Username, Email domain, User ID, IP address, IP range (CIDR), Country (2-letter ISO code), Continent, ASN (network provider) |
| Operator | is, is not, is within, is not within, contains, does not contain. Regex values use RE2 syntax. |
| Decision | block, allow through firewall, require password (you choose which password), bypass all checks |
| Actions | give role: assign one or more roles when the rule matches. Available on every decision except block. |
The rule name is optional and can be up to 100 characters. A few examples:
- If Country is a country you don’t serve then block.
- If Server membership is a rival server then block. Members of that server see error
990046. - If Email domain contains a disposable mail provider then block.
- If User ID is a staff member’s ID then bypass all checks and give role Staff.
Rules that check Email domain or Server membership ask Discord for extra permissions, so members see those on Discord's authorize screen.
Import your ban list
Import banlist from Discord Server (Premium, inside Add Security Rule) reads your Discord server's ban list and turns each banned user into a block rule. Users that are already imported are skipped, so you can run it again later. Your bot needs the Ban Members permission; otherwise the import fails with “Bot is missing BAN_MEMBERS permission”.
Go to Firewall › Import Banlist
Managing rules
The Firewall Rules list groups your rules by decision. Each rule can be edited, enabled or disabled, or deleted. Use Filter rules by type to show only All Rules, Blocked, Password required, Allowed or Bypass all checks.
Go to Firewall › Firewall Rules Go to Firewall › Filter rules by type
A member stopped by a block rule sees error 990031.
Verification passwords
Passwords (Enterprise) live on the Passwords sub-tab. Use them with Enforce Passwords, with require password rules, or as a code that lets trusted people through.
Fill in the details
| Setting | What it does |
|---|---|
| Password Label | A name only you see |
| Password | The password members type. It is case-sensitive. |
| Max Uses (optional) | How many times the password can be used |
| Expires in (optional) | From 30 minutes up to 3 months, or no expiry |
| Assigned Role (optional) | A role given to members who verify with this password |
Share it with your members
Members type the password on the verify page. A missing password shows error 990032; a wrong, expired, disabled or used-up password shows error 990033. Too many wrong attempts lock the member out for a short time.
The Passwords list shows every password with its use count and expiry date. You can edit, enable or disable, and delete them there.
Go to Firewall › Password List
Activity logs
The Activity Logs sub-tab records every firewall decision and shows totals for requests, allowed, denied and password-used attempts over the last 30 days.
Go to Firewall › Activity Logs
| Tool | What it does | Dashboard |
|---|---|---|
| Search | Find entries by Discord user ID (numbers only). The entry shows which rule or protection matched. | Go to Activity Logs › Search |
| Filter by Event | Show one event type: All Events, Allowed, Denied, Password or Blocked (Server). VPN and alt blocks are not under Denied. | Go to Activity Logs › Filter by Event |
| Refresh | Reload the log. There is a short cooldown between refreshes. | Go to Activity Logs › Refresh |
| Grant Temporary Access | On a denied entry, give that member a bypass for 15 minutes, 1 hour, 6 hours, 24 hours or 7 days |
For charts over a longer period, open the Firewall tab under Analytics.
Bypasses
A bypass is a temporary pass that lets one member verify without any firewall checks, including rules, VPN, alt and wireless blocking, passwords and account age. It is the quickest fix for a false positive. You can grant one in three ways:
- In Discord, run
/bypass grant <user> <duration> [reason]. - In Discord, right-click the user → Apps → RC - Bypass.
- In the dashboard, click Grant Temporary Access on a denied entry in the activity logs.
Durations are 15 minutes, 1 hour, 6 hours, 24 hours or 7 days, and each user can have only one active bypass at a time. Use /bypass list to see active bypasses and /bypass revoke <user> to end one early. Staff who use the Discord commands need the User Bypass permission; see Bot Commands.
Allowing staff on VPNs
If a staff member has to use a VPN, you don't need to turn VPN blocking off for everyone. Instead:
- Add a custom rule: if IP address is their address, or ASN is their VPN provider, then allow through firewall.
- Or add a rule on their User ID with the decision bypass all checks.
- Or give them a one-off bypass with
/bypass grantwhen they need to verify.
Related settings
These settings live outside the Firewall tab but also decide who can verify.
Need help with a rule that isn't behaving as expected? Contact support on Discord.