How baselines are captured
A baseline is a JSON snapshot of a resource’s complete configuration at a point in time. It contains the full attribute set returned by the cloud provider API for that resource type — security group rules, encryption settings, tags, network configuration, and more. Baselines are captured in two ways:- Automatically — during the initial resource sync after you connect a provider, InfraAudit captures a baseline for every discovered resource.
- Manually — you can capture a new baseline at any time from the resource detail panel or the CLI:
How the comparison works
When the drift detection job runs:- For each active resource with a baseline, InfraAudit fetches the current configuration from the cloud provider API.
- It retrieves the most recent baseline for that resource.
- It performs a deep JSON diff between the baseline and the current configuration.
- For each difference found, it evaluates the drift type and severity.
Drift types
Each detected difference is classified into one of three types:Severity levels
Severity is assigned per-difference based on rules specific to each resource type. Examples:IaC drift
A separate drift type — IaC drift — compares live resources against your Infrastructure-as-Code declarations (Terraform, CloudFormation) rather than against baselines. IaC drift uses static analysis of uploaded files and runs against already-cached resource configuration, so it doesn’t require additional cloud API calls. See Terraform and CloudFormation for setup instructions.Scan frequency and manual triggers
The drift scanner runs on a cron schedule — the default is every 4 hours. To run a scan immediately:Drift finding lifecycle
A drift finding moves through three states:- Detected — the scanner found a difference. No human has reviewed it yet.
- Investigating — a user acknowledged the finding and is investigating the cause.
- Resolved — the underlying change was either reverted, or the baseline was updated to accept the new configuration.