This page describes Pro, Studio and Agency; it has no bearing on the free WordPress.org build, which contains no licensing code at all. The free ZIP is built with those files removed entirely, and a string-matching gate fails the build automatically if any licensing string is found in it.
Screen: ApprovalTrail → License. Requires manage_woocommerce.
The policy
A license gates updates and support. It never turns the plugin off.
Nothing in ApprovalTrail’s day-to-day operation checks whether it’s licensed. An expired license means no new plugin versions and no support ticket access. It does not mean a dead site, a nag screen covering your admin, or lost proofs. Your proofs, your evidence records, and the production lock all keep working exactly as before.
Activating your license
Paste the license key from your purchase email into the License screen. Your site is registered, and the screen then shows your plan, status, renewal date, and whether updates are currently enabled. A “Remove this key” button is there too — it frees the site seat so you can move the license to a different site.
How validation works: deliberately fail-open
- If the license service can’t be reached (an outage on our end, a firewall on yours), nothing changes for thirty days, and the screen tells you plainly that it couldn’t check.
- If it reaches the service and gets a “no,” there’s still a twelve-hour grace period, so a renewal that’s mid-payment doesn’t slam the door on someone who’s already paid.
- Only an explicit refunded, disputed, or disabled status ends entitlement. Even then, the plugin you’ve already installed keeps running.
Notices
You’ll see expiry warnings at 30 days and 7 days out, and a single notice if updates become gated. All are dismissible. The wording says exactly what happens, “you keep the plugin, you stop receiving updates,” because anything softer is a surprise your customer discovers at the worst possible moment.
How updates work
Update checks and downloads go through the license service. Every update package is verified against a cryptographic signature before it’s installed, and a package that can’t be verified is refused outright.
This is the one place ApprovalTrail fails closed rather than open, and it’s paired deliberately with the fail-open behavior above: an unreachable license server must never disable anything on your site, but an unsigned code package must never be installed on it either. It’s the same underlying principle, protect the customer, applied with opposite defaults because the two situations carry opposite risks.
What happens when my license expires
You keep the plugin, exactly as installed. You stop receiving new versions and lose access to filing support tickets. Nothing about your proofs, records, or the production lock changes. Renew any time to resume updates and support.
Moving your license to a new site
On the old site: open the License screen and click “Remove this key.” That frees the seat. On the new site: paste the same key into its own License screen to activate it there.
We’re behind a firewall / air-gapped
You have a fourteen-day grace window before anything about update access changes, and during that window the screen tells you plainly that it can’t reach the license service. If your firewall situation is permanent, contact support for options — but nothing about your installed plugin stops working in the meantime.