Initially, our sharing model was straightforward and easy to explain. As more roles, teams, and exceptions were added, it became difficult to predict who can see what. Even admins struggle to explain access behavior now. I want to understand why sharing complexity grows so fast.
Sharing rules accumulate silently. Each exception adds another layer, and Salesforce evaluates them together at runtime. Manual shares, implicit sharing, and role hierarchy effects make outcomes non-obvious.
Mature orgs periodically audit and simplify sharing models instead of layering fixes indefinitely.
Takeaway: Sharing models need refactoring just like code.