IronNode SDK

The IronNode SDK is a NodeJS library that integrates IronCore's privacy, security, and data control solution into your server side app. Operations in the IronNode SDK currently are performed in the context of a user.

Installation

The IronWeb SDK is available on NPM under the package name @ironcorelabs/ironnode. It can be installed via either NPM or Yarn via

npm install @ironcorelabs/ironnode

or

yarn add @ironcorelabs/ironnode

You can also view the source of the SDK via it's GitHub repository.

The IronNode SDK is built on top of our native Node module bindings which are distributed as a platform specific binary file. This allows us to dramatically improve the performance of our Transform Encryption via native code. However, this means that when npm install/yarn add are run, it will attempt to automatically pull down the binary file for your machines architecture and Node version. Most of the time this shouldn't be an issue, however, it does have the caveat that the files in your node_modules directory will not work on other architectures or Node versions. When deploying an application that utilizes the IronNode SDK, the npm install/yarn add command must be run on the same architecture and Node version as your production environment.

User Operations

The IronNode SDK currently allows for interaction with IronCore on behalf of a user. All operations taken via this SDK will occur in the context of a specific user using a set of user specific device keys. As such, there are a handful of convenience methods provided to programatically verify, create, and generate device keys for a user. All user operations work using JSON Web Tokens (JWT) to verify that the operation is being performed by a verified, legitimate user in your application.

User Operations

SDK Initialization

Initializing the IronNode SDK requires the context of a user in addition to a set of device keys that will be used for the various operations. Users can be verified, created, and device keys generated without first initializing the SDK using the various user operations.

SDK Initialization

SDK Methods

The IronWeb SDK methods are grouped into namespaces to separate functionality.

Document Create, update, and manage access to your encrypted content.
Group Create and manage members and admins of your cryptographic groups.
User Get information about users that have been synced to IronCore.

Promises

Most IronNode SDK methods utilize Promises as most operations are asynchronous in nature.

SDK Error and Error Codes

Most IronNode SDK methods return a Promise. If an SDK operation fails the Promise that was created will reject with a SDKError that provides additional information about the error that occurred. Each SDKError has a specific error code that exposes information about the error that occurred.

Platform Support

The IronNode SDK works on Linux x64 and OSX x64 and on NodeJS versions 8.x and 10.x.