The Complex Organizations ACL Design Pattern addresses enterprise scenarios where data visibility requirements cannot be met through simple role or group-based access controls alone. This pattern combines multiple ACL types in a strategic hierarchy, using role-based ACLs for broad permissions, group-based ACLs for departmental boundaries, and script-based ACLs for dynamic conditions based on business logic.

This pattern solves the challenge of implementing sophisticated data governance in organizations with complex reporting structures, geographic distribution, regulatory compliance requirements, or matrix management models. Rather than creating dozens of granular roles, this approach uses a layered security model where each ACL type handles specific aspects of the access decision.

The pattern works by establishing a clear hierarchy where role-based ACLs provide the foundation, group membership determines departmental or regional access, and script-based ACLs evaluate dynamic conditions like record ownership, approval chains, or business relationships. Before-query business rules complement this by pre-filtering data at the database level for performance optimization.