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.47 / 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)
Arc Security & BLE Mesh Interactive State Machine
Strict verification of Post-Quantum PQXDH, Sealed Sender, offline BLE Mesh Store-and-Forward, and Cryptographic Message Retirement.
Implements hybrid key agreement combining NIST FIPS 203 ML-KEM-1024 lattice cryptography with classical X25519 for 1:1 chats, countering 'Harvest Now, Decrypt Later' quantum threats.
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 |
DefenseTech Runtime Hardening (Passkey, Zero-Knowledge Key Backup, Zeroization & Secret Mode)
Passkey (WebAuthn) × Zero-Knowledge Key Backup
Phishing-resistant Passkey (WebAuthn) authentication and biometric unlock. Zero-Knowledge Key Backup (PBKDF2-HMAC-SHA256 600,000 iterations + HKDF-SHA256 + AES-256-GCM AAD owner binding) integrates ML-KEM-1024 (Kyber) TOFU pin state with monotonic merge protection for quantum-resistant key continuity across devices. Stateless WebAuthn Challenges enforce Fail-Closed HMAC verification and a strict 300-second TTL ceiling.
Fail-Closed E2EE Media Engine & Immediate Memory Zeroization
Enforces Fail-Closed E2EE (XChaCha20-Poly1305 / AES-256-GCM) across all voice, image, PDF, and video attachments with zero plaintext fallback. Upon playback completion, widget disposal, or reload, decryption keys, nonces, and decrypted buffers are immediately zeroized in memory via fillRange(0, len, 0).
Secret Mode Instant Shield (0ms Release Seal & OS Switcher Protection)
Seals content in 0ms the instant the finger is released (zero transition afterimage) and automatically shields the screen on iOS/Android App Switcher, screen recording, and background lifecycle transitions (AppLifecycleState.inactive / paused / hidden).
O(1) IgfCountdownClock Consolidation (Zero-Jank 1Hz Architecture)
Consolidates all chat and group IGF (auto-vanish countdown) and Mutual Burn timers into a single unified 1Hz clock (IgfCountdownClock), delivering O(1) power efficiency and zero UI jank regardless of message volume.
Sovereign BLE Engine Arc-Protocol-Mesh (L2CAP CoC & Zero Location Permission)
Powered by Atlas Associates' sovereign Arc-Protocol-Mesh v1.0.4 engine with zero third-party mesh SDKs. Combines BLE L2CAP Connection-Oriented Channels (primary) + GATT fallback, 1:1 stateless 2-DH X25519 ECIES (arcms1:) with in-person QR hard-pinning, group AES-256-GCM + Ed25519 certificates (arcmg1:), and a 32,768-entry (frameId, fragIndex) multi-hop dedup ring—requiring zero location permission on iOS and Android 12+.
合规与标准
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公开发布的指南进行设计。这并非认证或第三方审计。
