Skip to main content
Node.js consumes the prebuilt WASM binding committed in the everabyte/crypto-sdk repository — no Rust toolchain, no native library. Run this in a trusted Node.js service, CLI or worker process. Keep the Everabyte secret API key in server-side secret storage; do not reuse these API calls in browser code. The seal_all and open_all WASM helpers operate on complete buffers, so they require memory for the input and output file.

1. Install

2. One-time: generate the account key and enroll

3. Encrypt → upload → attach envelope

The upload and envelope attachment are two separate requests. If the request times out, first reconcile whether it succeeded with GET /e2ee/files/{fileId}/envelope when you have a file ID. If attachment definitively fails, the E2EE upload contract requires deleting the orphaned ciphertext row. For the by-path flow, resolve its fileId from the bucket’s file listing using the opaque wire name, confirm that no envelope is attached, then hard-delete it with the file API. Retention policy may prevent deletion; handle that response explicitly. Never blindly delete after a timeout because the attach may have committed.

4. Download → decrypt

Next