e3kit logo

E3Kit: End-to-end encryption framework
for protecting any communication

Secure any data in transit

Start now
E3Kit works with your favorite tech

How it works

E3Kit can be used within any platform or authentication system. Learn more

E3Kit can be used within any platform or authentication system.


At least 6 reasons to choose Virgil E3Kit for data encryption in transit.

  • 1

    Post-quantum cryptography support

    E3Kit provides encryption methods that use post-quantum algorithms (Falcon, Round5) to make your data quantum-resistant. 
  • 2

    Compatible with any CPaaS provider

    E3Kit doesn't require any changes from platform providers and doesn't intersect with their infrastructure. 
  • 3

    Easy to set up and integrate into new or existing projects

    End-to-end encryption is only a couple of code lines away from you - E3Kit comes in a convenient package and doesn't require any special knowledge of cryptography. 
  • 4

    Protected cloud storage and recovery features for secret keys

    Virgil Security provides secure cloud storage for sensitive data of your users, in particular their private keys backup. 
  • 5

    Access to encrypted data from multiple user devices

    Encrypted data can be accessed from several user's devices thanks to private keys synchronization. 
  • 6

    Works with native secrets management systems

    E3Kit is compatible with Keychain, Android Keystore, and many more. 

Comply with Acts and Laws

Virgil Security builds developer toolkits that solve business problems by encrypting data and therefore lessening legal and compliance liability.



    Payment Card Industry Data Security Standard

  • CCPA


    California Consumer Privacy Act

  • GDPR


    General Data Protection Regulation



    Health Insurance Portability and Accountability Act

From developers
for developers

We provide cross-platform, transparent and easy-to-use libraries. Here are some code snippets from our E3Kit.

Explore documentation
// Encrypt and decrypt message
const usersToEncryptTo = ['[email protected]', '[email protected]', '[email protected]'];
const userWhoEncrypts = '[email protected]';
const [receiversCards, senderCard] = await Promise.all([

const encryptedMsg = await eThree.authEncrypt('Hello everyone!', receiversCards);
const decryptedMsg = await eThree.authDecrypt(encryptedMsg, senderCard);

Blog highlights

Get started now with our easy-to-follow guides.
Start free, pay $0.02/month per user beyond 250 users.

Use cases across all industries


Make your communication platform and backend HIPAA-compliant.


Manage cardholder data and personal financial information within a PCI DSS-compliant system.


Build IEEE-1609.2-compliant security solutions for protecting V2X communication.


Protect and manage access to sensitive data in the сloud storage.

Internet of Things
Internet of Things

Secure IoT devices from manufacturing to the end-user experience.

Industry 4.0
Industry 4.0

Build a fully protected industrial ecosystem and securely manage it across the stack.