Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
config feat(filekit): add @tanker/filekit package Jul 23, 2019
src fix(filekit): allow to start a disposable session twice Sep 5, 2019
LICENSE feat(filekit): add @tanker/filekit package Jul 23, 2019
package.json fix(deps): add missing explicit dependencies and remove some unused ones Sep 3, 2019


FileKit is an end-to-end encrypted file storage service for apps.

FileKit stores and transfers files in the cloud. The files are encrypted in the browser before being uploaded, and can be downloaded only by the owner and recipients, completely transparently.

It wraps Tanker Core and Tanker VerificationUI in a single easy-to-use to use package.

Live demo

Here is an example of what an application built with FileKit can do.

FileKit app example

Getting started

To get started, you can read the tutorial on creating a secure file transfer app.


Our detailed documentation is available here.

Example usage

import FileKit from '@tanker/filekit';

// Initialize the FileKit object
const appId = 'Your app ID';
const filekit = new FileKit({ appId });

// Start a session
const email = '';
const tankerIdentity = await yourServer.authenticate(email);
await fileKit.start(email, { identity: tankerIdentity });

// Encrypt and upload a file from <input type="file" id="fileInput" />
const fileToUpload = document.getElementById('fileInput').files[0];
const fileId = await fileKit.upload(fileToUpload);

// Download, decrypt, and save a file to disk
await fileKit.downloadToDisk(fileId);

// Download, decrypt, and get a File object
const file = await;
You can’t perform that action at this time.