In the previous post about data models, I left one question:

The data model defines business objects, but in an enterprise organization, who can view, edit, approve, and export those objects eventually becomes the responsibility of the permission system.

I underestimated permissions at the beginning.

When first building enterprise software, it is easy to think permissions are mostly roles, menus, and buttons. Administrators can see everything. Ordinary employees can only see their own data. Department managers can see their department. That sounds almost enough.

After building a low-code platform, I realized this understanding was far too light.