What beafk can see
Your machines' names and addresses, who is in your workspace, and who opened what. Not your code, your chats or your agents' keys.
You are being asked to install something on a server, sign agents into it and
give it your projects' environment variables. That deserves a straight answer
about what reaches us.
What we hold
- Your account — who you are, from whoever you signed in with.
- Your workspace — who is in it and what role they have.
- A row per machine — the name you gave it, which agents are installed on
it, what version it runs, whether it was reachable when it last checked in,
and every address it answers on. The addresses are encrypted at rest,
under a key of their own, separate from the one that guards sessions; the rest
of the row is not, and none of it is a way in.
- Its fingerprint — the public name a machine calculates for itself, and the
thing that stops one machine belonging to two workspaces.
- Who opened what, and when — the access log,
including the address the request came from and what browser made it. Your
workspace can have a copy of that record sent to an observability account of
its own — telemetry.
- Which browsers hold a session — the same two, so you can recognise a
device on your browsers and throw it out.
- Your subscription — via a payment processor. We never hold your card.
- How this website is used — which screens, how long, what broke. A
filter drops tokens, cookies, query strings, environment values and file
contents before any of it leaves our servers, and screen recording is off on
the panel, which is the one screen your code is on. The
privacy page names every service that stores any of this.
What we do not hold
- Your code. It is on your machine. It never comes here.
- Your chats. Same. Your browser talks to your machine directly.
- Your agents' sign-ins. They live in each agent's own file on the machine —
see signing an agent in.
- Your environment variables. They are encrypted on the machine and
delivered there.
- Your Tailscale password. The login happens on Tailscale's site. We
never see it. The connect screen may show the login link so you can tap
it on your phone — that link is not a password. See
your first machine.
- Your machine's logs. In the store on the machine. We have no copy.
- A way in. We hold no credential that opens one of your machines.
Why the addresses and nothing else
An address is not a credential. The machine refuses anybody who does not hold
one, so encrypting the addresses gates nothing. What it does mean is that a
stray backup is not a map of somebody's machines. That is the only thing on the
row worth that treatment, so it is the only thing that gets it. A machine's
name, its agent list and its version are facts about a box you own, useless to
anybody who cannot reach it, and encrypting them would be a gesture rather than
a protection.
Why none of that is a way in
The thing we hand out is not a key to your machine. It is a certificate for a
key your browser made and cannot export. It is spent in a single handshake,
and the machine checks it without ever calling us. The whole handshake is
how your phone reaches it.
What that buys is the sentence this page exists for: whoever takes this
database gets a list of hostnames they still cannot log in to. There is no
long-lived secret here that opens anything, because there is nothing on our side
that a machine would accept.
What we could see if we wanted to
We could see that you opened a machine, and when. We could add a machine to your
workspace's list, or take one off. We could stop issuing you certificates.
We could not read your code, join a chat, or get a shell on your server
— not because of a policy, but because there is no key here that does it and no
path for the data to travel.
If you stop paying
The machine's door closes; the machine, and everything on it, stays yours. See
when a subscription lapses.