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

# Managed vs self-hosted

> Two ways to run your bot's chat - served by pro-bot.dev or by your own probot-bot runtime - and how your LLM key is handled in each.

Every bot has a **deployment mode** that decides where its chat runtime lives. The dashboard, knowledge base, conversations, and leads always live on the managed platform; the only thing that moves is where the chat itself runs and where your LLM key lives.

## At a glance

|                             | **Managed (pro-bot.dev)**         | **Self-hosted bot**                               |
| --------------------------- | --------------------------------- | ------------------------------------------------- |
| Where the chat runs         | pro-bot.dev                       | Your `probot-bot` runtime                         |
| Public chat URL             | `pro-bot.dev/u/<username>/chat`   | Your own domain                                   |
| Where your LLM key lives    | Envelope-encrypted on pro-bot.dev | Your runtime's env                                |
| Dashboard, knowledge, leads | Managed platform                  | Managed platform                                  |
| Cost                        | Free                              | Free (you pay only your own infra + LLM provider) |
| Setup                       | None - sign up and build          | Mint a token + deploy `probot-bot`                |

## How your LLM key is handled

In **managed** mode your LLM API key is envelope-encrypted at rest: a per-bot Data Encryption Key (AES-256-GCM) wraps the key itself, and a Key Encryption Key (KEK) held outside the database wraps the DEK. On each chat request the server unwraps the DEK, decrypts the key in memory, calls the provider, and discards the plaintext - a database-only leak reveals nothing usable. See [BYO-key flow](/concepts/byo-key) for the full detail.

In **self-hosted** mode the chat runs in your own [`probot-bot`](/self-hosted-bot/index) runtime, so your LLM key lives in *your* runtime's environment and never touches pro-bot.dev at all.

## When to self-host the bot

Choose a self-hosted bot when you want the chat served from your own domain, want zero trust in any operator for the chat path, or want a tiny, auditable runtime you control. Everything you need is in [Self-hosting your bot](/self-hosted-bot/index).

## When managed is enough

For most job seekers the managed mode is the fastest path: there's nothing to deploy, the key stays envelope-encrypted on pro-bot.dev, and you can [export](/guides/account-deletion#export-your-data) or [delete](/guides/account-deletion) everything at any time.
