Design: #554 (docs/explanation/tenant-namespace-isolation.md).
Per-tenant data namespace isolation + fast tenant-offline teardown on the SDK-native direct data plane. Tenant = the SDK-declared TenantId, treated as a trusted partition key; each tenant has a private namespace backed by its own origin bucket + credentials (coordinator-distributed registry). The object-store gateway is out of scope.
Decisions (locked)
- Boundary = SDK-declared TenantID, trusted partition — not bucket/prefix, not a gateway principal; not a hard security boundary (native-plane auth is an additive follow-on).
- Private per-tenant namespace — same path → different data per tenant; tenant participates in origin addressing.
- Per-tenant origin — each tenant has its own bucket + credentials via a coordinator-distributed registry.
Delivery slices
Note: the design (#554) is under review; slices may adjust.
🤖 Generated with Claude Code
Design: #554 (
docs/explanation/tenant-namespace-isolation.md).Per-tenant data namespace isolation + fast tenant-offline teardown on the SDK-native direct data plane. Tenant = the SDK-declared
TenantId, treated as a trusted partition key; each tenant has a private namespace backed by its own origin bucket + credentials (coordinator-distributed registry). The object-store gateway is out of scope.Decisions (locked)
Delivery slices
🤖 Generated with Claude Code