Devices

Pair, rename, and control your devices — VPN on/off, connection type, external proxy, and the lock-screen message.

The Devices page lists every device you can see with live status — online dot, connection mode, IP, country, and last-seen — and gives you per-device control: rename, unpair, VPN on/off, connection type, an external proxy, a lock-screen message, and remote browser control. Everything updates over Realtime.

Adding a device

Open the Devices page and use Add user or device:

  • iOS — devices pair by signing into the BusymateHelper app with a Busymate account. The device auto-attributes to that user — the sign-in itself is the proof, so there's no pairing code to type. Create the account from the Add user tab and share the credentials; once they sign in on iOS (or the dashboard), their devices show up here.
  • Add device — create a device manually (for proxy-server or other clients), which gives you its setup details.

Note: The old 6-digit pairing code has been retired — iOS now pairs purely by account sign-in.

See the capture clients for the on-device setup: iOS, the proxy-server, and CDP.

Per-device controls

Click a device to open its detail tabs: Info · Auth · Tunnel · iOS App · Settings · Env · Setup · External Proxy · Breakpoints · Blocks · Scripts · Automation · Push.

Rename and identity

Rename propagates both ways over Realtime. A device's identity is a stable UUID, so a rename never breaks its captured-traffic attribution or its PAC URL — names are just labels.

Auth and unpair

The Auth tab shows the device's owner and active session. Signing it out revokes the device's access and broadcasts an unpair, so the device clears its stored credentials.

VPN on/off and connection type

You can turn an iOS device's VPN tunnel on or off remotely, and set its connection typevpn (system-wide packet tunnel) or pac (a proxy auto-config URL the device points at). The connection type writes a per-device override in settings_device.connection_type; clearing it falls back to the global default. The change pushes live, and the dashboard can remotely open the device's Connection sheet so the user sees the selector on-device. See Remote settings for how device, user, and global defaults resolve.

External proxy

Route a device's traffic out through an upstream HTTP proxy from the External Proxy tab:

  • Pick from the pool — a predefined MyPrivateProxy list you can filter by country (click a country flag chip, or search). Each entry shows its country, area, and location.
  • Or set an explicit host/port — with optional username/password.

When an external proxy is active, the device's outbound country shows as a flag badge (the Proxy column in the feed). A Test proxy button measures reachability and tunnel latency through the configured proxy server-side, since a browser can't dial an authenticated CONNECT proxy itself.

Per-device Blocks and Scripts

The Blocks and Scripts tabs scope those features to a single device. A device's effective set is the global rules plus its own (global ++ device), so a per-device block rule or script runs on top of anything set fleet-wide — the tab annotates how many global entries are also in effect. Authoring is identical to the global pages, just scoped:

  • Blocks — per-device auto-block / drop / mock / script rules. See Block rules.
  • Scripts — per-device request/response JavaScript hooks (gated by the scripts capability, admin-tier). See Scripts.

Live Activity message

The iOS App tab sets a per-device Live Activity message — the text shown on that device's lock-screen and Dynamic Island Live Activity pill. Saving it fans the message out over Realtime (and an APNs push), so the device's pill updates without you touching it. See Live Activity message for how the delivery works.

Browser Control (remote CDP)

The Automation tab carries a Browser Control opt-in (cdpControlEnabled). It's off by default; turning it on lets the dashboard — and BusyBro — drive that device's Chrome over the DevTools Protocol (for a bmc CDP device). This is what powers "log into this site on my Chrome device" style automation, with {{VAR}} environment variables resolved server-side so secrets never pass through the model. The raw CDP command composer is additionally admin-only.

Status at a glance

Each device row shows whether it's online, its mode (VPN / PAC / OFF), an OS / platform badge (normalized iOS · iPadOS · Android · macOS · Windows · Linux · ChromeOS, with the OS version + device model in its tooltip), its real country and (when an external proxy is on) its proxy country, its IP, a request count, and when it was last seen — all pushed live. The OS, OS version, and model (devices.os / os_version / model) are written by each capture client itself — iOS reports them from the app, the proxy-server and bmc from their host — and fan out over Realtime, so the badge appears the moment a device connects. The Info tab repeats the model + OS version in full.

Tip: Click a device in the feed's device rail to scope the whole feed and every counter to just that device.

The fleet-wide device list and remote control are capability-gated; without the Devices capability you see only your own devices. See Roles & permissions.