=== BackupBeacon ===
Contributors: bostondeveloper
Tags: backup, monitoring, alerts, cron, watchdog
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 3.6.6
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

The alarm that fires when backups stop happening.

== Description ==

Most backup failures are silent: the job stopped running weeks ago and nobody noticed. Backup plugins grade themselves. BackupBeacon is the independent watchdog that does not.

**How it works**

1. Add each backup destination (UpdraftPlus to Drive, database dumps to S3, your host's nightly snapshots) with a freshness limit in hours.
2. Point your backup job at the token-authenticated ping endpoint: `POST /wp-json/backupbeacon/v1/ping/<destination-id>?token=...`. Every successful backup pings; the token is rotatable and pings are rate-bounded.
3. BackupBeacon evaluates every destination hourly (WP-Cron): fresh, stale (past its limit), or silent (never recorded, or a clock-skewed future timestamp). Backdated recordings are refused.
4. When a destination turns stale or silent, the site admin gets an email and a persistent admin notice - once per incident, not once per cron tick. A dashboard widget rolls every destination into one ALARM/OK beacon, and the event log records when each destination went stale and when it recovered.

No account, no external service, no per-site fees. Your backup jobs ping your own site; the watchdog runs where the backups matter.

**Optional premium plans** unlock faster checks (15-minute cadence), more alert channels (Slack/Discord/webhook), escalation and maintenance windows, per-destination alert routing, a status API, multisite and white-label agency tooling. Upgrades happen inside your dashboard - no reinstall, no license-key copying - and every feature you use today stays free forever.

**What it is not**: BackupBeacon does not make backups. It is the alarm for the tools that do.

== Screenshots ==

1. The BackupBeacon dashboard: every destination rolled into one ALARM/OK beacon, with per-destination freshness state.
2. Destination setup: token-authenticated ping endpoint with rotatable token and freshness limit in hours.

== Frequently Asked Questions ==

= Which backup plugins does it work with? =

Any of them. If your backup tool can run a curl command (or a WP-CLI line) after it finishes, it can ping BackupBeacon. It is deliberately backup-plugin-agnostic.

= Does it need an external account? =

No. Pings arrive at your own WordPress site and evaluation runs on WP-Cron. Nothing leaves your server except the alert email to the admin.

= What happens if my backup job never pings? =

That is the point. Silence past the freshness limit flips the destination to stale (or silent if nothing was ever recorded) and the alarm fires.

== Changelog ==

= 3.6.6 =
* Cloud email alerts (edge relay delivery) are now an Accelerator/Studio feature: the relay never sends on Free/Starter/Pro, relay controls are locked with an upgrade link on lower tiers, and stored relay settings are preserved (never used) while unentitled.

