Arc / सुरक्षा
बहु-परत E2EE आर्किटेक्चर
प्रकाशित engineering direction वाला व्यावसायिक security product
ILLUSTRATED 1:1 FLOW · 10-SECOND PREVIEW
Encrypted here.Opened there.
A message between people. Private keys stay on the devices; servers carry ciphertext and delivery data.
- 01Encrypt on device
The message is encrypted before it leaves.
- 02Transport ciphertext
Firestore carries ciphertext and delivery data.
- 03Open on device
The recipient’s device decrypts the message.
Concept animation of one delivery path, not a recording of the app. Other paths, server-visible metadata and exceptions are documented below.
Arc system architecture
Explore the system diagram
Private keys are stored in the device Keychain / Keystore and never sent to servers. Messages to other people are encrypted on the device before they are sent. Phoenix hands out public PreKeys, Firestore carries ciphertext, receipts and delivery data, and Cloud Functions handle expiry deletion and notifications. Mesh bypasses servers.
Devices (iOS / Android / macOS)
Arc Protocol
1:1 · libsignal v0.96.2 · Rust FFI
- PQXDH
- Kyber-1024
- Double Ratchet
- Private keys
- Keychain / Keystore
- Decrypted text
- SQLite / Hive
Message text and private keys never go to servers (except AI chats, link previews)
Explore the message flows
The dots move in the numbered order. On each of these paths, message text is encrypted on the device before it is sent.
Post-quantum
1:1 message
- First time: fetch B's keys
- Encrypt on the device
- Send ciphertext only
- Notify (no content)
- Decrypt on B's device
- Read / decrypt receipts
Only A's and B's devices can read the text
1:1 is post-quantum (PQXDH). Group messages are not (shared key + X25519 ECIES). On Mesh, nearby Arc phones may forward the ciphertext without being able to read it. Routed relay is in development.
Arc Protocol — 1:1 encryption pipeline
PQXDH
Key agreement with X25519 + Kyber-1024 (post-quantum)
Double Ratchet
A new key for every message
AES-256-GCM
Encrypts message bodies and media
Technology stack

App
Flutter 3.44 / Riverpod 2.6 / Rust FFI (libsignal v0.96.2)
Key distribution API
Elixir / Phoenix on Google Cloud Run (europe-west1)
Delivery and auth
Firebase (Auth / Firestore / Storage / Functions / FCM / App Check / Crashlytics)
Mesh
BLE implementation (Dart + Android Kotlin + iOS Swift, in-house, beta)
Technical specifications
The four encryption layers
Arc core specification
Arc's core specification is ML-KEM-1024/PQXDH, E2EE for 1:1 and group chats, IGF, and offline Mesh. This Security page documents the scope and technical details.
PQXDH कुंजी विनिमय
प्रकाशित engineering direction वाला व्यावसायिक security product
Double Ratchet
प्रकाशित engineering direction वाला व्यावसायिक security product
AES-256-GCM एन्क्रिप्शन
प्रकाशित engineering direction वाला व्यावसायिक security product
XEdDSA हस्ताक्षर (libsignal)
प्रकाशित engineering direction वाला व्यावसायिक security product
ML-KEM-1024 पैरामीटर
POST-QUANTUM
NIST FIPS 203 मानकीकृत पोस्ट-क्वांटम कुंजी एनकैप्सुलेशन मेकेनिज़्म।
| एल्गोरिदम | ML-KEM-1024 (via libsignal-client) |
|---|---|
| NIST सुरक्षा स्तर | Security category 5 |
| शास्त्रीय सुरक्षा | 2^128 bit (X25519) |
| क्वांटम सुरक्षा | NIST security category 5 |
| आधार | Module Lattice (FIPS 203) |
| सार्वजनिक कुंजी आकार | 1,568 bytes |
| गुप्त कुंजी आकार | 3,168 bytes |
| सिफ़रटेक्स्ट आकार | 1,568 bytes |
अनुपालन और मानक
NIST CSF 2.0
NIST फ्रेमवर्क। 6 कार्यों से व्यवस्थित साइबर जोखिम प्रबंधन।
NIST SP 800-53
संघीय सुरक्षा नियंत्रण। FedRAMP आधार।
FIPS 140-3
प्रकाशित engineering direction वाला व्यावसायिक security product
NIST SP 800-175B
क्रिप्टोग्राफ़िक एल्गोरिदम चयन मार्गदर्शिका। FIPS 203 आधारित।
ISO/IEC 27001
अंतर्राष्ट्रीय ISMS प्रमाणन। B2B/B2G विश्वास आधार।
GDPR
EU सामान्य डेटा सुरक्षा विनियमन। विश्व का सर्वोच्च सुरक्षा मानक।
UK Cyber Essentials+
ब्रिटिश सरकार प्रमाणित साइबर सुरक्षा प्रमाणन।
NCSC Cloud Security
ब्रिटिश NCSC 14 सिद्धांत। क्लाउड सुरक्षा मूल्यांकन मानक।
अमेरिकी NIST, EU GDPR, ब्रिटिश NCSC और ISO के प्रकाशित दिशानिर्देशों के संदर्भ में डिज़ाइन किया गया। यह कोई प्रमाणन या तृतीय-पक्ष ऑडिट नहीं है।
