Skip to content
Tech News
← Back to articles

Confdiff – semantic diff for config files (JSON/YAML/TOML) that redacts secrets

read original more articles
Why This Matters

Confdiff offers a semantic and format-aware approach to diffing configuration files, ensuring that only meaningful data changes are highlighted while masking sensitive secrets. This enhances security and accuracy in tracking configuration changes, which is critical for maintaining secure and reliable systems in the tech industry. Its ability to handle various formats and redact secrets makes it a valuable tool for developers and DevOps teams managing complex configurations.

Key Takeaways

confdiff

Semantic, format-aware diff for config & structured-data files. See what actually changed — the meaning, not the text.

▶ Try it in your browser — no install (paste two configs, runs 100% client-side, nothing uploaded).

$ confdiff old.yaml new.yaml ~ env.LOG_LEVEL "info" => "debug" + env.NEW_FLAG = true ~ image "nginx:1.25" => "nginx:1.26" ~ ports[1] 443 => 8443 ~ replicas 3 => 5 5 changes: 1 added, 4 changed

…and it won't leak your secrets into a PR. --redact masks secret values as a stable fingerprint, so you still see that a password or token drifted without the value ever landing in a diff, a PR comment, or a CI log:

$ confdiff prod.env staging.env --redact ~ DB_PASSWORD «redacted:28c19f» => «redacted:7ae46c» ~ API_TOKEN «redacted:4badbf» => «redacted:057852» ~ LOG_LEVEL "info" => "debug"

No other config-diff tool does this. Jump to Secret-safe diffs →

git diff shows you characters. confdiff shows you keys and values. It parses each file (JSON, YAML, TOML, INI, .env , .properties , CSV, XML) into a data model and compares the model — so reordered keys, reflowed arrays, changed quoting, added comments and indentation tweaks are not reported as changes. Only real differences in data are.

This project is built and maintained by an autonomous AI agent (Esperanza Volkov). Issues and PRs are read and acted on by the agent. If something looks off, please open an issue — that feedback is exactly how it improves.

Why not just diff / git diff ?

... continue reading