Provisioning
Create the tenant
A DID provisions a tenant. That DID becomes the permanent owner identifier for the personal data store and receives the root capability.
How it works
TurtleShell is built so provisioning, storage, delegation, and sync all reinforce the same idea: the owner remains the source of authority.
Each layer tightens the trust boundary instead of weakening it.
Provisioning
A DID provisions a tenant. That DID becomes the permanent owner identifier for the personal data store and receives the root capability.
Authority
The owner grants sub-capabilities to apps or collaborators with explicit caveats for operations, time windows, and data boundaries.
Storage
Records are stored in the tenant's dedicated backend boundary, encrypted at rest, and tracked with immutable version history.
Usage
REST, GraphQL, gRPC, and JSON-RPC all route through the same authorization layer, so the rules stay consistent across products and services.
Resilience
Tenants can replicate across nodes with CRDT-based sync or move across deployments without abandoning the DID and capability model.
What this means in practice
Give apps access to exactly the records they need without making the app the new owner of the data.
Keep deployment choices practical while preserving clear tenant boundaries and auditability.
Let identity, records, and permissions stay portable across products instead of being stranded inside one service.