Safeguard
Developer Tools•

Design a degraded mode: what to turn off first under stress

Graceful degradation means deciding in advance what to drop under load or dependency failure. How to rank features, keep security checks and test it.

Safeguard Security Team
3 min read

A degraded mode is a planned, reduced version of your service that runs when a dependency fails or load spikes. Rank features by importance, switch off the expensive and optional ones first, keep authentication and authorisation checks on, and exercise the mode regularly so it works when needed.

Degrade, do not collapse

The Google SRE book describes graceful degradation as reducing the work done per request, for example serving from a smaller cache or using a cheaper ranking method when load is high. It adds two warnings: exercise the path regularly, because unused code paths tend to break, and alert when many servers enter degraded mode.

Step 1: rank your features

List what your service does and sort it into tiers.

  • Tier 1, must stay: login, authorisation checks, core transactions, audit logging.
  • Tier 2, keep if possible: search, notifications, profile updates.
  • Tier 3, drop first: recommendations, analytics, exports, previews, nonessential background jobs.

Get product and security to agree on the tiers before anything breaks.

Step 2: security checks are not optional features

Never put a security control in the drop list to save capacity. The easy mistake is to disable a slow authorisation lookup or skip input validation under pressure, which turns an overload into a breach. Cheaper versions are fine: a cached authorisation decision with a short lifetime beats no check. A shorter, safer path is the aim, not a missing one. This is the same trap as failing open.

Step 3: define the triggers

Decide what moves you into degraded mode: queue depth, error rate, latency of a dependency, an operator's switch. Automatic triggers react faster. A manual switch is easier to reason about. Many teams use both. A kill switch or feature flag is a natural control for Tier 3 features.

Step 4: tell the user

Show a plain message when a feature is paused, rather than a spinner or a cryptic error. Quiet failures generate duplicate retries, which add load. See retry storms.

Step 5: test it

Turn the degraded mode on in staging every month. Run a load test or inject a dependency failure and confirm that Tier 1 holds, Tier 3 is off, and recovery is clean. The SRE book also recommends testing what happens when noncritical backends stop responding. Make sure the way back to normal does not cause a stampede.

Step 6: watch for abuse

Attackers sometimes aim to push a service into its weaker mode. If degraded mode relaxes anything, treat entering it as a signal worth alerting on.

Quick check

Who decides the tiers?

Product and engineering together, with security signing off that no control sits in the drop list.

Is degraded mode the same as a circuit breaker?

No. A circuit breaker stops calls to one failing dependency. Degraded mode is the plan for what the whole service does without it.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.