Objectives & harnesses
The measurement definitions a campaign is judged against — including held-out objectives the loop is not permitted to see. If these leak to the proposer, the science stops being science.
An autonomous lab is a system that runs code, spends money and reaches conclusions without a person watching each step. That makes its security properties part of its scientific validity, not a separate department. This page describes what we protect, what controls are always on, and how to report a problem to us.
Four categories, in the order we think about them.
The measurement definitions a campaign is judged against — including held-out objectives the loop is not permitted to see. If these leak to the proposer, the science stops being science.
Run logs, artefacts, scores and baselines. Valuable because they are the only complete account of what was tried, including everything that failed.
Keys to compute, storage and third-party services. These are the assets with the shortest path from a mistake to real-world impact.
Compute is the loop's fuel and its budget. Unauthorised consumption is both a security and an integrity problem.
Each control below is a system property rather than a policy. Where we cannot enforce something technically, we say so instead of describing an intention as a guarantee.
| Control | How it works | What it prevents |
|---|---|---|
| Isolated execution | Every trial runs in a fresh container with no shared writable state and no inherited credentials | Cross-trial contamination and one experiment reaching into another's files |
| Least privilege | Trials receive the narrowest role that can complete them; nothing long-lived is mounted into a run | Credential sprawl when thousands of runs execute in parallel |
| Budget ceilings | Compute, time and spend limits are attached before dispatch and enforced by the scheduler | A runaway campaign consuming capacity without anyone deciding to spend it |
| Egress control | Outbound network access from a trial is deny-by-default and explicit per workload | Exfiltration through an experiment that was never meant to reach the internet |
| Immutable records | Run records, scores and failure classifications are written append-only | Silent rewriting of results, including by our own tooling |
| Pinned dependencies | Code, data references and dependency digests are fixed per trial | Results that cannot be replayed because the environment moved underneath them |
| Human gate | Any action with an effect outside the environment requires explicit approval, logged with an identity | Automated systems acting on the world because it was technically possible |
| Audit trail | Who approved what, when, and against which evidence level | Unattributable decisions — the failure mode that makes every later question unanswerable |
The inner loop may run without a human between its steps. Nothing may cross the outer boundary without one. Keeping those two statements true at the same time is most of the security design.
We deliberately hold very little about people. Most of what we store is about experiments.
We do not publish invented vendor lists. The table below is the current structure of our stack; rows marked to complete are being finalised and will be named here before any partner data is processed in them.
| Function | What it touches | Location | Status |
|---|---|---|---|
| Cloud & compute | Experiment workloads, artefacts, run records | EU | to complete |
| Object storage | Run artefacts and frozen baselines | EU | to complete |
| Contact and hiring correspondence | EU / US | to complete | |
| Font delivery | Visitor IP and user agent, via Google Fonts CDN | Global edge | in use — see Cookie Policy |
Where a sub-processor operates outside the EU/EEA, transfers rely on an adequacy decision or the European Commission's Standard Contractual Clauses with a documented transfer assessment.
If you believe you have found a vulnerability in anything we operate, we want to hear about it — and we would rather hear it early than read about it later.
Encryption available on request. If you need a channel other than email, say so in your first message and we will arrange one.
Please include what you affected, the steps to reproduce it, and any evidence you can share safely. Do not test against data that is not yours.
Five steps, in order, each with a named owner. We would rather publish a boring process now than improvise one later.
Alerting on anomalous spend, failed authorisation, unexpected egress and integrity-check failures on run records.
Revoke credentials, halt affected campaigns, isolate the environment. Containment does not wait for a full understanding.
Establish what data or capability was involved, who is affected, and whether any result produced during the window can still be trusted.
Affected parties and, where the law requires it, the competent supervisory authority — within 72 hours of confirming a personal-data breach.
Step five is learn in public: a dated note describing what happened and what changed, written once the affected parties have been informed. An incident that produces no visible change is an incident we have mishandled.
Security pages are the easiest place on a website to overstate. These are the limits of what the page above means.
Tell us before you tell anyone else, and give us the chance to fix it properly.