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.

									// generate private key for Alice's user account
									let aliceKey = virgil.keys.generateKey()
									
									// save the key on the device
									try! aliceKey.store(withName: @”[email protected]”, password:
									    @"UseHerPasswordToEncryptHerKey")
									
									// create public Virgil card for Alice to allow the world of Bobs 
									// to find & message her
									let aliceIdentity = virgil.identities.createUserIdentity(withValue:
									[email protected]”, type: "email")
									
									let aliceCard = try! virgil.cards.createCard(with: aliceIdentity, 
									    ownerKey:aliceKey)
									
									// Send Virgil card to your web app to verify Alice (txt msg her) and
									// publish it
									
									TransmitToServer(aliceCard.exportData())
								
Code snippets here given in Swift, 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).

									// search for Bob's card in Virgil’s Card Cloud
									virgil.cards.searchCards(withIdentities: [“[email protected]”]) { bobCards,
									    error in
									
									    // prepare the message
									    let message = "A woodchuck can't chuck wood."
									
									    // encrypt the message using found Virgil Cards
									    let ciphertext =
									        (try! aliceKey.signThenEncrypt(message, for: bobCards!))
									        .base64EncodedString()
									 
									    // send encrypted message with Twilio
									    let message = self.channel.messages.createMessageWithBody(ciphertext)
									    self.channel.messages.sendMessage(message) { (result) in
									          /// Message sent.
									    }
									}
								

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

									SGVsbG8gd29ybGQsIEknbSBibGEgYmFvaGZvIGZ3aXVociB3doZm4gc2FkbmZwaUhJVUJJVVdFR1JG
									IElXRSA3V0VGV0U=
								

Decryption keys never leave the device.

Decrypt Message

Decrypt and verify if the message is really from Alice.

									// load a Virgil Key from device storage
									let bobKey = try! virgil.keys.loadKey(withName: “[email protected]”)
									
									// decrypt the message and verify if it’s indeed from Alice
									virgil.cards.getCard(withId: “[ALICE_CARD_ID]”)
									   { aliceCard, error in
									      let message = String(data: try! bobKey.decryptThenVerify(base64:
									        ciphertext, from: aliceCard!), encoding: .utf8)!
									   }
								

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 user keys
5,000
Estimated monthly cost
$99
Start with our easy-to-follow guides
Get Started
  • 0–250
    Free
  • 251–100,000
    1.9¢ / key
  • Over 100,001
    Custom pricing
$99 minimum fee

Free Benefits

Available for all registered users
  • Slack community support

Pro Benefits

Included with every paid plan
  • Guaranteed SLA
  • Dev/staging/production environments
  • Global geo-balancing
  • 24/7 support
  • Online security best practice audit

Enterprise Benefits

Everything from the previous plans, plus:
  • Dedicated customer support engineer
  • On-premise hosted Virgil backend services
  • Country-specific data location
  • Business Associate Agreement