829 Studios - WordPress Tools #3 in Security
A plugin to enhance 829 Studios WordPress websites.
by 829 Studios · github.com/829-studios/wordpress-tools · website
Install
The author publishes release zips, so WP-CLI can install straight from GitHub:
wp plugin install https://github.com/829-studios/wordpress-tools/releases/download/1.8.2/wordpress-tools-1.8.2.zipReadme
829 Studios WordPress Tools
A comprehensive WordPress security and management plugin designed to enhance site security, streamline authentication, and provide centralized control over critical WordPress features.
Features
- Single Sign-On (SSO) with 829 Studios authentication
- Centralized 829 Settings page for all plugin configurations
- Just-in-Time (JIT) user provisioning
- Dynamic role assignment
- Ability to disable comments
- Ability to disable post passwords
- Security hardening features
- Environment indicator in admin toolbar
- Automatic environment detection (Production/Staging/Development)
Security
This plugin provides multiple layers of security protection:
Authentication & Access Control
- 829 Studios SSO: Secure single sign-on integration for 829 Studios team members
- Users created via SSO can only login through SSO, preventing password-based attacks
- Manually created @829llc.com accounts can still use password login
- Two-Factor Authentication Enforcement: Requires 2FA for non-829 users (when Two-Factor plugin is active)
- Non-SSO users without 2FA enabled have all capabilities restricted to read-only
- Users are redirected to their profile page to set up 2FA
- Only
readcapability is allowed until 2FA is configured - 829 Studios accounts (@829llc.com) are exempt as they use SSO
- Strong Password Enforcement:
- Validates password strength using the Zxcvbn library (medium strength or greater required)
- Checks passwords against the Have I Been Pwned API to prevent compromised passwords
- Prevents use of common weak passwords (123456, password, etc.)
- Forces users with weak passwords to reset before accessing the site
- Reserved Username Protection: Blocks authentication with common/generic usernames (admin, root, test, etc.) to prevent brute force attacks
- Login Attempt Limiting: Prevents brute force attacks by:
- Limiting login attempts (default: 10) per IP address within a 5-minute window
- Locking out IP addresses (default: 15 minutes) after exceeding the limit
- Using transients for performance (no permanent database bloat)
- Automatically clearing limits after successful login
- Configurable via
WPT_LOGIN_ATTEMPT_LIMITandWPT_LOGIN_LOCKOUT_DURATIONconstants
Site Hardening
- Restrict Plugin/Theme Management: Optional setting to limit plugin and theme management to 829 administrators only:
- Only users with @829llc.com email addresses can install, update, or delete plugins/themes
- Works on all hosts including WP Engine (uses WordPress capabilities, not constants)
- Restricts: install, activate, delete, update, edit, and upload for both plugins and themes
- Password Protection Control: Disallow post passwords which inherently don't work with caching.
- REST API Restriction: Configurable REST API access control with three levels:
- Restrict all REST API access to authenticated users only
- Restrict only the users endpoint to authenticated users (default)
- Allow public access to all REST API endpoints
Access Management
- Restricted Settings Access: 829 Settings page only accessible to:
- Users with @829llc.com email addresses (production)
- Any administrator (local development environments)
- Network/Multisite Support: All settings work seamlessly in both single-site and network-activated configurations
Admin Customizations
Environment Indicator
The plugin automatically adds a color-coded environment indicator to the WordPress admin toolbar, making it easy to identify which environment you're working in:
- 🔴 Production (Red): Live production sites
- 🟡 Staging (Orange): Staging environments (automatically detected for .829dev.com and .wpenginepowered.com domains)
- 🟢 Development (Green): Local development environments
The environment type is automatically detected based on domain or can be set via the WP_ENVIRONMENT_TYPE constant in wp-config.php.
Other Customizations
- Custom admin footer text crediting WordPress and 829 Studios
Requirements
- PHP 7.4 or higher
- WordPress 5.0 or higher
- Composer for dependency management
Optional
- Two-Factor plugin - Required to enforce 2FA for non-SSO users
Installation
- Install dependencies:
composer install - Activate the plugin through WordPress admin or network admin (for multisite)
- Configure settings in Settings → 829 Settings (or Network Admin → Settings → 829 Settings for multisite)
Configuration
All settings are managed through the centralized 829 Settings page:
- Allow 829 Studios SSO: Enable/disable SSO authentication
- Disable Comments: Remove comment functionality site-wide
- Require Strong Passwords: Enforce strong password requirements for all users
- Enable Password Protected Content: Allow password protected posts/pages
- Restrict Plugin/Theme Management: Limit plugin and theme management to 829 administrators only
- REST API Availability: Control access to WordPress REST API endpoints
- Limit Login Attempts: Enable/disable login attempt limiting (enabled by default)
Constants
The following constants can be defined in wp-config.php to customize plugin behavior:
Login Limiting
WPT_LOGIN_ATTEMPT_LIMIT(default:10) - Maximum number of failed login attempts per IP address within the time windowWPT_LOGIN_LOCKOUT_DURATION(default:900) - Lockout duration in seconds (default is 15 minutes)
Settings Access
WPT_ALLOW_ADMIN_SETTINGS_ACCESS(default:false) - If set totrue, allows any administrator (or super admin on multisite) to access the 829 Settings page
WP-CLI Commands
This plugin provides WP-CLI commands for managing various features:
Clear Login Attempts
Clear all login attempt transients, effectively unlocking any IP addresses that are currently locked out.
wp 829-tools clear-login-attempts
Example output:
Clearing login attempt transients...
Success: Cleared 5 login attempt transient(s).
License
MIT
Read the full README on GitHub →
Releases
| Tag | Published | Asset | Downloads |
|---|---|---|---|
| 1.8.2 | Aug 13, 2026 | wordpress-tools-1.8.2.zip | 138 |
| 1.8.1 | Jul 27, 2026 | wordpress-tools-1.8.1.zip | 163 |
| 1.8.0 | Jun 22, 2026 | wordpress-tools-1.8.0.zip | 562 |
| 1.7.1 | Jun 8, 2026 | wordpress-tools-1.7.1.zip | 232 |
| 1.7.0 | Jun 4, 2026 | wordpress-tools-1.7.0.zip | 151 |
| 1.6.3 | May 13, 2026 | wordpress-tools-1.6.3.zip | 264 |
| 1.6.2 | Apr 17, 2026 | wordpress-tools-1.6.2.zip | 253 |
| 1.6.1 | Apr 9, 2026 | wordpress-tools-1.6.1.zip | 330 |
| 1.6.0 | Apr 9, 2026 | wordpress-tools-1.6.0.zip | 8 |
| 1.5.1 | Mar 18, 2026 | wordpress-tools-1.5.1.zip | 243 |
| 1.5.0 | Mar 18, 2026 | wordpress-tools-1.5.0.zip | 2 |
| 1.4.6 | Mar 12, 2026 | wordpress-tools-1.4.6.zip | 184 |
| 1.4.5 | Mar 10, 2026 | wordpress-tools-1.4.5.zip | 161 |
| 1.4.4 | Mar 9, 2026 | wordpress-tools-1.4.4.zip | 130 |
| 1.4.3 | Mar 5, 2026 | wordpress-tools-1.4.3.zip | 180 |
| 1.4.2 | Feb 17, 2026 | wordpress-tools-1.4.2.zip | 2 |
| 1.4.1 | Feb 17, 2026 | wordpress-tools-1.4.1.zip | 2 |
| 1.4.0 | Feb 11, 2026 | wordpress-tools-1.4.0.zip | 4 |
Active-site estimate ≈230 comes from the median of recent superseded releases. Method.