Third-party package dependencies · Release age & quarantine

Grant release-age exceptions explicitly and for a limited time

When it fails: The release-age rule is bypassed without trace or without end date.

CB-DEP-AGE-003lowdraftmanualprofile baseline

Status draft: not part of any release yet, may still change.

Description

When a version younger than the release-age threshold is needed (typically an urgent security fix), the exception names the package and exact version, the reason, the approver, and expires after at most {{ max_exception_days }} days.

Rationale

Without a clear process, teams disable the rule globally the first time they are blocked, and never turn it back on.

Impact

Someone must be available to approve exceptions quickly.

Parameters

ParameterBaselineHardenedBoundsDescription
max_exception_daysinteger7 days7 days1 to 30Maximum lifetime of a release-age exception.

The value used is your override, else the profile's, else the default. Bounds limit what an override may set.

Audit

  1. List active release-age exceptions.
  2. Check each one targets an exact version, has a recorded reason and approver, and is younger than {{ max_exception_days }} days.
  3. Check the global rule is not disabled.

Automated: every check must pass. Scanners report each check by its id.

postmortem

every [[gate.allow]] / AGE waiver has an expiry within the limit; approval is by hand

command: postmortem harden --json
control: CB-DEP-AGE-003
coverage: partial

Remediation

  1. Define who can approve exceptions and where they are recorded.
  2. Remove expired and global exceptions.

References

Mappings

FrameworkIDRelationNote
NIST SP 800-53 Rev. 55.1.1CM-3related

How this control relates to the other framework's: equivalent, stricter, looser, partial or related.

  • related CB-DEP-AGE-001 Wait a minimum age before installing a new package version

People and lifecycle

AuthorsAlice
Introduced inv1.0.0
Created, updated2026-10-16, 2026-10-16