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 are performed in the context of a user or backend service account.
The IronNode 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
yarn add @ironcorelabs/ironnode
You can also view the source of the SDK via its 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 addare 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_modulesdirectory will not work on other architectures or Node versions. When deploying an application that utilizes the IronNode SDK, the
npm install/yarn addcommand must be run on the same architecture and Node version as your production environment.
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.
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 and created and device keys can be generated without first initializing the SDK using the various user operations.
The IronNode 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.|
Most IronNode SDK methods utilize Promises as most operations are asynchronous in nature.
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
SDKErrorhas a specific error code that exposes information about the error that occurred.
The list of supported platforms is listed in the IronNode README.