If you’ve run an agency for any length of time, you know the feeling: you want your tools to be simple, you want them self-hosted, and you want to know exactly what code is running on your client sites.
When I started building Clockwork Control, our private mu-plugin (Clockwork Companion) was our bread and butter. For our managed servers on SpinupWP, GridPane, Pressable, or whenever you have your own agency hosting account where you can drop in master API keys or SSH credentials, deploying the companion plugin automatically is fast, clean, and bulletproof.
Clockwork Control will always work natively with platforms like WP Engine, Kinsta, SpinupWP, and Pressable when you have the API credentials. If your agency has an account on WP Engine or Kinsta, you just drop in your API key, and Clockwork Control syncs your fleet automatically.
But what about one-off client sites? Every agency has clients whose websites live on the client’s own hosting account—whether that’s WP Engine, Kinsta, SiteGround, Bluehost, GoDaddy, or a private server. You don’t have an API key from the user, and you certainly don’t expect a one-off client to generate and hand over account-wide master hosting API keys just for a single site.
On those sites, you don’t need hosting API keys or SSH access. You just need a standard WordPress plugin you can activate in their admin panel.
That’s what Clockwork Control v1.7.0 is all about: introducing Clockwork Renegade.
1. Introducing Clockwork Renegade (And Why It’s Named That)
When I was sixteen years old, long before I built websites for a living, I ran a BBS out of my bedroom. I was dialing in, trading files, and running on Renegade BBS software. It was my own tiny corner of the pre-internet internet because the web didn’t exist yet and I wanted one anyway.
So when we built our standalone client plugin for sites outside our direct hosting control, naming it Clockwork Renegade was an easy choice. It’s built for all the “renegade” sites in your agency—the client-hosted sites where you don’t have server credentials or master API access:
┌─────────────────────────┐
│ Clockwork Control │
│ Command Center │
└───────────┬─────────────┘
│
┌─────────────────────┴─────────────────────┐
│ │
▼ ▼
┌─────────────────────────┐ ┌─────────────────────────┐
│ Agency-Managed Host │ │ Client-Owned Host │
│ (Companion / Direct API)│ │ (Clockwork Renegade) │
│ │ │ │
│ • You hold master API │ │ • Client owns the host │
│ keys or SSH access │ │ • No API keys needed │
│ • SpinupWP, Pressable, │ │ • One-off care clients │
│ agency WP Engine, etc.│ │ • WP Engine, SiteGround,│
│ • Automated provisioning│ │ Kinsta, GoDaddy, etc. │
└─────────────────────────┘ └─────────────────────────┘
[!NOTE] WordPress.org Roadmap & Testing: Clockwork Renegade is architected specifically for the official WordPress.org Plugin Directory so any client site can install it in 1 click. We haven’t submitted it to the repository yet—we are actively testing it across our own and community agency fleets first to make sure it’s rock solid before going through the official review process. In the meantime, you can download the release zip directly from GitHub to test and use it today.
Here’s how we architected it specifically to meet all WordPress.org plugin guidelines:
- Zero Remote Eval: Clockwork Companion had an internal code-snippet runner for emergency rescue ops. That has zero place in a public repository plugin, so in Renegade,
evalis 100% stripped out. - Native WordPress Updates: Once approved on WordPress.org, updates will ship through WordPress core’s native updater via SVN (
plugins.svn.wordpress.org/clockwork-renegade/), so your clients get regular, trusted updates. (Until then, you can install and update via the GitHub release zip). - Clean REST Namespacing: Uses its own
/wp-json/clockwork-renegade/v1/route namespace.
2. Affirmative Consent & The 256-Bit Connection Key
I have a huge pet peeve with WordPress plugins that connect to third-party services: you activate the plugin, and before you’ve even configured a single setting, it starts making background calls, registering webhooks, or phoning home.
WordPress.org Guideline 7 is very clear about affirmative consent, and we took it seriously:
When you activate Clockwork Renegade, it makes zero network calls. No pings, no telemetry, no tracking scripts. Nothing leaves the site.
To link a site to Clockwork Control, an administrator has to explicitly do it themselves:
- In WP Admin, navigate to Clockwork → Connection (
admin.php?page=clockwork-connection). - The plugin generates a 256-bit (32-byte) cryptographically secure secret using PHP’s
random_bytes(32), encoded as a 64-character hex string. - Click Copy Connection Key. That gives you a base64-encoded JSON envelope with your site URL, secret, and variant:
{ "url": "https://client-site.com", "secret": "9f82a1c0d4e7b3... (256-bit hex secret)", "variant": "renegade" } - Paste that into Clockwork Control’s Sites → + Add Site modal. Clockwork Control tests the HMAC-SHA256 handshake, confirms connectivity, and enrolls the site.
If you’re running a hardened production setup, you don’t even have to store that secret in the WordPress database. You can drop this into wp-config.php:
define('CLOCKWORK_RENEGADE_SECRET', 'your-256-bit-hex-secret');
Once defined, the secret is completely isolated from database dumps, staging clones, and wp_options.
3. The Scheduled Jobs Dashboard
Cron in WordPress has always been a black box. You set up a cron job or rely on wp-cron.php, and if tasks silently fail or stack up, you usually don’t find out until a backup didn’t run or an email report was missed.
In v1.7.0, we built a visual Scheduled Jobs Dashboard (/scheduled-jobs) into Clockwork Control.
00:00 04:00 08:00 12:00 16:00 20:00
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
[SSL Probe] [Backups] [Uptime 1m] [Health] [Telemetry] [Reports]
42ms 1.8s 12ms 340ms 85ms 2.1s
Now you can see:
- Visual Hourly Density: What runs at 2:00 AM versus 2:00 PM across your fleet.
- Execution Times & Latency: Did an SSL probe take 40ms or did it hang for 12 seconds?
- Heartbeat Monitor: If the primary scheduler daemon stops ticking every 60 seconds, you get an immediate visual indicator before jobs back up.
- Manual Triggers: Need to force a backup enumeration or re-check SSL certs right now? One click, no SSH required.
4. Companion White-Labeling Fleet Sync
If you manage maintenance plans for clients, you probably don’t want your clients seeing our branding in their WP Admin sidebar. You want them seeing your agency logo, your company name, and a link to your support ticket desk.
In v1.7.0, the White-Labeling Hub lets you configure your branding once in Clockwork Control and hit Sync Fleet. Clockwork Control figures out whether each site is running Companion or Renegade, authenticates via HMAC, and pushes your custom branding directly into the WordPress admin.
5. What’s New in v1.7.2: Fleet-Wide Domain Ignore Patterns & Pressable Capacity
Right after tagging v1.7.0, we shipped v1.7.2 to solve a couple of big fleet management papercuts:
Fleet-Wide Uptime Domain Ignore Patterns
If you manage WordPress sites on Pressable, WP Engine, or any host that generates staging clones, you know how annoying it is when a fresh clone like mysite.mystagingwebsite.com pops up as DOWN or NOT OUR FAULT on your monitoring board and adds a red badge to your navigation.
Toggling them off site-by-site doesn’t scale because new clones keep appearing. In v1.7.2, you can go to Monitoring → Settings and define wildcard domain patterns (one per line):
*.mystagingwebsite.com
*.staging.tempurl.host
Clockwork Control excludes matching sites directly at the query level (Site::notDomainIgnored()). The probe runner skips them entirely—no probes, no alerts, no state churn—and they drop off your /monitoring KPIs and /issues down list. Best of all: they stay 100% active and managed everywhere else (backups, PHP updates, plugin inventory, and capacity tracking).
Zero-Overhead Pressable Fleet Capacity Tracking
On /capacity, we added dedicated Pressable fleet capacity tracking:
- Automatically resolves your agency’s
maxBillableinstall limit and plan allowances directly from Pressable’s API. - Quick-jump navigation, floating scroll pills, and fleet filter tabs to easily distinguish between shared VPS servers and serverless managed hosts.
- Over-quota early warnings before surprise provider overage billing hits.
Remote Diagnostics & Security Hardening (v1.7.1 & v1.7.2)
- Companion Diagnostics: Added client methods for deep database table optimization, remote
wp-content/debug.loginspection, and bulk translation update queueing. - Connection Key Isolation: Enhanced standalone enrollment so connection keys and secrets never flash into session state or HTML form attributes.
- Archive Key Verification: Added strict site-ownership verification on S3 Glacier archive keys before minting download URLs or staging restores.
6. What’s New in v1.7.3: LLAR Unlock Hub, Team 2FA Governance & White-Label Lockdown
Following closely on v1.7.2, we shipped Clockwork Control v1.7.3 alongside Clockwork Companion v1.38.1 and Clockwork Renegade v1.0.3. This update delivers major architectural improvements across emergency access, team security, and client transparency:
Remote Emergency Lockout Clearing (LLAR Unlock Hub)
If your agency uses Limit Login Attempts Reloaded (LLAR), false positives or brute-force protections can accidentally lock clients or on-call technicians out of their sites. Previously, clearing those blocks required SSH access or wp-cli commands on the server.
In v1.7.3 and Companion v1.38.1, authorized operators can clear lockouts remotely right from the designated Agency Primary Hub:
- Instant Recovery Without SSH: The Unlock Console (
Clockwork Companion → Unlockin wp-admin) dispatches an authenticated HMAC-SHA256 signedDELETE /wp-json/clockwork/v1/lockoutscall to the target site to immediately flush the blocked IP or username. - Dynamic Hub Detection: Configured under Settings → White Labeling (
unlock_hub_domain, default:clockworkwd.com), the hub domain is automatically synced to all sites in the fleet. Subdomain hubs (e.g.support.customagency.com) allow verified staff email addresses from both the parent domain (*@customagency.com) and subdomain. - Client Isolation & Fail-Closed 403s: Client sites never display the Unlock menu or navigation tab. Direct URL navigation to
admin.php?page=clockwork-unlockaborts with an HTTP 403wp_diebefore rendering, and background AJAX requests abort with 403 JSON errors.
Team-Wide 2FA Governance & Roster
Admins can now manage two-factor authentication adoption across their client’s entire team directly within WordPress:
- Unified Team Roster: View every registered WordPress user, their active 2FA status, and enrolled methods on a single screen.
- Enforcement & Recovery: Site administrators can mark individual users as Require 2FA (forcing configuration on next login), relax requirements with Stop Requiring, or Turn Off 2FA to clear credentials during client lockout recovery.
- Role-Aware Self-Enrollment: Self-enrollment is mapped to the
readcapability, allowing non-admin users (editors, authors, contributors) to configure their own 2FA without needingmanage_optionsor encountering 403 authorization loops. - Emergency Bypass Hatch: Defining
define('CLOCKWORK_2FA_DISABLE', true);inwp-config.phpacts as an emergency fail-safe if mail transport or authenticator apps fail.
Permanent White-Label Lockdown
To eliminate client confusion or accidental tampering, local wp-admin branding settings (admin.php?page=clockwork-branding) have been permanently removed and forbidden (403). All branding—plugin names, logos, menu titles, brand palettes, and notification emails—is strictly managed centrally in Clockwork Control at /settings/companion and pushed downstream via signed REST.
Public Admin Menu Visibility
The parent Companion and Renegade menus in wp-admin are now publicly visible to all site administrators (manage_options). The legacy email-domain hiding hook was eliminated, allowing clients to see their Connection status, host/plugin Capabilities, Notifications, and 2FA settings, while sensitive agency tools remain cryptographically isolated.
How to Update
If you’re running Clockwork Control, updating is a single terminal command:
php artisan clockwork:update
Or just click the update button under Settings → System Updates in your dashboard. It’s fully backward-compatible and doesn’t require manual database tweaks.
Give it a spin, and let me know what you think on GitHub!
