Platform

Platform overview How it works Authorization testing Evidence & reports Private scanning Integrations

Solutions

Security agencies Product teams Regulated industries Partner programme

Learn

Blog Knowledge hub Compare

Resources

Pricing Documentation Help centre FAQ Security & data What we haven’t proved

Company

About Contact Careers Sign in to the platform Start a $199 pilot →

Home / Knowledge hub / Staging environment exposure

Knowledge hub

Staging environment exposure

Test systems left open to the internet, often with real data and weak controls.

Illustration explaining Staging environment exposure

What it means

A staging environment is a copy of your application used to test changes before release. Staging environment exposure is when that copy is reachable from the internet, and is protected less well than production. It might have default passwords, no login at all, debug features on, or a copy of real customer data. Because it feels like a sandbox, teams often treat it as unimportant.

Attackers do not need to guess. Staging often sits on a predictable name such as staging or test under your own domain, and it is the same code as production with fewer defences. It gives an attacker a quiet place to study your app before touching the real one.

Why it matters

A weak staging system is a back door into a strong production one. It can leak real customer records, reveal how your application works, and hold secrets such as keys that also work in production. A breach there is still a breach of customer data. Regulators do not distinguish between a breach of production and a breach of a test system holding real data.

It is also easy to overlook because no customer uses it. It may fall outside your monitoring, your patching and your security reviews, so it can stay broken for months. Part of your attack surface that nobody owns. Treat every environment as something an outsider might find.

How it shows up

You meet it as test sites on guessable subdomains, preview deployments created for each pull request, forgotten demo servers, and databases copied from production for convenience. Old environments are often kept after the project ends and nobody turns them off.

The mistakes repeat: using real data in a test system, sharing credentials between staging and production, and relying on the obscurity of the address. Put staging behind sign-in or a network allowlist, use masked or synthetic data, keep secrets separate, and list every environment in your asset inventory.

Questions people ask

Staging environment exposure, answered

Is it safe to use production data in staging?

Generally no. Staging usually has weaker controls, so real customer data there is easier to steal and harder to justify to a regulator.

Use masked or synthetic data that keeps the shape of the real data without the people in it.

Does hiding the staging URL protect it?

No. Subdomains can be found through certificate transparency logs, DNS records and search engines. An unlisted address is not a control.

Require authentication or restrict access by network.

Should staging be tested like production?

Yes, with care. It runs the same code, so a flaw found there usually exists in production too. Testing there also avoids risk to live data.

Confirm the findings against production only where it is safe and agreed.

What about preview environments for each pull request?

They are useful and a common source of exposure. Each one is a live copy of the app, often public by default.

Protect them with sign-in or an allowlist and delete them when the change merges.

Can staging share a database or keys with production?

It should not. A shared key means a compromise of the weaker system is a compromise of the stronger one.

Give each environment its own credentials, with the least access needed.

Cyberlop mark

Is your test copy open to everyone?

Test systems share code with production, so their flaws often carry over. We find vulnerabilities in web apps and their APIs and keep proof for each. Book a pilot on one app.

Or start with a $199 pilot on one application: thirty days, success criteria agreed before day one, credited against the annual if you convert.