Arc / SECURITY
多层 E2EE 架构
公开工程方向的商业安全产品
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 密钥交换
公开工程方向的商业安全产品
Double Ratchet
公开工程方向的商业安全产品
AES-256-GCM 加密
公开工程方向的商业安全产品
XEdDSA 签名(libsignal)
公开工程方向的商业安全产品
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
公开工程方向的商业安全产品
NIST SP 800-175B
加密算法选择指南。基于FIPS 203。
ISO/IEC 27001
国际ISMS认证。B2B/B2G信任基础。
GDPR
欧盟通用数据保护条例。全球最高保护标准。
UK Cyber Essentials+
英国政府认证网络安全认证。
NCSC Cloud Security
英国NCSC 14原则。云安全评估标准。
参考美国NIST、欧盟GDPR、英国NCSC和ISO公开发布的指南进行设计。这并非认证或第三方审计。
