Add end-to-end encryption to your chat app in 10 minutes

END-TO-END ENCRYPTED
Virgil's E2EE tech makes peeking impossible for cloud providers, governments, hackers.
Ready to Go & Open Source
Fully functional open source chat app, licensed under ISC, yours to reuse & customize.
Works with your favorite tech
Logging in. Send
How much wood could a woodchuck chuck if a woodchuck could chuck wood? Send

Create User Key at Signup

Give your users the gift of a strong private key that never leaves their device.

// Create key pair and register public key with Virgil
await eThree.register();

// Back up private key with password
await eThree.backupPrivateKey(keyPassword);
Code snippets here are in JavaScript, for plenty other languages please check our documentation.

Encrypt Message & Send It

Encrypt a message to Bob by simply referring to his email address (or user ID).

// aliceUID - string with identifier of user that receives the message
const usersToEncryptTo = [aliceUID];

// Lookup user public keys
const publicKeys = await eThree.lookupPublicKeys(usersToEncryptTo);

// Encrypt text using target user public keys
const encryptedText = await eThree.encrypt('A woodchuck can\'t chuck wood.', publicKeys);

This is how the data looks like over the wire and in the database:

SGVsbG8gd29ybGQsIEknbSBibGEgYmFvaGZvIGZ3aXVociB3doZm4gc2FkbmZwaUhJVUJJVVdFR1JGIElXRSA3V0VGV0U=

Decryption keys never leave the device.

Decrypt Message

Decrypt and verify if the message is really from Alice.

// bobUID - string with identifier of the sender user of the message
// Lookup origin user public keys
const publicKey = await eThree.lookupPublicKeys(bobUID);

// Decrypt text and verify if it was really written by Bob
const decryptedText = await eThree.decrypt(encryptedText, publicKey);

Empowering these awesome companies

Heltha
Boston, MA

America's first telemedicine app for Hormone Balance, with E2EE chat for clients & doctors.

Hushed
Ontario, CANADA

E2EE messaging for private disposable phone numbers.

Appfriends
NEW YORK, NY

E2EE private in-app messaging & user engagement platform.

Sikka Chat
San Jose, CA

E2EE chat service for patients & doctors at private practices.

Cloakroom
WASHINGTON, D.C.

The invite-only E2EE social chat app in and near the U.S. White House.

Mybeepr
Sydney, AUSTRALIA

Australia’s most trusted solution for mobile healthcare communication, E2EE.

START UP FOR FREE, PAY ONLY WHEN IN PRODUCTION

Registered users
250
No monthly cost
Free
Start with our easy-to-follow guides
Get Started
  • Up to 250 users
    Free
  • 251–5K users
    $99 / month
  • 5K–100K users
    $0.019 / user
  • 100K+ users
    Custom pricing

Free

Get your project off the ground with the basics
  • Unlimited secure communication between users, including group chat
  • Unlimited sensitive data sharing and backup between devices
  • Unlimited registered user devices with authentication
  • Slack community support
Get Started

Pro Startup pricing available

The support your production app needs as it grows

Everything from FREE plan, plus:

  • Guaranteed SLA
  • Dev / staging / production environments
  • Global geo-balancing
  • 24/7 support
  • Online security best practice audit
Get Started

Enterprise

Ultimate control and flexibility at scale

Everything from PRO plan, plus:

  • Dedicated customer support engineer
  • On-premise hosted Virgil backend services
  • Country-specific data location
  • Business Associate Agreement
Contact Us