You can create a custom detailviewdefs file for the module like e.g. for Accounts it would be
/custom/modules/Account/metadata/detailviewdefs.php
and then add some custom code for hiding the TAB for a certain role
if (your condition) {
unset($viewdefs['Accounts']['DetailView']['panels']['lbl_account_information'])
//this is for account Information TAB you need to check what you want to remove.
}