# Blacklisting A Component

Component blacklisting exists as an emergency feature to ensure Nodes can remove faulty components.

## Overview

* Malicious components can be blacklisted on a Router contract.&#x20;
* This is to enable Node Owners to `force` remove a component that is not functioning correctly and blocking normal Node operations.
* If a component is not blacklisted use of the `force` bool on `node.removeComponent()` will revert.

The blacklist is publicly viewable on each Router contract:

```solidity
mapping(address => bool) public isBlacklisted;
```

Only the Registry Owner can blacklist a component:

```solidity
function setBlacklistStatus(address component, bool status) external onlyRegistryOwner {
        if (component == address(0)) revert ErrorsLib.ZeroAddress();
        isBlacklisted[component] = status;
        emit EventsLib.ComponentBlacklisted(component, status);
    }
```

## Interactions with Router Whitelist

The whitelist is not affected by the blacklist:

* The whitelist exists to enable governance to safely add valid components to each router contract. &#x20;
* The blacklist exists to enable governance to safely allow node owner to remove faulty or malicious components.
* Add a component to the blacklist does not remove it from the whitelist. This step must be separately to protect future node owners from adding the malicious component.
