A very common requirement is to prevent certain users from seeing certain columns in a Google Sheet. Columns can be hidden but, A. This hides for all users and B. More importantly, any user can unhide them.
For example, from a technical perspective, we want to collaborate on estimates for a project plan. Different area owners will need to fill in their tasks along with estimated hours.
However, other users need to know what these estimates mean from a budgetary perspective. So, they would have a column that contained the labor rates and their derived budgetary estimates. However, they would not want, for example, developers, to see this information.
Ideally, the columns could not only be "protected" from edits but, from view as well.