- Storage class:
standardorexpress. This controls append latency, not durability. Both classes are regionally durable. See Architecture: Storage classes. - Retention: how long records stick around. Defaults to 7 days. See Retention + Trimming.
- Auto-creation: whether streams are created implicitly on first append or read, useful when you have many short-lived or dynamic streams.
- Stream encryption: optionally require request-time encryption keys for newly created streams. See Encryption.

Stream config
For the full set of fields, see the create and reconfigure API docs, or the docs for the SDK you are using.Encryption is configured on the basin, not in
StreamConfig. A stream captures the basin’s stream_cipher when it is created and keeps that cipher for life. See Encryption.| Field | Default | Description |
|---|---|---|
storage_class | standard | standard or express. Stream storage class affects initial acknowledgement latency only, not durability. |
retention_policy | 7 days | Age-based (in seconds) or infinite. |
delete_on_empty | Disabled | Auto-delete empty streams after a minimum age. |
timestamping.mode | client-prefer | How timestamps should be assigned: by S2 on arrival; from the client, if provided, if client-prefer; or always from the client, with client-require. |
timestamping.uncapped | false | Allow client timestamps to exceed arrival time into S2. |
Delete on empty
When enabled, a stream is automatically deleted once all its records have been trimmed and the stream is empty. Themin_age_secs field requires the stream to have existed for at least that long before it can be auto-deleted.
Useful for ephemeral streams, e.g. one stream per job run where the data is consumed and no longer needed.
Basin config
| Field | Default | Description |
|---|---|---|
create_stream_on_append | false | Auto-create streams on first append. |
create_stream_on_read | false | Auto-create streams on first read. |
default_stream_config | See above | Config applied to auto-created streams. |
stream_cipher | Unset | Cipher for newly created streams: aegis-256, aes-256-gcm, or unset for plaintext streams. |

