SBP Conformance Levels

An SBP implementation declares a conformance level from L1 to L6. Levels are cumulative — an L3 implementation also satisfies L1 and L2.


Overview

Level Name Description
L1 Stateful Proxy Persistent conversation + REST completions
L2 Tether + Resume Durable turn buffering + WebSocket attach/detach
L3 Roaming Content-addressed session bundles + import/export
L4 Surface Negotiation Device-aware ATTACH_SESSION handshake
L5 MCP Bridge Bi-directional surface-local tool invocation
L6 Gateway Federation Decentralised peer discovery + cross-gateway roaming
L7 Direct Data Plane (reserved, v0.2) Optional WebRTC surface↔surface streaming

L1 — Stateful Proxy

The gateway maintains persistent agent sessions.

Required

Optional

What is NOT required


L2 — Tether + Resume

The gateway buffers agent output when the surface is offline and delivers it on reconnect.

Required (in addition to L1)

Tether backend options

Any of the following satisfy L2 durability:

Backend Notes
SQLite Zero external dependencies. File-based durability. Single-node only.
PostgreSQL Production-grade. Multi-node read replicas.
Redis Streams Multi-replica delivery, configurable AOF persistence.
Temporal workflow state Enterprise. 30-day Tether with guaranteed activity delivery.
Cloudflare Durable Objects Edge-native, globally distributed, single-Object-per-session.

L3 — Roaming

Sessions are portable as content-addressed bundles that any compliant gateway can import.

Required (in addition to L2)


L4 — Surface Negotiation

The gateway adapts its output to the surface’s device type and capabilities.

Required (in addition to L3)

SurfaceContext fields

Field Type Required
device_type mobile \| desktop \| iot \| browser \| voice \| unknown Yes
max_output_tokens int \| null No
ui_capabilities string[] No
locale string (BCP-47) No
surface_id string \| null No
mcp_tools string[] No

L5 — MCP Bridge

Agents can invoke tools that run locally on the surface.

Required (in addition to L4)

Multi-replica deployments


L6 — Gateway Federation (Optional)

Independent gateways discover each other and exchange bundles by CID.

Two roles

An L6 node operates in one of two roles (or both):

A deployment MAY combine both roles in a single process. Public SBP infrastructure SHOULD separate them so Trackers can be operated cheaply at scale without privileged access to session content.

Required (in addition to L5)

Discovery endpoint response

{
  "sbp_version": "1.2",
  "gateway_id": "<string>",
  "federation": true,
  "public_key": "<base64-DER>",
  "endpoints": {
    "ws": "wss://<host>/v1/sbp/ws/{session_id}",
    "bundle": "https://<host>/v1/sbp/bundles/{bundle_cid}",
    "import": "https://<host>/v1/sbp/sessions/import"
  }
}

L7 — Direct Data Plane (Reserved, v0.2)

Optional WebRTC surface↔surface streaming with Gateway-mediated signalling.

L7 is reserved in SBP v1.2 and not normative. It will be specified separately once a reference implementation demonstrates its operational tradeoffs.

Motivating use case

Two surfaces on the same local network (a phone and a watch, a desktop and a tablet) exchanging live agent output without round-tripping through the cloud Gateway. The Gateway remains the source of truth for the session bundle and Tether, but acts only as a signalling server during the WebRTC handshake.

Why it’s reserved

Implementations that ship a WebRTC data plane MAY self-describe as “L7-experimental” but MUST NOT claim L7 conformance until the specification is finalised.


Self-certification

To claim a conformance level, run the SBP conformance test suite against your server URL:

npx sbp-conformance --url https://your-gateway.example.com --level L5

The test suite is available at: statebridge-protocol/sbp-conformance


Reference Implementations

Implementation Level Backend Notes
sbp-server (Python, SQLite) L5 SQLite Default. Zero external dependencies.
sbp-server (Python, PostgreSQL) L5 PostgreSQL + Redis Production OSS.
SilkBridge Cloud L6 Temporal + PostgreSQL Enterprise SaaS.

SBP Conformance Levels — v1.2 — © 2026 Silkbridge, Inc. — Apache-2.0