@sliksafe/protect
v1.0.6
Published
Slik offers you the ability to protect files with end-to-end encryption as a simple drop in NPM package.
Downloads
57
Readme
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.