Key Management and Crypto Building Block for your App or Device.

  • Users starred: 141
  • Users forked: 12
  • Users watching: 141
  • Updated at: 2020-02-10 21:18:56

Virgil Security is a stack of security libraries and all the necessary infrastructure to enable seamless, end-to-end encryption for any application, platform or device.

Our libraries allow developers to get up and running with Virgil API quickly and add full end-to-end security to their existing digital solutions to become HIPAA and GDPR compliant and more.

Virgil Security, Inc. guides software developers into the forthcoming security world in which everything will be encrypted (and passwords will be eliminated). In this world, the days of developers having to raise millions of dollars to build secure chat, secure email, secure file-sharing, or a secure anything have come to an end. Now developers can instead focus on building features that give them a competitive market advantage while end-users can enjoy the privacy and security they increasingly demand.



Web resources

Social media





  • Virgil CLI - a tool to manage your Virgil account and applications, and perform cryptographic operations.
  • Virgil IoT Trust Provisioner - a command-line interface (CLI) used to manage your distributed trust between all parties, including IoT devices, in your IoT solutions.
  • Virgil IoT Firmware Signer - a CLI that allows you to sign a firmware in order to provide integrity before distributing it.

Security Frameworks

  • E3Kit - Client-side framework that simplifies work with Virgil services and presents the easiest way to add full end-to-end encryption (E2EE) security to your digital solutions. E3Kit interacts with Cards Service, Keyknox Service and Pythia Service and supports multi-device access and group chat features.

  • PureKit - Server-side framework that allows developers to communicate with the Virgil PHE service and to perform necessary operation to protect users' passwords and personal identifiable information in a database from data breaches and both online and offline attacks.

  • IoTKit - A framework for connecting IoT devices to Virgil IoT Security PaaS. IoTKit helps you easily add security to your IoT devices at any lifecycle stage for secure provisioning and authenticating devices, secure updating firmware and trustlists, and for secure exchanging messages using any transport protocols.

Core SDK

  • Cards Service SDK - interacts with Virgil Cards Service and allows developers to add end-to-end encryption (E2EE) security to their new and existing digital products. SDK can be used on both client-side and server-side.

  • Pythia Service SDK - allows developers to communicate with Virgil Pythia Service to generate a Brainkey (private Key that is based on a password) and protect user passwords in a database.

  • Keyknox Service SDK - allows developers to communicate with the Virgil Keyknox Service to upload, download, and synchronize encrypted sensitive data (private keys) between user's devices.


  • Cards Service - Stores and manages users' Virgil Cards with Public Keys and associated information.
  • Pythia Service - Provides developers with an ability to generate a user's restorable keypair based on a password.
  • Keyknox Service - Allows developers to securely store private keys and secrets in the Virgil Cloud and share them between their devices.

Cryptographic Libraries

Virgil Crypto is an open-source high-level cryptographic library that allows you to perform all necessary operations for secure storing and transferring data in your digital solutions. Crypto Library is written in C++, suitable for mobile and server platforms and supports bindings with the following programming languages: Swift, Obj-C, Java (Android), С#/.NET, JS, Python, Ruby, PHP, Go.


With any platform

With Firebase

  • Add end-to-end encryption to your Firebase application - In this tutorial, we will help you add end-to-end encryption to your Firebase application to secure your messages and user data.
  • Demo Web - A simple Web application that demonstrates how the end-to-end encryption works. The application uses Firebase as a backend service for authentication and chat messaging.
  • Virgil Cloud Function for Firebase use Firebase as a backend service for authentication and chat messaging and Virgil E3kit.

With Twilio

  • Add end-to-end encryption to your Twilio Programmable Chat - In this tutorial, we will help you add end-to-end encryption to your product to secure your messages and user data that you deliver using Twilio Programmable Chat.
  • Demo iOS - A simple iOS application that demonstrates how the end-to-end encryption works with Twilio.
  • Twilio Sample Backend for Node.js - A sample backend that demonstrates how to generate a Virgil JWT and Twilio token used for authentication with the Virgil and Twilio services

With Pubnub

With Nexmo

  • Demo E3Kit Android chat - Demo Android chat that uses Virgil E3Kit and Nexmo.
  • Demo Java/Android backend - This repository contains a sample backend code that demonstrates how to generate a Nexmo and Virgil JWTs using the Java/Android SDK.


With backend language

With WordPress

  • Virgil Pure Wordpress Plugin - Free Wordpress Plugin based on a powerful and revolutionary cryptographic technology that protects user passwords from data breaches and both online and offline attacks.


  • Virgil IoTKit Sandbox - A demo IoT sandbox is based on Virgil IoTKit and its dev tools. It allows you to emulate IoT devices, manage Firmware, TrustList and see the security for IoT devices in action. The Sandbox is conditionally divided into 3 actors (Vendor, Factory, and End-User) to easily understand the whole development process.
  • IoTKit Demo Samples for UNIX-like OS - The demo samples contain key elements that are necessary for implementation of the secure IoT lifecycle, and tests for all the provided features.


  • Virgil WaveKit - an easy-to-use client-side framework that provides developers with full security functionality to implement and manage secure V2X communication according to the architecture and operations of a WAVE system based on IEEE 1609 family standards.

Production Applications

Blog Posts


Our Youtube channel: Virgil Security Academy

Featuring videos:


BSD 3-Clause. See LICENSE for details.


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.