> ## Documentation Index
> Fetch the complete documentation index at: https://docs.adrian.secureagentics.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Adrian is a real-time security monitoring and control engine for AI agents that analyses agent activity logs (tool calls, actions, outputs) and reasoning traces to detect malicious, misaligned, or out-of-remit behaviour and optionally intervene in-flight.

AI agents are moving from chat to autonomous action across real systems. Most people building with them have minimal visibility into what their agents are doing after they have been deployed, and even less control over what they are about to do.

Adrian addresses this directly:

* **Oversight.** What an agent has done, why, and what it is about to do next.
* **Detection.** Malicious, misaligned, or out-of-remit actions, classified by severity.
* **Control.** Pause or block specific actions, with optional human-in-the-loop approval.

Install the Python SDK with just 2 lines of code, self-hosted or hosted backend options.

## Why Adrian is different

Most agent monitoring stops at activity logs: tool calls, outputs, side effects. Adrian also analyses the agent's reasoning traces and thought process. Lab research by OpenAI and DeepMind found that combining behaviour and reasoning analysis boosts detection accuracy by around 35%, and Adrian is the first tool to put that into a deployable security control. You understand not just what decisions an agent made, but why, and what it is planning to do next.

Similarly, most tools in this space are machine learning classifiers trained to spot patterns in their training data. Adrian takes a different approach: it uses world models that understand risk through reasoning. It correlates behaviours across a session, holds a working understanding of what the agent is meant to be doing, and assesses each new action against that. The thought process is closer to a human reviewer's than to pattern matching against examples it has seen before.

## When to use Adrian

If your agent has write access to any system, takes actions on external services, or operates with any meaningful autonomy, you need runtime monitoring. If you are shipping a tool-less chatbot, you do not need this yet. If you are unsure, start in Audit mode (notify-only, no intervention) and let the events tell you.

## Quick look

```python theme={null}
import adrian
adrian.init(api_key="adr_live_...", ws_url="wss://adrian.secureagentics.ai/ws")

# Your LangChain / LangGraph agent runs unchanged - every call is captured.
```

The example points `ws_url` at Adrian Cloud. The SDK's default is `ws://localhost:8080/ws` (a self-hosted backend), so set `ws_url=` or `ADRIAN_WS_URL` to `wss://adrian.secureagentics.ai/ws` for the hosted service.

<CardGroup cols={1}>
  <Card title="Get started" icon="rocket" href="/quickstart">
    Wrap a LangChain agent with two lines of code and see your first detection.
  </Card>
</CardGroup>
