How can I hide contact tabs depending on user role?
We often find that for most Drupal users who don't really 'need' access to civicrm, it is less painful for them to 'access' the data they should be able to get to via a Drupal View (which can be set with Role-based permissions). If you are not familiar with Drupal Views for Civi Contacts or CiviMemberships you may find something in our 'treasure trove' aka Views Library