Row-level access, enforced at the data layer
A project is readable only by the person who created it or someone named on its member list. It is editable only by the creator or someone on its editor list, and deletable only by the creator. These rules live with the data, not in the interface, so they hold even if a request bypasses the screen that should have stopped it.