Guide

What Should a Robotics Data Collection SLA Include?

What to write into the agreement once you have picked a custom robotics data collection provider.
By the Firsthand capture teamLast updated September 29, 2026

Short answer

A robotics data collection SLA should define the skill spec and scope, how validated hours and acceptance criteria are measured, QA and rework terms, consent and anonymization commitments, who owns the data and under what license, and delivery formats, schedule, and change-request terms. Writing each of these in the contract, not just discussing them, is what makes the agreement enforceable once capture starts.

Last reviewed:

What is a robotics data collection SLA?

A robotics data collection SLA (service level agreement, sometimes folded into a statement of work) is the contract that turns a vendor selection into an enforceable commitment. It names the exact scope of what will be captured, how quality will be measured, who owns the result, and what happens when a batch does not meet the bar — before any footage is recorded, not after a dispute starts.

This page assumes you have already chosen a provider. If you are still comparing vendors, our robotics training data RFP checklist covers what to ask for during that selection; this page covers what to write into the agreement once that choice is made. A written skill spec, as described in how custom robotics data collection works, is normally the technical annex the SLA points to.

This page is general guidance, not legal advice. Have counsel review any contract before signing.

What scope and skill spec should the SLA define?

The SLA should reference a written skill spec as an attached exhibit, not describe scope only in prose in the contract body. The spec is where task, geometry, environments, condition cells, capture tier, annotation depth, and hour or episode targets per cell are fixed — the contract terms only make sense once that document exists.

The agreement should state that any change to the spec — a new task, a new environment, a different annotation set ��� requires a written change order rather than an informal request, so scope creep does not quietly expand the engagement without a corresponding change to price or timeline.

How should acceptance criteria and validated hours be written?

The SLA should state that billing is per validated hour — footage that has already been measured against the signed accept criteria — not per raw capture hour before anyone has checked it. That distinction determines who bears the cost of footage that fails QA: under a validated-hour term, the provider does, since unvalidated footage is never billed.

The accept and reject rule itself belongs in the contract or its spec exhibit as a written, testable definition, not a general "quality guaranteed" clause. A rule that cannot be checked against a delivered batch is not enforceable if a dispute arises later.

What QA, rework and rejection terms belong in the SLA?

The SLA should require a reject log — items that failed the accept criteria, with reasons — delivered alongside every batch, not only an aggregate pass rate. A reject log is what lets a buyer audit the bar a provider is actually holding, rather than trusting a summary number.

It should also state what happens to rejected items: whether they are recaptured at the provider’s cost, and on what timeline. A contract that is silent on rework leaves the buyer negotiating that question batch by batch instead of once, up front.

Core clauses a robotics data collection SLA should include, and where the underlying terms are already described.
ClauseWhat it should specifyWhere the site describes it
ScopeSkill spec attached as an exhibit; changes require a written change orderHow custom robotics data collection works
Billing unitPer validated hour, not per raw capture hourValidated hour (glossary)
Accept/reject ruleA written, testable pass/fail definition tied to the specHow custom robotics data collection works
Reject logDelivered per batch, with reasons, not just a pass countCustom collection: end-to-end
ReworkRejected items recaptured at provider’s cost, with a stated turnaroundCustom collection: as a service
Consent chainSigned release per contributor, covering incidental bystanders tooProvenance
AnonymizationFaces, plates and screens detected, irreversibly blurred, human-reviewedAnonymization
Ownership and licensePerpetual, buyer-owned commercial license, stated explicitlyBuyer-owned training data
Delivery formatNamed schema the pipeline actually loads, e.g. RLDS, LeRobot, WebDatasetDelivery formats
Pilot termsA first batch against the same spec and criteria before full volumePilot data collection (glossary)

Core clauses a robotics data collection SLA should include, and where the underlying terms are already described.

Who owns the data, and what license terms should be in the contract?

The SLA should state the license explicitly: a perpetual, buyer-owned commercial license, not a shared, research-only, or revocable one. Many public and academic corpora carry research-only terms that block commercial deployment — a custom collection contract exists in part to avoid inheriting that constraint, and the terms should say so in writing rather than being assumed.

If exclusivity matters to the buyer — meaning the same footage is never resold to another party — that should be a named contract term, since it is not automatically implied by a buyer-owned license on its own. See buyer-owned training data for how ownership and exclusivity differ as contract concepts.

What delivery formats, schedule and change-request terms should it cover?

The SLA should name the delivery format the training pipeline actually loads — RLDS, LeRobot, WebDataset, or a schema built on HDF5, zarr, or Rerun .rrd — rather than leaving the format open to be decided after capture starts. It should also require a data card with every delivery, documenting provenance and the consent and anonymization records behind that batch.

For timeline, the contract should reference the provider’s own stated delivery pattern rather than inventing a number: where coverage is already deep, a first validated batch typically lands in a median of 48 hours from a signed spec; thinner environments run three to four weeks because vetting contributors there is the bottleneck. Whatever number the provider quotes, it should be a contract term, not a verbal estimate, and rolling top-ups after the first batch should follow the same spec and accept criteria.

A change-request clause should require any scope change — a new task, environment, or annotation type — to go through a written change order with its own price and timeline, rather than being absorbed silently into the existing schedule.

How does the SLA change from pilot to production?

A pilot data collection is a small first batch run against the same spec and accept criteria the full engagement will use, and the SLA should say explicitly that the pilot and the production run share one spec, one accept/reject rule, and one billing unit. Without that clause, a provider could pass an easy pilot and then quietly loosen its criteria once full volume is committed.

What typically changes moving from pilot to production is volume and cadence, not the underlying terms: the contract should specify a rolling batch schedule for production rather than a single delivery, while keeping the same reject-log reporting, the same per-condition-cell fill-rate reporting, and the same license terms that governed the pilot.

What stays constant and what changes between the pilot and production stages of the same contract.
TermPilot stageProduction stage
Spec and accept criteriaSame written spec, same accept/reject ruleUnchanged from the pilot
Billing unitPer validated hourUnchanged — per validated hour
VolumeA small first batchFull committed volume, delivered on a rolling schedule
ReportingReject log and per-condition-cell fill rate for the pilot batchSame reporting, per production batch
LicensePerpetual, buyer-owned, as stated in the SLAUnchanged from the pilot
Change ordersAny spec change becomes part of the production specAny further change still requires a written change order

What stays constant and what changes between the pilot and production stages of the same contract.

FAQ

What Should a Robotics Data Collection SLA Include?, answered.

01

What is the single most important clause in a robotics data collection SLA?

A written, testable accept and reject rule tied to the skill spec. Without it, "quality" is undefined and disputes surface only after a batch has already shipped.

02

Should the SLA bill by raw capture hours or validated hours?

Validated hours — footage that has already cleared the accept criteria. That shifts the cost of failed footage to the provider rather than the buyer.

03

What license terms should the contract require?

A perpetual, buyer-owned commercial license, stated explicitly. If exclusivity matters, name it as a separate term rather than assuming it is implied.

04

How should consent and anonymization be written into the SLA?

Require a documented consent chain covering incidental bystanders, not only contracted contributors, plus an anonymization method (blurring faces, plates and screens) confirmed by human review — with both records delivered alongside the data.

05

Should the SLA specify a delivery format?

Yes. Name the exact schema the training pipeline loads — for example RLDS, LeRobot, or WebDataset — rather than leaving the format to be decided after capture starts.

06

Do the pilot and production stages need separate contracts?

No. They should run under the same spec, accept criteria and billing unit inside one agreement, with production adding a rolling delivery schedule and higher volume.

07

What happens when a batch fails QA under the SLA?

The contract should state that rejected items are recaptured at the provider’s cost, with a reject log delivered per batch so the buyer can audit what failed and why.

08

Is this page legal advice?

No. It describes what terms to look for in a robotics data collection SLA. Have counsel review the actual contract before signing.

Sources

Where is this documented?

Check it against the sample pack.

40 episodes across 4 environments, delivered in the exact schema these guides describe.