> For the complete documentation index, see [llms.txt](https://nashpoint.gitbook.io/nashpoint/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nashpoint.gitbook.io/nashpoint/blacklisting-a-component.md).

# 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.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://nashpoint.gitbook.io/nashpoint/blacklisting-a-component.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
