private notes: how to restrict visibility to a certain group?
You might want to try this extension: https://github.com/AlainBenbassat/eu.businessandcode.notepermissions

It creates a permission in your CMS for each note type you create in CiviCRM.
You can then selectively assign these permissions to users who have to see the corresponding notes.

The extension has not been extensively tested, so I'm looking forward to user feedback.