> ## Documentation Index
> Fetch the complete documentation index at: https://vijil-mintlify-a91c9b66.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install Dome and choose the optional extras your deployment needs.

<Tip>
  **TL;DR:** `pip install vijil-dome` gives you the core library. Add extras for the pieces you use: `local` for on-device Detectors, `llm`/`pii` for API-based detection, `trust` and `trust-adapters` for the [Trust Runtime](/concepts/defense/trust-runtime), and `mcp`/`strands` for [framework integrations](/developer-guide/protect/integrations/adk). PyTorch ships with CUDA by default, so reinstall the CPU wheel if you do not have a GPU.
</Tip>

Dome is a single pip-installable library. The base package is deliberately lean; heavy dependencies (PyTorch, Presidio, OpenTelemetry, framework SDKs) are gated behind extras so you install only what your deployment needs.

## Base Installation

```bash theme={null}
pip install vijil-dome
```

The base install includes the Dome engine, configuration loading, and the API-only Detectors that need no heavy dependencies. Add one or more extras with the standard bracket syntax:

```bash theme={null}
pip install "vijil-dome[local,trust]"
```

## Content Guard Extras

These extras add [Detectors](/concepts/defense/detector) to your [Guards](/concepts/defense/guard).

| Extra        | Adds                                                                                                    | Use It For                                                                                                                   |
| ------------ | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `local`      | `torch`, `transformers`, `sentence-transformers`                                                        | On-device model inference. Required for local Detectors such as `prompt-injection-deberta-v3-base` and `moderation-deberta`. |
| `llm`        | `litellm`                                                                                               | LLM-backed Detectors (`security-llm`, `generic-llm`) and hosted moderation APIs.                                             |
| `pii`        | `presidio_analyzer`, `presidio_anonymizer`                                                              | PII detection and masking (`privacy-presidio`).                                                                              |
| `embeddings` | `annoy`, `faiss-cpu`                                                                                    | Similarity-search Detectors such as `security-embeddings`.                                                                   |
| `google`     | `google-api-python-client`                                                                              | The Perspective API moderation Detector.                                                                                     |
| `full`       | `torch`, `transformers`, `sentence-transformers`, `litellm`, `presidio_analyzer`, `presidio_anonymizer` | Every local, LLM, and PII Detector in one install.                                                                           |

<Note>
  `full` is the legacy "everything for content guards" bundle (`local` + `llm` + `pii`). It does **not** include the Trust Runtime, Controls, or framework extras. Install those separately.
</Note>

## Trust Runtime Extras

These extras enable the [Trust Runtime](/concepts/defense/trust-runtime): identity, tool-permission enforcement, signed manifests, and attestation.

| Extra            | Adds                                                                 | Use It For                                                                                                                                                               |
| ---------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `trust`          | `cryptography`, `httpx`                                              | The Trust Runtime core: [Agent](/owner-guide/register-agents/what-is-an-agent) identity, MAC enforcement, signed-manifest verification, and Console constraint fetching. |
| `trust-adapters` | `cryptography`, `httpx`, `langgraph`, `google-adk`, `strands-agents` | Framework adapters that let `secure_agent()` auto-wrap LangGraph, Google ADK, and Strands Agents.                                                                        |
| `trust-cli`      | `cryptography`, `httpx`, `typer`                                     | The `vijil manifest sign` / `vijil manifest verify` command line tool.                                                                                                   |

```bash theme={null}
# Trust Runtime with framework adapters
pip install "vijil-dome[trust,trust-adapters]"
```

## Framework Integration Extras

For content-guard integrations that do not need the full Trust Runtime.

| Extra     | Adds             | Use It For                                                                             |
| --------- | ---------------- | -------------------------------------------------------------------------------------- |
| `strands` | `strands-agents` | [Strands](/developer-guide/protect/integrations/strands) Agent hooks.                  |
| `mcp`     | `mcp`, `fastmcp` | Wrapping and protecting [MCP](/developer-guide/protect/integrations/mcp) tool servers. |

<Note>
  Google ADK and LangGraph adapters ship with `trust-adapters` (above). The LangChain integration needs no extra: it builds on `langchain-core`, which you already have when you use LangChain.
</Note>

## Controls Engine Extras

| Extra           | Adds                                               | Use It For                                                       |
| --------------- | -------------------------------------------------- | ---------------------------------------------------------------- |
| `controls`      | `pyyaml`                                           | The Controls engine with YAML-defined policies.                  |
| `controls-full` | `pyyaml`, `jsonschema`, `cel-python`, `google-re2` | Controls with CEL policy expressions and JSON-schema validation. |

## Infrastructure Extras

| Extra           | Adds                                           | Use It For                                                                                                  |
| --------------- | ---------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| `opentelemetry` | OpenTelemetry API, SDK, and OTLP/GCP exporters | OTel-compatible tracing, metrics, and logging. See [Observability](/developer-guide/protect/observability). |
| `s3`            | `boto3`                                        | Loading Guardrail configuration and policy sections from S3.                                                |

## CPU-Only PyTorch

By default, PyTorch installs with CUDA support (roughly 2 to 3 GB). For CPU-only environments, reinstall the CPU wheel after installing Dome:

<Steps>
  <Step title="Install Dome with local models">
    ```bash theme={null}
    pip install "vijil-dome[local]"
    ```
  </Step>

  <Step title="Reinstall the CPU-only PyTorch wheel">
    ```bash theme={null}
    pip install --force-reinstall torch --index-url https://download.pytorch.org/whl/cpu
    ```
  </Step>
</Steps>

All Detectors remain fully functional on CPU. Inference runs 2 to 5 times slower than on GPU, which is acceptable for most guardrailing workloads.

## Common Combinations

| Goal                               | Command                                                             |
| ---------------------------------- | ------------------------------------------------------------------- |
| Content guards with local models   | `pip install "vijil-dome[local]"`                                   |
| Content guards, API Detectors only | `pip install "vijil-dome[llm,pii]"`                                 |
| Full Trust Runtime with adapters   | `pip install "vijil-dome[trust,trust-adapters]"`                    |
| Everything for production          | `pip install "vijil-dome[full,trust,trust-adapters,opentelemetry]"` |

## Next Steps

<CardGroup cols={2}>
  <Card title="Protection Overview" icon="shield" href="/developer-guide/protect/overview">
    How Dome guards inputs and outputs
  </Card>

  <Card title="Trust Runtime" icon="fingerprint" href="/concepts/defense/trust-runtime">
    Identity, tool permissions, and attestation
  </Card>

  <Card title="Configure Guardrails" icon="sliders-horizontal" href="/developer-guide/protect/configuring-guardrails">
    Guard and Detector configuration options
  </Card>

  <Card title="Framework Integrations" icon="plug" href="/developer-guide/protect/integrations/adk">
    Wire Dome into your agent framework
  </Card>
</CardGroup>
