Create a dialog, where user can see a table with all users and their access rights to the record, if the record is private or hidden. Or following message:
If record is public: "This record is public. All [N] registered users can see the record."
If record is open: "This record is open. All [N] registered users can see and modify the record."
The logic for collecting all users that have rights to the record (primary entity) is following:
Steps:
1. Add entity owner
2 Add owner group users if owner is a group
3. Add entity collaborators
4. Add entity collaborator group users, if any collaborator is a group
If entity is a family (following collected users can not have manage rights, except if they are Admins):
5. Add family members owners
6. Add family member owners group users, if family member owner is a group
7. Add family member collaborators
8. Add family member collaborator groups users, if any collaborator is a group