Skip to content

VirgilSecurity/awesome-virgil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Content

Community

Web resources

Social media

Blogs

Support

Products

Secure Communications Platform (coming)

  • Secure Communications Platform - Virgil Security introduces the most secure programmable communications platform that allows protecting your company communications, intellectual property and privacy. Now, you can build your own communication applications with secure voice & video calls and other communications features faster, secure and cheaper.

Security Frameworks

  • 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. E3Kit interacts with Cards Service, Keyknox Service and Pythia Service and supports multi-device access and group chat features.

  • PureKit - an open-source security framework for enabling post-compromise protection for stored data. PureKit allows developers to protect users' passwords and personal data from hacking and securely share data. The framework can be used within any database or login system that uses a password, so it’s applicable for a company of any industry or size.

  • 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.

Tools

  • Virgil CLI - a tool to manage your Virgil account and applications, and perform cryptographic operations.
  • IoT Dev Tools. Virgil Security also provides a set of tools for secure device lifecycle:
    • Virgil Trust Provisioner. The Virgil Trust Provisioner is a CLI used to manage your distributed trust between all parties, including IoT devices, in your IoT solutions. The CLI is aimed at key pairs and TrustList generation and management, which together make each IoT device identifiable, verifiable and trusted by each party of IoT solution. To start working with the tool, read more here.
    • Virgil Device Initializer. In order to make each IoT device identifiable, verifiable and trusted by each party of IoT solution, you have to provide it with specific provision files, generate private keys and create the digital cards for further device registration on the Virgil Cloud. Virgil Device Initializer allows you to make IoT device provisioning and prepare your IoT device (create digital cards) for its further registration on the Virgil Cloud. To start working with the tool, read more here.
    • Virgil Device Registrar. Virgil IoT Device Registrar is used to register IoT devices and their digital cards with the Virgil Security Cloud. To start working with the tool, read more here.
    • Virgil Firmware Signer. Virgil Firmware Signer is a CLI that allows you to sign firmware in order to provide integrity before distributing it. To start working with the tool, read more here.
    • Virgil SnapD. Virgil SnapD is a local web utility which allows you to obtain information and statistics about your IoT devices. In order to get such device information, SnapD interacts with Virgil SNAP protocol, which operates directly with your IoT devices. As far as Virgil SnapD is a local service, the obtained information can be displayed in browser under http://localhost:8080/ (by default). If you're working with the Virgil IoT Simulator, you can run SnapD under http://localhost:8081/. To start working with the tool, read more here.

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.

Services

  • 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.

E3Kit

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.

PureKit

With any backend language

With MariaDB

  • Virgil PureKit MariaDB Demo - The Demo App is a simple web application that illustrates how Virgil PureKit can be used with MariaDB to store and share data in the most secure way. The Demo App is based on use case involving a hypothetical business scenario involving a patient, physician and laboratory, and shows how distinct roles within a customer's application can be defined and used to restrict ePHI access in a HIPAA-compliant manner.

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.

IoTKit

  • 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.

WaveKit

  • 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

Videos

Our Youtube channel: Virgil Security Academy

Featuring videos:

HashTags

You can use the following hashtags while tagging Virgil Security Inc.: #SecuredByVirgil, #SecureTheFuture, #VirgilSecurity.

License

BSD 3-Clause. See LICENSE for details.

Contacts

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 [email protected].

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