A brittle policy embeds volatile facts—such as department names, job titles, project codes, or employee identifiers—rather than expressing durable authorization logic. When those facts change, legitimate access can fail. section 10.1.3 section 10.1.5
Department rename breaks deployment access
A deployment rule allowing only Engineering or SRE fails when HR renames Engineering to Product Development. Referencing durable roles from identity and HR systems preserves the intended access. section 10.1.3
Promotion breaks legal-document access
A rule granting legal-draft access to Associate Counsel removes Dan’s access after promotion to Senior Counsel. Basing access on legal-team membership keeps the decision aligned with his responsibilities. section 10.1.5
Prefer stable policy inputs over volatile attributes:
- Use roles instead of explicit department names. section 10.1.3
- Use project entities instead of project codes. section 10.1.3
- Use team membership instead of exact job titles. section 10.1.5
permit(
principal,
action == Action::"deploy",
resource is DeploymentTool
)
when { ["Engineering", "SRE"].contains(principal.department) };
Compare a department-based deployment rule with a role-based rule to see how changing organizational names affects authorization. section 10.1.3
