In shipping carrier class, there's a method to validate additional rules proccessAdditionalValidation, searching for that method in the code base will reveal processAdditionalValidation (less than 1 'c'). Then continue searching with that will lead collectCarrierRates
So in my opinion, there will be 2 approaches for this:
Extend the current Carrier, add ...
I haven't done something similar but as I checked the code right now, you can create an after Plugin for this method \Magento\Shipping\Model\CarrierFactory::createIfActive or also this method \Magento\Shipping\Model\Shipping::isShippingCarrierAvailable, there you can add your validation and return true or false for the shipping method you allow or not.
The best way to get current website id of selected website in admin panel
public function __construct(
$this->request = $request;