Secret Masking Configuration
Atmos provides provably safe secrets masking—all output channels route through the masking layer to ensure secrets never leak through any path. Sensitive data (secrets, API keys, tokens) is automatically masked in all terminal output to prevent accidental exposure in logs, screenshots, or CI/CD pipelines.
Overview
Secret masking operates at the I/O layer, intercepting all output before it reaches stdout/stderr. This ensures secrets are masked regardless of:
- Output format (plain text, JSON, YAML)
- Output destination (terminal, file, pipe)
- Command type (terraform, helmfile, custom commands)
Quick Start
Enable Masking (Default)
Masking is enabled by default with 8 built-in patterns for common secrets:
# atmos.yaml
settings:
terminal:
mask:
enabled: true # Default: true
Disable Masking for Debugging
Use the CLI flag to disable masking temporarily:
atmos terraform plan --mask=false
Disabling masking with --mask=false, ATMOS_MASK=false, or settings.terminal.mask.enabled: false also disables secret-safe TF_VAR_ delivery for automatically registered sensitive Terraform/OpenTofu outputs. Those values may be written to generated .tfvars.json files.
Use this compatibility and debugging opt-out only when writing those values to disk is acceptable. Declared secrets continue to use the existing no-secrets-on-disk handling.