A staging site of your live site carries your whole database with it: your customers, your payment settings, your scheduled tasks. Whether your host, a plugin or you made it (a local site, a clone or a restored backup counts too), it can email those customers, charge their cards, run renewals and show up in search results as if it were the real shop.
Gorilla Staging Guard stops that on every staging site, and leaves your live site alone.
A label in the admin bar (“Env: Staging”, “Env: Development”, “Env: Production”) shows you which site you are on.
The live site records its own address the first time an administrator opens wp-admin there, when that address is clearly the main domain (otherwise it asks). A staging site carries that record with it, under a different address: a subdomain such as staging.example.com, a folder such as example.com/staging, or a name that says it is a staging site. No setting is needed on the staging site. Hosts and agencies can also say so in wp-config.php.
The live site’s own address and www are never treated as a staging site by their address alone. A site whose address does not clearly look like a staging site is asked about, never blocked: until you answer, it sends email and takes payments as usual. Nothing the plugin forces on a staging site is saved, so nothing it changes travels back to the live site.
On a staging site, the self-test asks each protection what it would do with a harmless test message, payment setting or task, and shows the answer. On the live site, “What would a staging site do?” runs the same test without changing anything. The Activity tab lists what was stopped, with addresses partly hidden.
No sign-up, no upsell, no outside service. The plugin makes no requests of its own.
The full guide, from how it knows a site is a staging site to every setting, is at https://docs.gorillaplugins.com/staging-guard/.