Virgil E3Kit Objective-C/Swift
June 1, 2026 ยท View on GitHub
Introduction | Benefits | Features | Installation | Resources | Samples | License | Support
Introduction
Virgil Security provides Virgil 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.
Benefits
- Easy to setup and integrate into new or existing projects
- Compatible with any CPaaS provider, including Nexmo, Firebase, Twilio, PubNub and etc.
- Strong secret keys storage, integration with Keychain
- Provides GDPR and HIPAA compliance
- Immune to quantum computers attacks
Features
- Strong one-to-one and group encryption
- Files and stream end-to-end encryption
- Data signature and verification as part of the encrypt and decrypt functions
- Recoverable private encryption keys
- Access to encrypted data from multiple user devices
- Perfect forward secrecy with the Double Ratchet algorithm
- Encryption for unregistered users
- Post-quantum algorithms support: ML-KEM-768 (encryption), Falcon (signature)
Installation
Navigate to Developer Documentation to install and initialize Virgil E3Kit.
Resources
- E3Kit Product Page
- E3Kit Documentation - start integrating E3Kit into your project with our detailed guides.
- E3Kit Objective-C/Swift API Reference - E3Kit API reference for the language of your choice.
- Quickstart Demo - will help you to get started with the Virgil E3Kit quickly, and to learn some common ways to build end-to-end encryption between two fictional characters Alice and Bob.
Samples
You can find the code samples for Objective-C/Swift here:
| Sample type |
|---|
iOS Demo |
You can run the demo to see how to initialize the SDK, register users and encrypt messages using E3Kit.
Upgrading from v4.x
Cloud key backup (password-protected private key) is not compatible between v4.x and v5.0.
v5.0 switches the backup key derivation from the legacy Pythia protocol to the OPRF brainkey v3 protocol with DLEQ proof verification. These protocols produce different encryption keys, so a backup created by v4.x cannot be restored by v5.0 and vice versa.
Migration steps for your users:
- Upgrade the SDK to v5.0.
- After login, call
backupPrivateKey(password:)to create a new backup under the new protocol. - The old v4.x backup entry on Keyknox will remain but is no longer accessible โ it can be cleaned up by calling
resetPrivateKeyBackup()before step 2.
Users who cannot re-backup (e.g. lost access to their device) must re-register with a new key pair.
Note: CocoaPods support was dropped in this release. Swift Package Manager is the only supported distribution method. See the Installation section.
License
This library is released under the 3-clause BSD License.
Support
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 support@VirgilSecurity.com.
Also, get extra help from our support team on Slack.