drift Docs
Start
What is Drift?
The tour, if you are new here.
Use cases
Whether Drift does your thing.
Getting started
Nothing to deployed, in one command.
Architecture
How a slice is put together.
What it costs
The free grant, four unit prices, two rules.
Build
Canvas
Static sites, same origin as your API.
Tools
Operate
Auth
Accounts, tokens and scopes.
Security
Boundaries, sandboxing and hardening.
Troubleshooting
Error codes
What went wrong, and what to do about it.
Legal
Acceptable use
What a slice may not be used for.
Data processing
The DPA, and every sub-processor.

Deed Pocket

Your app's actual data, end-to-end encrypted and content-keyed, following an identity across every device Link has enrolled. The crypto happens entirely client-side before anything reaches Pocket; the slice never sees plaintext.

Pocket is the one Deed primitive that authenticates its caller. Every call takes the bearer token KeyAuth.Verify returned, and the token's identity is the only one a call can read or write under. There is no way to name another, even by guessing key names.

Go
drift.Deed.Pocket.Set(token, "balance", ciphertext)
blob, _ := drift.Deed.Pocket.Get(token, "balance")
keys, _ := drift.Deed.Pocket.List(token)
drift.Deed.Pocket.Delete(token, "balance")

The ciphertext is yours to produce before the call. See Encrypting client-side.