Skip to content

E3Kit is a security framework that simplifies work with Virgil services and presents the easiest way to add full end-to-end security to your chat application to become HIPAA and GDPR compliant and more.



Repository files navigation

Virgil E3Kit TypeScript/JavaScript

Build Status npm GitHub license API Reference

Introduction | Benefits | Features | Installation | Resources | Samples | License | Support


Virgil Security provides Virgil E3Kit - an open-source client-side framework that allows developers to add end-to-end encryption to their messaging applications, file sharing programs, and other digital communication products in just a few simple steps to become HIPAA and GDPR compliant and more.


  • Easy to setup and integrate into new or existing projects
  • Compatible with any CPaaS provider, including Nexmo, Firebase, Twilio, PubNub and etc.
  • Strong secret keys storage, integration with all platform-specific storages
  • Provides GDPR and HIPAA compliance
  • Immune to quantum computers attacks


  • Strong one-to-one and group encryption
  • Files end-to-end encryption (for browser and React Native)
  • Data signature and verification as part of the encrypt and decrypt functions
  • Recoverable private encryption keys
  • Access to encrypted data from multiple user devices


Navigate to our Developer Documentation to install and initialize Virgil E3Kit.

Virgil E3Kit JS is provided in separate packages for different platforms:

Name Description
e3kit-browser For use in web browsers.
e3kit-native For use in React Native.
e3kit-node For use in Node.js and Electron.



You can find examples for React Native, Webpack, Ionic, Node and UMD in the examples folder, at our Developer Documentation and in the E3kit Web Demo.


This library is released under the 3-clause BSD License.


Our developer support team is here to help you. Find out more information on our Help Center.

You can find us on Twitter or send us email

Also, get extra help from our support team on Slack.



Make sure you're following a similar approach to the webpack example and pay special attention to the webpack.config.js file.