Ruimte

Privacy

Ruimte sends two things. When it crashes or runs into an error, it sends a report to Observatory, my own error tracker on a server at TransIP in the Netherlands, so I can fix what broke. And once a day, the machine sends a handful of totals about how you used Ruimte to Observatory as well. This page lists what each one holds and what Ruimte keeps out of both.

What a report holds

Before a report leaves your computer, Ruimte strips paths, names, addresses and anything that looks like a secret from every line of text in it. The same error goes out at most once a day.

What Ruimte never collects

Ruimte does not collect your prompts and chats, the contents of your files, terminal output, the text of database queries, passwords, tokens and keys, the names and folders of your projects, your home folder, your username, the name of your computer, or IP addresses. Observatory does not store the IP address a report arrives from.

There are no breadcrumbs of what you clicked, no session recordings and no performance tracing. Of the logs only the warnings of the machine go along, scrubbed the same way as a report.

Crash reports are always on

Crash reports are on in every release of the desktop app, of the machine it runs your terminals and agents on, of the web app at station.ruimte.app, of the model comparison at bench.ruimte.app and of the iPhone app. There is no switch. A build from the source code on your own computer sends nothing.

Two things go with the crash reports, and are on and off with them:

Usage statistics

The machine that runs your terminals and agents counts how often you used a few features each day. Once a day is over, it sends that day's totals, once. They tell me which parts of Ruimte people actually use, which is where my time should go. A day holds:

The desktop app keeps a day of its own and sends it the same way, once the day is over. It counts what the machine never sees: which of the app's commands you gave and whether you used the menu, a keyboard shortcut or the command palette, which panels you opened, how often you opened Settings and which sections you looked at, how often the app started and opened a window, and whether it installed an update. Its day has the same date, version, operating system and processor type as the machine's, and says whether the app is signed in. A command that exists once per view, launch or agent counts under one name for all of them, so the name of your view or launch never goes out.

The iPhone app keeps a day of its own too, and sends it the same way. It counts which of its main screens you opened (such as Now, Projects, a chat, a canvas, Voice or Settings), and how many messages you sent, approvals and questions you answered, chats you started and attachments you added from the phone. Its day has the same date and version as the machine's. It also says whether it came from an iPhone or an iPad, and whether the app is signed in.

A day carries no identifier. There is no account, no install id and no key of the machine in it, and no names, paths, prompts, file contents or anything you typed. A model outside Ruimte's list is counted as "other", so its name is never sent. Observatory does not store the address a day comes from. Versions before 0.22 send their days through Ruimte's own server on Cloudflare first, which does not log the address and does not pass it on.

Usage statistics are on by default. To turn them off, open Settings in the desktop app on the computer that runs the machine, go to Account, pick the machine and switch off Usage statistics. Ruimte then deletes the days it has not sent yet. The desktop app follows the same switch, so it stops counting and deletes its own unsent days too. A desktop app that only connects to machines elsewhere has no machine of its own and sends nothing. The iPhone app counts only while every machine on your account it has heard from has the switch on. Once one of them says off, it stops and deletes its unsent days. Before it has heard from any machine it counts nothing. A build from the source code on your own computer sends nothing.

Questions go to the issues on GitHub.