Skip to content

Offline Mode

Raven splits cleanly into two halves: the local pentest workflow, which runs entirely on your machine, and AI analysis, which proxies through your Chamber Door account. The local half works with no internet connection. The AI half needs one.

There's no offline mode to toggle and no license heartbeat to keep alive — the server just runs. When it can't reach Chamber Door, local features keep working and AI calls return a clear error.

What works offline

Capability Offline Needs connection
Web dashboard + REPL
Engagement / hosts / scope / findings / notes
Running modules (scans, enumeration, checks)
Importing scan data (Nessus, etc.)
Report building (templates, export)
AI advisor, AI chat, AI report narratives ✓ (Chamber Door)

The only thing that requires a connection is AI. Everything you do to gather and organize an engagement is local; only asking Claude about it leaves the machine — and even then, only anonymized snippets do (see below).

Why AI needs a connection

AI calls route through Chamber Door, which renders the pentest methodology server-side, calls Anthropic, and meters the cost against your plan's budget. That round-trip is what the connection is for. There is no on-box model and no cached/offline AI path.

Practically, that means:

  • On an air-gapped or client-isolated network, run the full local workflow — modules, imports, findings, notes, reports. No AI.
  • When the same machine (or a copy of the engagement) is back on a connected network and paired, the AI advisor and chat work against the data you collected.

Anonymized before it leaves

Even when connected, raw engagement data never goes to Chamber Door. Hosts, domains, emails, and usernames are replaced with placeholders on your machine before anything is sent, and responses are mapped back to your real data locally. See AI Analysis.

Working on a disconnected network

A typical disconnected engagement:

  1. Before you disconnect (optional but tidy): pair the machine while you still have a connection, so AI is ready the moment you're back online — raven-server auth login.
  2. On the isolated network: create the engagement, define scope, run modules, import scans, capture findings and notes. All local, all persisted to your pentests/ directory.
  3. Back on a connected network: open the engagement and use AI Analysis / chat as normal. The advisor reasons over everything you collected offline.

Your engagement data is just files under pentests/ — back it up, copy it between machines, or restore it like any working directory. Pairing state lives separately in ~/.raven/auth.json.

When the account is unreachable or suspended

If Chamber Door can't be reached, or the account is suspended/lapsed:

  • The server keeps running and all local features keep working.
  • AI calls return an error in the chat (a connectivity failure, or 402 BUDGET_EXHAUSTED — see Troubleshooting).

Nothing about your local engagement work depends on the AI half being available.