Safeguard
Security Guides•

Should you log configuration and feature flag changes? How to do it

Yes. Record who changed which setting, from what to what, and why. A change event schema, key settings to watch and how to tie changes to incidents.

Safeguard Security Team
4 min read

Yes. Many outages and security gaps start with a setting change, such as a flag turned on, a limit raised or a check disabled. Record who changed which setting, the old and new values, when and why, and link the change to the logs around it. Alert on changes to security settings.

Why settings changes need a trail

When behaviour shifts, the first question is what changed. Code deployments leave a history. Settings often do not, especially flags toggled in a dashboard or values edited in an environment console.

The OWASP Logging Cheat Sheet lists configuration changes among the application errors and system events to log, and lists higher risk functionality such as admin actions and use of break glass accounts. Its optional events include configuration modifications. It also says required events should not be possible to switch off completely, so the logging setting itself is a change to watch.

Which settings matter most for security

Setting groupExamplesWhy it matters
AuthenticationMFA required, session lifetime, password rulesWeakening these opens accounts
Access controlDefault roles, public sharing, allowed originsWidens exposure
Logging and monitoringLog level, retention, alert rules, sinksHides later activity
LimitsRate limits, upload size, export capsControls abuse
NetworkAllowed IP ranges, TLS settingsChanges reach
Feature flagsFlags guarding new security checksTurning one off removes a control
Secrets and keysRotation schedule, key IDsAffects trust

Attackers who gain admin rights often change logging first. A change that lowers log verbosity or retention deserves its own alert.

A change event schema

  1. Timestamp in UTC.
  2. Actor: person, service account or automation, with identity.
  3. Setting name and scope, such as environment, tenant or global.
  4. Old value and new value. Mask secrets, and store a reference or hash instead.
  5. Reason, ticket or approval link where your process has one.
  6. Source: console, API, infrastructure as code pipeline.
  7. Request ID and, if applicable, the commit that produced the change.

Prefer making changes through a reviewed pipeline, so the approval record and commit already exist, and use the event as confirmation. Treat console edits as exceptions that require a reason.

Make it useful in an incident

Show change events on the same timeline as your error and latency graphs. When an alert fires, the first view should include every setting change in the previous few hours. This single habit shortens many investigations.

Add a drift check as well. Compare running values with the intended values in version control, and raise an alert on a mismatch. See what is drift detection.

Steps

  1. List your settings stores: flags, environment variables, cloud consoles, admin pages.
  2. Make each emit a change event, or route changes through a pipeline that does.
  3. Classify settings as security relevant, and alert on those.
  4. Restrict who can change them and record break glass use.
  5. Test by flipping a staging setting and confirming the event, the alert and the timeline entry.

Quick check

Do I log secret values when they change?

No. Log that a secret was rotated, with a key ID or version, never the value.

Is the deployment log enough?

Only for code and pipeline driven changes. Dashboard flags and console edits need their own events.

Safeguard's policies and gates, and its compliance and evidence automation, record control decisions and proof as they happen. Try a free scan at gold.safeguard.sh/scan.

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.