> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/guardrails/llms.txt.
> For full documentation content, see https://docs.nvidia.com/nemo/guardrails/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/guardrails/_mcp/server.

# nemoguardrails.library.ai_defense.actions

Prompt/Response protection using Cisco AI Defense.

## Module Contents

### Functions

| Name                                                                                                  | Description                       |
| ----------------------------------------------------------------------------------------------------- | --------------------------------- |
| [`ai_defense_inspect`](#nemoguardrails-library-ai_defense-actions-ai_defense_inspect)                 | -                                 |
| [`is_ai_defense_text_blocked`](#nemoguardrails-library-ai_defense-actions-is_ai_defense_text_blocked) | Mapping for inspect API response. |

### Data

[`DEFAULT_TIMEOUT`](#nemoguardrails-library-ai_defense-actions-DEFAULT_TIMEOUT)

[`log`](#nemoguardrails-library-ai_defense-actions-log)

### API

```python
nemoguardrails.library.ai_defense.actions.ai_defense_inspect(
    config: nemoguardrails.RailsConfig,
    user_prompt: typing.Optional[str] = None,
    bot_response: typing.Optional[str] = None,
    kwargs = {}
)
```

async

```python
nemoguardrails.library.ai_defense.actions.is_ai_defense_text_blocked(
    result: typing.Dict[str, typing.Any]
) -> bool
```

Mapping for inspect API response.
Expects result to be a dict with:

* "is\_blocked": a boolean indicating if the prompt or response sent to AI Defense should be blocked.

**Returns:** `bool`

True if the text should be blocked, False otherwise.

```python
nemoguardrails.library.ai_defense.actions.DEFAULT_TIMEOUT = 30.0
```

```python
nemoguardrails.library.ai_defense.actions.log = logging.getLogger(__name__)
```