The document
The protocol, written down.
A summary of the Asgard Protocol: the four layers, the primitives each one uses, and the standards they come from. It is written to be checked. Where something is specified and has not been built yet, the page says so.
- Protocol
- Asgard
- Group extensions
- intouch_hybrid_v1
- Standards basis
- CRYSTALS round 3 · RFC 9420
- Protocol composition
- Asgard hybrid profile
Four layers, and every one of them hybrid
Asgard combines classical and post-quantum primitives for identities, sessions, ratchets and groups. The group extension requires the relevant build features. Published primitives do not replace an independent review of their composition.
- 01
Identity
Ed25519 + CRYSTALS-Dilithium
Identity material combines Ed25519 and CRYSTALS-Dilithium5. Private signing keys belong to participant endpoints. Verify which signature checks the released client and deployment enforce.
- 02
Session
Hybrid X3DH · X25519 + CRYSTALS-Kyber1024 · HKDF
A hybrid session combines X25519 key exchanges and CRYSTALS-Kyber1024 encapsulation through HKDF. The recipient publishes public pre-key material so a sender can start a session while they are offline.
- 03
Message
Double Ratchet · new root = HKDF(DH_ratchet ‖ KEM_ratchet)
AES-256-GCM and a Double Ratchet, with X25519 and CRYSTALS-Kyber1024 combined at asymmetric ratchet steps. Correct key erasure and fresh exchanges are required for the intended protection.
- 04
Groups
MLS (RFC 9420) + intouch_hybrid_v1
MLS (RFC 9420), with the InTouch hybrid extension. Hybrid group protection requires the relevant build features and client support; verify the configuration of your deployment.
Published primitives, an InTouch composition
Asgard uses the published primitives below with an InTouch hybrid composition. Its CRYSTALS round-3 encodings are distinct from final ML-KEM and ML-DSA standards. This is not a claim of FIPS validation or independent audit.
- Symmetric encryption
- AlgorithmAES-256-GCM
- StandardNIST
- Strength256-bit
- Key exchange
- AlgorithmX25519
- StandardRFC 7748
- Strength~128-bit classical
- Signatures
- AlgorithmEd25519
- StandardRFC 8032
- Strength~128-bit classical
- Post-quantum KEM
- AlgorithmCRYSTALS-Kyber1024
- StandardCRYSTALS round 3
- StrengthNIST level 5
- Post-quantum signatures
- AlgorithmCRYSTALS-Dilithium5
- StandardCRYSTALS round 3
- StrengthNIST level 5
- Key derivation
- AlgorithmHKDF-SHA-512
- StandardRFC 5869
- Strength256-bit
- Group protocol
- AlgorithmMLS
- StandardRFC 9420
- Strength—
What the server holds
The relay handles encrypted content and public verification material. It also processes operational metadata, including Space membership and who posts. The lists distinguish that data from protected content and private keys.
Held
- Account identifiers and public verification keys
- Encrypted messages waiting for delivery
- Space membership and who posts
- Recipient routing, timing and traffic volume
- Encrypted key backups where enabled
Out of reach
- Protected message content
- Encrypted message fields and values
- Participants’ private decryption keys
What this does not protect
Protection depends on secure endpoints, correct build features and deployment settings. Authorised recipients and agents can retain what they receive. Metadata remains visible. The CRYSTALS round-3 algorithms are not the final FIPS-standardised ML-KEM and ML-DSA encodings; no certification or completed independent audit is claimed.
Contact discovery availability
A server-side blinded contact-discovery implementation has been confirmed in source review. Client integration and deployed availability remain unverified. Check the app version and Security page before relying on it.
What you can check today
Read the protocol summary, check the security status and compare important identities through a trusted channel.
- 01
Read the security status
Implementation evidence, deployment requirements and protections still awaiting independent verification.
- 02
Watch the transparency log
Clients check keys against signed log histories using inclusion and consistency proofs. Comparing histories between independent observers is needed to detect separate, internally consistent views of the log.
- 03
Compare a safety number
Compare safety numbers through an independent channel with someone whose identity you already know.
This is the shape of it, and not the whole of it.
Read the protocol summary and implementation notes. Public source publication and a completed independent audit are still pending.