Closes the IDB connection. Caller-owned lifecycle (R5): close() also drops the in-memory cache key and the open identity binding, so every further operation throws "Storage not opened" until the storage is reopened via open()/openAndLoad() and the cache key is set again. open() with a different identityId closes the previous connection automatically; same-identity open() after close() simply opens a fresh connection.
Set the persisted cache key (called at login).
Get the currently set cache key, or null.
Persist the CryptoKey to IndexedDB for warm return after browser restart.
Load a previously persisted CryptoKey from IndexedDB.
Open storage for identity and atomically load cached context.