# Distribution — website + Windows / macOS / Linux

## Short answer

| Question | Answer |
|---|---|
| Just a Chrome extension from the Web Store? | **No** — not enough for the product |
| Download website for Win/Mac/Linux? | **Yes** — package = local server + extension folder |
| Chrome Web Store later? | Optional convenience for the **extension only**; users still run `bp start` |

## Architecture users download

```
┌─ User machine ─────────────────────────────────────┐
│  Claude / Cursor  ──stdio MCP──►  bp server (Node) │
│                                      │ WS localhost │
│  Chrome + BP extension  ◄────────────┘              │
└────────────────────────────────────────────────────┘
```

1. **Local server** (`bp`) — MCP tools, flow packs, privacy mode. **OS package.**
2. **Extension** — real Chrome control. **Load unpacked (alpha)** or CWS (later).

An extension-only Chrome listing cannot host the MCP server or bind localhost for agents.

## Build a release

```bash
pnpm build
bash scripts/package-release.sh
# → dist-release/browser-pilot-local-<version>.zip
# → dist-release/browser-pilot-local-latest.zip
# → dist-release/website/   (static download page)
```

Serve `dist-release/` on any static host (Vercel, Cloudflare Pages, nginx, R2).

- Download page: `website/index.html` (or `dist-release/website/`)
- Artifact: `browser-pilot-local-latest.zip`

## Per-OS install (from zip)

| OS | Install | Start |
|---|---|---|
| Windows | `.\install.ps1` | `.\bp.cmd start` |
| macOS | `./install.sh` | `./bp start` |
| Linux | `./install.sh` | `./bp start` |

Then Load unpacked → `extension-dist/`.

## Chrome Web Store (future)

Publish the MV3 extension for one-click install. Store listing must still say:

> Requires the Browser Pilot desktop runtime (`bp start`) on this computer.

Do not imply the store item alone enables agent control.

## Privacy on the download page

Copy must match `docs/privacy-architecture.md`: localhost bind, no screenshot egress in product mode, contribute off by default.
