User Editable Data Field

Open in Claude

The User Editable Data Field (UEF) is a preallocated text field on the sensor itself, available for any purpose: sensor identification, calibration data, qualification signatures, or any other information the integrator wants to persist on the device.

The UEF can either be cleared or kept when the sensor configuration is deleted, controlled by the data policy.

Note:

  • Valid values: empty string, or any string of non-binary ASCII / Unicode characters.
  • Size limit: 128 KB (with 1 KB = 1024 bytes, total 131 072 bytes).

Example use case

Systems that deploy many Ouster sensors with mixed hardware and firmware revisions often need to confirm that the physically installed sensor matches the slot it was provisioned for. Visual inspection scales poorly when sensors are deployed remotely and in large numbers, and incorrect installation can disrupt operations.

Proposed solution

Use the UEF together with client-generated signatures (signed with the integrator’s private key) to establish an authenticity check that ties each sensor to its intended deployment.

Implementation

Each Ouster sensor ships with an empty UEF. Customers can write a signature into it without affecting any core sensor functionality.

Customer signing process:

  1. Read the unique, immutable serial number (SN) from the sensor.
  2. Sign the SN with the customer’s private key to produce a signature.
  3. Write that signature into the UEF.

Customer system validation at startup:

  1. The host system reads back both the SN and the UEF signature from the sensor.
  2. Using the customer’s public key, the host verifies the signature against the SN.
  3. A successful verification confirms the sensor has not been swapped or tampered with and that the signature matches the intended serial number.

HTTP endpoints for User Editable Field

See the HTTP API Reference for the underlying endpoints:

  • GET /api/v1/user/data
  • PUT /api/v1/user/data
  • DELETE /api/v1/user/data

Optional parameter: data policy

The policy key controls UEF persistence when the sensor configuration is deleted. Apply it with PUT /api/v1/user/data?policy=<policy_str>.

Valid values:

  • clear_on_config_delete (default) — UEF is cleared when sensor config is deleted.
  • keep_on_config_delete — UEF survives a sensor config delete.

The UEF value and policy must be set in the same PUT request. Setting the value without specifying a policy resets the policy to clear_on_config_delete.

The UEF value is persisted across config resets, reboots, firmware upgrades, and power cycles.

Note: data policy has no effect on the UEF value itself — only on whether the value is cleared with the sensor configuration.

Example endpoints:

  • PUT /api/v1/user/data?policy=clear_on_config_delete
  • PUT /api/v1/user/data?policy=keep_on_config_delete

Optional parameter: include_metadata

Same as the nominal GET /api/v1/user/data, but returns a JSON dictionary { "value": str, "policy": str } where value is the nominal UEF string.

When include_metadata=true (or 1), both value and policy are returned. When include_metadata=false (or 0, default), only value is returned.

Note: include_metadata has no effect on the UEF value itself.

Example endpoints:

  • GET /api/v1/user/data?include_metadata=true
  • GET /api/v1/user/data?include_metadata=false