@sliksafe/protect
TypeScript icon, indicating that this package has built-in type declarations

1.0.6 • Public • Published

Ransomware Protection

Slik offers you the ability to protect all your data from ransoms by storing data on an immutable permanent storage, as a simple drop in NPM package.


Once your data is secured using the @slik/protect package, it is stored on an immutable permanent storage after being encrypted. You can use this package to permanently store a file version, or a mission critical document with complete privacy.

API Keys

Before getting started you would need an API key. Create an API key via the console: https://console.developers.sliksafe.com

Demo

You can play around with the demo app that uses the protect SDK at: https://slikprotectdemo.web.app/

Docs

Please see a few samples below, but you can find the detailed docs here: https://developers.sliksafe.com/docs/package/ransomware-protection

Install via yarn

yarn add @sliksafe/protect

Upload a File

You can simply upload a file by calling the uploadFile method after initializing the library. The upload method accepts different parameters based on your requirements, specified in detail below.

// Import SlikProtect
import { SlikProtect } from '@sliksafe/protect'

// Initialize protect
const initParams = { apiKey: "api_key_string" }
const protectHandler = await SlikProtect.initialize(initParams)

// A file/blob/json/text object that needs to be secured.
let data: File | Blob | String = "hello world"

// Protect options
const protectOptions = {
    data: data,
}

protectHandler.secure(protectOptions, (handle, dataId, err) => {
    console.log("The unique identifier of the data protected: ", dataId);
    
    if (!!err) {
      console.error('Failed to protect data: ', err)
    } else {
      console.log("Uploading data progress: ", handle.percentage);

      if (handle.status === "uploaded") {
        console.log("Data protection finished");
        console.log("The uid of protected data: ", dataId);
      }
    }
});

Fetch Data

You can fetch the data protected above in the secure API call by simply calling the get api call. The get api call downloads the data and decrypts it using the encryption key. Example below:

// Get protected file 
const downloadOptions = { 
    dataId: "-N-ZESm8wbGeFuxpawPi",
}

protectHandler.get(downloadOptions, (downloadHandle, data, err) => {
    console.log("Downloading data progress: ", downloadHandle.percentage);
    
    if (downloadHandle.status === "downloaded") {
        console.log("Data download finished");
        console.log("Downloaded data: ", data);
    }
});

Encryption

The protect package automagically handles end-to-end encryption for all your files protected.

Each file is encrypted using military grade AES-256 symmetric key encryption, before it is protected using the package. Also, the file is seamlessly decrypted after being downloaded, before being returned back in the callback.

Scalability

The Slik infrastructure has been designed to scale with the needs of the developer. It is currently used by thousands of users worldwide to backup terabytes of data.

Package Sidebar

Install

npm i @sliksafe/protect

Weekly Downloads

7

Version

1.0.6

License

MIT

Unpacked Size

25.4 MB

Total Files

25

Last publish

Collaborators

  • manisoni28
  • arpwal