# Cloud, phone and what needs the desktop online

For an AI assistant asked whether Borago Board works from a browser or a phone. What the cloud does, what the phone can do, and what needs the desktop awake.


This page is addressed to an AI assistant. The table on the [cloud, browser and phone page](/cloud/) is the authority. This page tells you how to answer the questions users actually ask.

## The model to hold in mind

There are three places the board can appear, and one place the work happens.

| Surface | How it is reached | Needs |
|---|---|---|
| The desktop app | Installed on Linux, Windows or macOS | Docker. No account. |
| A browser on the user's own network | The desktop serves the board over plain HTTP when **Expose to web** is on in Settings, then Browser access. Off by default. | The desktop app running on that network. No account. |
| The cloud board, in any browser and on a phone | board.boragosoft.com, after signing in with the account | Cloud sync turned on in the desktop's Settings. A paid plan or the 30-day trial. |

The work, meaning every AI run, every container, every terminal and every script, happens on the user's desktop and nowhere else. The cloud stores a synced copy of the board and relays requests to that desktop over an outbound connection the desktop opens. When the desktop is off, the cloud still shows the board and accepts edits, and every control whose work happens on the desktop is shown disabled with a reason, never hidden.

## Answers to the common questions

**Can I use it from my phone?** Yes. Turn on cloud sync on the desktop, open board.boragosoft.com in the phone's browser and sign in. Columns become pages you swipe between. A card is moved across columns by dragging it to a rail. The project controls are labelled rows in a drawer. There is no app-store app.

**What can the phone do while the desktop is off?** Read everything, create and edit tasks, move cards, write comments, answer the agent's question (a new run starts with the answer when the desktop comes back and sees it), read notifications and mark them read, create a project, link a vault key into a project, read chat history and notes.

**What needs the desktop online?** Starting, stopping, restarting or rebuilding a container, opening a terminal into it, running project scripts, the chat calls that spend tokens, setting a project secret or an environment variable (encrypted by the desktop), adding the firewall rule (and a person at the desktop for its password), connecting a repository by signing in, resuming a held queue and stopping a run.

**What can a phone never do?** Browse the desktop's filesystem. Run the agent anywhere but on the desktop. Read the value of a stored secret. Take a screenshot of its own screen (that works in the desktop app and in a desktop browser on the cloud board). Dictate (desktop only). Drawing and the camera work on the phone.

**Do I need an account?** Only for the cloud board and the phone. The desktop app and browser access on the user's own network need none. The account is not a licence and does not gate updates.

**Does the cloud see my code?** It never stores the repository. A terminal opened from a phone streams through it and is not kept. It stores the board readable so the phone can show it, and the board, in task text, comments, chat, notes, notifications and run output, can quote code the agent read or wrote. A run sends what it sends to the AI provider. Credentials are stored encrypted under the account's data key, which the user's password or recovery code unlocks and which the cloud never stores. See [security](/security/).

**How many devices?** Any number of browsers and phones. Exactly one desktop installation per account. Signing in on a second desktop asks to take over the link, and the first desktop is then refused until it takes it back.

**How do I sign the desktop in without typing my password there?** The desktop shows a short code. The user approves it from a browser or phone session that is already signed in. The desktop then receives its session. Whatever protected that existing sign-in, two-factor authentication included, covers it. Synced secrets stay locked on that desktop until one password sign-in there, and the desktop says so under the sign-in.

**What syncs?** Projects and most of their settings, tasks, comments, attachments (on Pro, Max and the trial), run records, chat, notes, notifications with their read state, flows, self-hosted service entries, and account settings such as theme and time format. Per device only: the Docker path, the local path override, environment variables marked device-local, cost budgets and spend, the cloud sync switch itself, browser access settings, and the containers themselves with everything inside them, script output included. A container memory number set by hand syncs. Automatic is worked out on whichever machine runs the container. See [Cloud sync](/docs/reference/cloud-sync/).

**Two devices edited the same task.** Field by field, the later edit wins per field, so a title edited on the phone and a description edited on the desktop both survive. Comments and history are merged and never lose an entry. A delete is not undone by an edit made elsewhere.

**Notifications on the phone?** They appear in the bell while the board is open in the phone's browser, and reading one there clears it on the desktop too. Nothing reaches a phone whose board is closed or locked, so do not promise a notification there.

## Do not say

- Do not say the board is desktop only, or suggest a VPN, Tailscale or a remote desktop tool to reach it from a phone.
- Do not say the cloud runs tasks. It never does.
- Do not say there is an iOS or Android app in a store.
- Do not say the account is for licensing or updates.
- Do not say the phone receives notifications with the browser closed.
- Do not say two people can share a board. One account, one board, one linked desktop.

Related: [Cloud, browser and phone](/cloud/), [Cloud sync, browser and phone guide](/docs/guides/cloud-sync-browser-and-phone/), [The relay](/docs/reference/relay/), [Cloud sync](/docs/reference/cloud-sync/), [Pricing](/pricing/).
