zerokit-node-client
v4.0.0
Published
A Node.js client sdk that you can use to do server side processing on user encrypted data
Downloads
5
Maintainers
Readme
ZeroKit Node.js SDK
This is the Node.js of ZeroKit, that lets you encrypt and decrypt data for server side processing.
This small SDK loads and wraps the components of the ZeroKit to enable it to work in the Node.js environment, using the built-in native crypto functions instead of WebCrypto, and using an in-memory storage instead of session, local and cookie storages.
The ZeroKit Node.js client SDK is currently under development and is accessible as a preview. We continuously improve it and fix bugs. Feedback is always welcome.
Disclaimer
You should be aware, that using this SDK to process user data on the server will violate the zero knowledge property of your backend, exposing data to your server and potentially to your administrators and anyone having access to the server.
You should take special care about how you store the credentials used to log into ZeroKit as they could later be used to decrypt any data the server had access to.
Usage
The sdk exports a single function that takes your service URL and the SDK version as arguments. This method loads the sdk asynchronously, that you can use in the same manner as the web SDK.
You can see a detailed documentation at https://tresorit.com/zerokit/docs
Example (current Node.js):
const zkit_sdkProm = require('zerokit-node-client')("https://tenantid.api.tresorit.io", 4)
async function testZeroKitDecrypt(uploadedUserData) {
const zkit_sdk = await zkit_sdkProm;
await zkit_sdk.login('[email protected]', "password");
return await zkit_sdk.decrypt(uploadedUserData);
}
Go ahead to the management portal and find out more in the documentation and check the full set of features provided by ZeroKit!
Requirements
First, to use the SDK you need a tenant server (basically a subscription to ZeroKit). You can get one for free here, where you can also find a detailed documentation and sample apps for many platforms. You can also get the relevant example from GitHub.