If you give people access to a base as a collaborator, they can always SEE all of your data, regardless of their permission level to EDIT that data.
However, if you just want these people to have read-only access to your data, you can simply create share links for them for specific views.
Share links are always read-only.
So you can restrict them to just seeing certain views at a time, and those views can be filtered however you want, to hide the records that you don’t want them to see.
You can also revoke the share link, delete the view altogether, or just change the filtering of the view.
Anything more granular than that, and you’d need to use an external app like Stacker.