Architecture
Architecture, scope, evidence
This page is written for your security teams: how AKARUP is built, exactly what the server sees, and the elements you can verify for yourselves.
The primitives
No home-made cryptographic primitives: public, standardized algorithms, composed according to a documented specification tested in two implementations.
ML-KEM-768 · FIPS 203
Post-quantum key exchange
Shared secrets are established with ML-KEM-768, standardized by NIST and sized to withstand quantum computers.
ML-DSA-65 · FIPS 204
Post-quantum signatures
The authenticity of identities, devices, and actions is guaranteed by ML-DSA-65, the NIST post-quantum signature standard.
XChaCha20-Poly1305
Content encryption
Messages, files, and notes are encrypted with XChaCha20-Poly1305, a modern, fast authenticated cipher.
Argon2id · HKDF-SHA-256
Key derivation
Your password is turned into a key via Argon2id, designed to resist brute-force attacks; derived keys go through HKDF-SHA-256.
BIP39
Recovery phrase
A standard BIP39 mnemonic phrase is your only portable recovery path. It never leaves your hands.
TypeScript ↔ Go
Two cross-verified implementations
The entire stack exists in TypeScript and Go, with test vectors guaranteeing bit-identical results.
PQC de bout en bout · TLS en transit
Two independent cryptographic layers
AKARUP's end-to-end encryption is fully post-quantum (ML-KEM-768, ML-DSA-65, XChaCha20-Poly1305). In transit, these already-encrypted exchanges additionally travel through proven TLS channels: two independent cryptographic layers protect every exchange.
Who holds the keys? You do.
Your data is protected by a master key generated randomly on your device. It is never transmitted in the clear and cannot be reconstructed by anyone but you.
- 01The master key is wrapped by a key derived from your password (Argon2id): that is your everyday access.
- 02It is also wrapped by a key derived from your BIP39 recovery phrase: that is your safety net, independent of the password.
- 03Losing both means losing access to the data — by design. No backdoor, no recovery on our side.
What the server sees
The server transports and stores data encrypted on your devices. Messages, files, notes, group operations: every action travels through the same channel in encrypted, uniform form.
One exception, owned and documented
Your email address is known to the server in the clear. It is used for anti-bot protection, account recovery, and exercising your GDPR rights. It is the only identifying data in that situation, and we would rather say so than hide it.
Multiple users, one device, no leakage
Each account on a device has its own keys and its own encrypted space, with no shared state between profiles. The isolation is cryptographic, not merely visual.
Evidence and transparency
We'd rather show than claim: analyses published unedited, a protocol exercised by two independent implementations, an external evaluation process tracked publicly.
How to read this page
The analyses published here are generated by AI assistants (Claude, ChatGPT, Gemini) to which we submit the application's code for a security- and post-quantum-cryptography-oriented review. They are published without any modification — no cuts, no rewording — and updated regularly. They do not constitute a formal security audit and are no substitute for an independent evaluation.
Analyses
Each analysis is published in its original language.
Audit du code source — application mobile pq-akarup-mobile
Claude (Anthropic)
Audit de sécurité — AKARUP (application mobile et protocole)
ChatGPT (OpenAI)
Two independent implementations, one protocol
AKARUP's cryptography exists in two distinct implementations — TypeScript in the app, Go in the CLI — producing bit-identical results, verified by cross-implementation test vectors. A protocol that survives two independent implementations is neither opaque nor improvised.
21 vecteurs TypeScript ↔ Go · au bit près
Independent external evaluation
A security evaluation by an independent laboratory is being prepared for early 2027. In addition, the code is regularly submitted to several independent AI analysis systems, and their conclusions are published as-is — as a complement to the formal evaluation process, not a substitute for it. This page will reflect each milestone reached — and only milestones actually reached.
Architecture questions?
We answer technically, with documents to back it up.
ML-KEM-768 · ML-DSA-65 · XChaCha20-Poly1305 · Argon2id