Your robot data, handled plainly.
What leaves your robot, who can read it, and how keys, sign-in and your data are protected. Everything on this page describes what the code does today.
What leaves the robot
You decide per machine under Settings, Robots, or per run with a flag. History has three levels: off, incident (the minute around each finding) and full (also a trend and a 10 Hz history of every channel that moved). Machine state has off, code (commit and commit subjects, never source code or diffs) and full (also parameter, launch and URDF files).
The recording itself (bag, MCAP, CSV) is never uploaded unless you switch that on for a machine. It is off by default.
When a finding is explained with a language model using your own key on the robot, the request goes from your machine to the model provider directly, and we see neither the question nor the answer.
Who can read it
TrialONE is available by request; every team is approved by hand before it can use the workspace or run the command line tool. A workspace sees only its own runs, issues and settings: every request of the website is filtered by the workspace, and the tables for runs and keys carry row level security policies in the database as well.
Inside a team, owners and admins manage members, robots and connections; members work with issues and runs. Deleting a run is for owners and admins.
Keys and sign-in
A robot pushes with a CLI key; a coding agent reads findings with a separate agent key. Both are shown once and stored only as a SHA-256 hash, so whoever reads the database cannot sign in with what they find. Each key is revoked on its own, and a revoked key is refused on its next request.
From version 0.4.16, trialone login signs a terminal in through the browser with a short code that you type yourself: the page never takes the code from a link, attempts are rate limited, and each approval produces exactly one key. The tool refuses to send a key over plain http to anything but this machine.
You sign in to the website with email and password, Google or GitHub. “Sign out everywhere” under Settings, Profile ends every browser session at once.
In transit
The website and its API are served over HTTPS only, with HTTP Strict Transport Security, a content security policy that allows scripts only from this site and a short list of named services, and a policy that forbids embedding these pages elsewhere.
Retention, export and deletion
Uploaded history is deleted after the retention period of your workspace, 90 days unless you set another, by a daily cleanup. Runs stay until you delete them.
Under Settings, Profile, “Your data”, you download everything your workspace has with us as one file and delete your account; a single run is deleted from its own page together with its stored files.
Who processes data with us
| Vercel | Hosting of this website and its API |
|---|---|
| Supabase | Database, sign-in, and storage of uploaded history files |
| Resend | Sending email (sending region set to the EU) |
| IONOS | Our mailbox for hello@trialone.info |
| Stripe | Payments, when a paid plan is bought |
| Crisp | The chat window on this site, loaded only when you open it |
| Anthropic or OpenRouter | Explaining findings with a language model, when that runs on our side |
| Cal.com | Booking a call, where a booking link is shown |
What each one receives is listed in the privacy policy.
Reporting a vulnerability
Write to hello@trialone.infowith “Security” in the subject, and please give us time to fix a problem before you publish it. The same address is in security.txt.