4.0.0 • Published 7 years ago

zerokit-node-client v4.0.0

Weekly downloads
-
License
BSD-3-Clause
Repository
-
Last release
7 years ago

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('12121212121212.testuser@testtenant.tresorit.io', "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.