Post-quantum messaging, in the open.
Aegis is an iOS messenger that uses NIST-standardised post-quantum cryptography by default and ships every line of cryptographic code as open source. It is built for people who want to understand the security of the tools they trust — not just be told it's there.
This is an unusual messenger. We will tell you what we don't protect against (see THREAT-MODEL.md). We will tell you when another tool is a better fit for your situation (in onboarding). We will publish our security audits, our governance decisions, and a monthly warrant canary. Trust here is earned by transparency, not asserted.
This project is in early development. Current version: pre-0.1 (library only — no installable app yet).
| Milestone | Status |
|---|---|
| Foundational documents | ✅ v0.0.1-foundation |
| Maintainer PGP identity + signed warrant canary | ✅ v0.0.2.2-pgp |
| Cryptographic core: AES-256-GCM | ✅ v0.0.2-sprint-1 |
| Cryptographic core: PQ hybrid KEM (X-Wing / ML-KEM-768 + X25519) | ✅ v0.0.3-sprint-2 |
| Cryptographic core: PQ signatures (ML-DSA-65) | ✅ v0.0.4-sprint-3 |
| PQXDH key exchange + safety numbers | ✅ v0.0.5-sprint-4 |
| Forward secrecy / Double Ratchet | ✅ v0.0.6-sprint-5 |
| iOS app shell + Keychain identity (macOS demo runs today) | ✅ v0.0.7-sprint-6 |
| iOS distribution (Xcode project + IPA + TestFlight) | 📋 Sprint 7 |
| Persistence + local conversations | 📋 Sprint 8 |
| Networking | 📋 Sprint 9 |
| v0.1 alpha (external testers) | 📋 Sprint 10 |
| External security audit | 📋 v1.0 |
| Initial Security Council | 🚧 Recruiting (see GOVERNANCE.md) |
Detailed per-sprint roadmap: docs/STAGES.md.
A native iOS messenger using ML-KEM-768 (post-quantum key encapsulation) hybridised with X25519 for key exchange, AES-256-GCM for message confidentiality, and ML-DSA-65 for identity signatures. All cryptographic primitives are NIST or IETF standards. A separate sandbox tier ("Aegis Lab") allows researchers and students to contribute and study novel algorithms, clearly marked as unaudited and never used by default.
A Signal or iMessage replacement for the general public. We don't have the resources to win at billion-user scale. We're a credible niche tool — for journalists, lawyers, academics, security researchers, and privacy-conscious individuals — not a mass-market app. See MISSION.md for the full statement.
In order:
- MISSION.md — what we're trying to do
- THREAT-MODEL.md — what we protect against and what we don't
- GOVERNANCE.md — who decides what, and how
- ALGORITHM-SUBMISSION.md — how new cryptography enters Aegis
- CONTRIBUTING.md — code, docs, and process
- CODE_OF_CONDUCT.md — community standards
- CLA.md — required for code contributions
- SECURITY.md — how to report a vulnerability
AegisCrypto (primitives + protocols) plus AegisStorage
(Keychain wrappers) plus AegisApp (SwiftUI views) build and
test with stock SwiftPM today. A tiny macOS executable target
hosts the SwiftUI surface so you can run the app right now.
# Library + tests — runs today.
swift build
swift test
# Expected at v0.0.7-sprint-6: 224 tests passing, 3 skipped, 0 failures.
# Launch the SwiftUI demo on macOS — runs today.
swift run aegis-demo
# Onboarding flow → identity setup → encrypt/decrypt demo +
# Settings → Security with the live capability table.
# iOS distribution (Xcode project, IPA, TestFlight) lands at
# Sprint 7. The SwiftUI views in AegisApp are already iOS-ready;
# Sprint 7 just adds the .xcodeproj wrapper and signing.Requires Xcode 26 / Swift 6.2+ on macOS 26 — Apple's native
post-quantum CryptoKit primitives (MLKEM768, MLKEM1024,
MLDSA65, XWingMLKEM768X25519) are gated @available(iOS 26.0, macOS 26.0, ...), so the SwiftPM platform floor follows them.
The iOS app target ships in this repo as Aegis.xcodeproj
(generated from project.yml via XcodeGen).
Run it on the iOS Simulator or a connected iPhone with a
free Apple ID — full step-by-step in docs/IOS-RUNBOOK.md.
open Aegis.xcodeproj
# In Xcode: pick the Aegis scheme → pick an iPhone simulator
# or your physical iPhone → ⌘RFor the iOS distribution / TestFlight side (Apple Developer Program enrolment, App Store Connect record, signing certificates, archive + upload), see docs/IOS-DISTRIBUTION-RUNBOOK.md.
Aegis is licensed under AGPL v3. The cryptographic core library, when extracted as a separate sub-package (planned for Year 2), will be additionally available under Apache 2.0 to enable embedding in other applications.
The name "Aegis" and the project's logo are trademarks held by the project maintainer, Datta Sai Krishna N, in trust for the project. Forks must use a different name.
Datta Sai Krishna N (@DemigodDSK)
A Security Council is being recruited during Year 1 — see
GOVERNANCE.md. If you have applied-cryptography
or secure-systems-engineering experience and would consider
serving, please open an issue with the council-interest label.
Aegis is independently developed. We have not received funding from any government, corporation, or other organisation.
If we receive funding in the future, the source and amount will be disclosed publicly. Funding will not influence the project's mission, governance, or security commitments.
If your safety, freedom, or life depends on the privacy of your communications, use Signal, not Aegis. Signal is more mature, more audited, and protects more metadata than Aegis currently does. We will tell you in our app's onboarding when Aegis is ready for high-stakes use. We expect this will be true at v2.0 at the earliest, after at least one external audit. Until then, we will not pretend otherwise.