Encryption & Storage
Your browser generates an encryption key derived from your wallet signature using standard key derivation. This key is ephemeral — it lives only in the browser's JavaScript context, is never serialized, never persisted, and never sent to any server. If you reload the page, the browser re-derives the same key deterministically from a fresh signature.
Before any data leaves your device, your browser encrypts it with AES-256-GCM. The ciphertext is the only thing that reaches the ZDrive worker. Even if the worker's infrastructure were fully compromised, attackers would get encrypted blobs with no key material.
For vault storage, encrypted ciphertext is bundled into an ANS-104 DataItem, signed by the operator's key, and uploaded to Arweave via Irys node2. Once mined, the data is replicated across thousands of Arweave nodes globally and cannot be deleted, modified, or taken offline by any provider. The Arweave transaction ID is returned to your browser as proof of upload.
Permanence is the key property. Unlike cloud storage, Arweave data outlasts the provider. You own the transaction ID; you can retrieve your encrypted vault from any Arweave gateway. Since only your browser holds the decryption key, the data is cryptographically useless to everyone else.
Vault upload flow
Key derivation model
Storage properties
Encryption algorithm
AES-256-GCM
Key storage
None — derived on demand from wallet signature
Upload target
Arweave via Irys node2
DataItem format
ANS-104 (Arweave standard)
Signer
Operator ETH key (Irys node2 balance)
Retrieval
Any Arweave gateway using TX ID
Deletability
None — Arweave is permanent
Who can decrypt
Only the wallet that encrypted
Last updated
Was this helpful?

