-
Notifications
You must be signed in to change notification settings - Fork 0
14 Contacts Groups and Security Center
Corresponding Specifications:
sys-arch/ui-ux-08-contacts-requests-verification-identity-architecture.md,sys-arch/ui-ux-09-groups-membership-roles-architecture.md,sys-arch/ui-ux-15-security-center-devices-keys-recovery-architecture.md
Key Crates:crates/siar-identity-multidevice,crates/siar-crypto-mls,crates/siar-ui-state,apps/desktop
Contacts in SIAR are cryptographically identified by their Ed25519 AccountId and classified into four verification tiers:
[New Contact Discovered / Received Message]
|
v
+---------------+
| Unverified | ---> Default state; warning banner displayed
+-------+-------+
|
+-------------+-------------+
| (SAS 6-digit match or QR) | (Revocation tombstone received)
v v
+---------------+ +---------------+
| Verified | | Revoked |
+---------------+ +---------------+
-
Safety Number (SAS 6-Digit Code): Two peers compare a numeric string (
"842 193") or 3-word emoji set derived from their mutual identity keys. - Dynamic QR Code Scan: Users scan each other's visual contact QR codes during in-person rendezvous.
- Hardware NFC Tap: Fast touch verification between two smartphones.
Group chats are powered by IETF Messaging Layer Security (MLS):
graph TD
Admin[Group Admin: Issues Add/Remove Proposals] --> Commit[Group Commit Message Epoch N+1]
Commit --> TreeUpdate[TreeKEM Key Evolution]
TreeUpdate --> Members[All Active Group Members: Compute New Epoch Secrets]
| Capability | Group Admin | Standard Member | Read-Only Observer |
|---|---|---|---|
| Send Encrypted Messages | Yes | Yes | No |
| Attach Files / Media | Yes | Yes | No |
| Invite New Members | Yes | Optional (Policy) | No |
| Remove / Kick Members | Yes | No | No |
| Update Group Title/Avatar | Yes | Optional | No |
| Trigger Epoch Ratchet | Yes | Yes | No |
The Security Center interface (siar-ui-state + apps/desktop SecurityEventsScreen and DevicesScreen) gives users total sovereignty over their cryptographic perimeter:
+-------------------------------------------------------------------------------+
| SIAR Security Center |
+-------------------------------------------------------------------------------+
| [ Shield: Protected ] All 3 linked devices verified with Root Key |
| |
| Linked Devices: |
| 📱 Primary Phone (Android 14) • Gen 1 • Active Now (This device) |
| 💻 Work Laptop (Linux Dioxus) • Gen 2 • Active 10 min ago |
| 📟 Emergency Field Node (RPi Zero) • Gen 3 • Mesh Relay Node [Revoke] |
| |
| Cryptographic Safety: |
| 🔑 Export 24-Word Recovery Phrase |
| 📦 Generate Encrypted Offline Backup (.siarbackup) |
| 🚨 Emergency Account Lockdown (Revoke all secondary devices) |
+-------------------------------------------------------------------------------+
-
Granular Revocation Capabilities (
RevocationCapabilities): Explicitly detects whether a device supports remote wipe/sign-out (sign_out_copy). If remote storage cannot be guaranteed wiped (e.g. air-gapped device with local SQLite), the UI displays an explicit non-erasable local database warning. -
Recovery Scopes (
RecoveryScope): Clearly demarcates what cold recovery restores (Identity, Keys, Group memberships) versus what is lost (unrestorable ephemeral local history without prior backup). -
Compromise Response Checklist: Step-by-step guided recovery flow including:
- Device ejection & tombstone generation
- Re-verification of affected contacts (
ReVerifyAffectedContacts) - Instant fresh encrypted backup creation (
CreateFreshBackup)
-
Emergency Account Lockdown:
- Primary device signs a global
RevocationTombstonefor all secondaryDeviceIds. - Broadcast across all mesh and relay links at Priority 0 (Life-Safety).
- Compromised devices are immediately evicted from all MLS groups and sessions.
- Primary device signs a global
SIAR — Survivable Identity & Autonomous Routing
Open Source Mesh & DTN Communications Platform | Dual Licensed under MIT / Apache-2.0 / Commercial
Documentation Index • GitHub Repository • System Specifications
- 04-Autonomous-Routing-and-Policy-Engine
- 05-Proximity-and-Hardware-Transports
- 06-Delay-Tolerant-Networking-and-Bundle-Forwarding
- 07-Battery-Aware-Scheduling-and-Emergency-Mesh
- 08-Offline-Event-Log-and-Outbox-Engine
- 09-Robust-Blob-Storage-and-Chunk-Transfers
- 10-Crash-Recovery-and-Data-Portability
- 11-Realtime-Audio-Video-Calling-Architecture
- 12-Cross-Platform-Client-Architecture
- 13-Messaging-Timeline-Composer-and-Inbox
- 14-Contacts-Groups-and-Security-Center
- 15-Nearby-Discovery-and-Out-of-Band-Pairing
- 16-Notifications-Presence-and-Background-Lifecycle
- 17-Local-Knowledge-Retrieval-and-Search
- 25-Design-System-Tokens-and-Responsive-Layouts
- 26-UI-UX-Performance-Testing-and-Quality-Gates
- 18-Protocol-Extensions-and-WASM-Plugins
- 19-Headless-Daemons-and-Embedded-Nodes
- 20-C-ABI-FFI-and-Native-Language-Bindings
- 21-Testing-Fuzzing-and-Network-Diagnostics
- 22-Getting-Started-and-Developer-Guide
- 23-Off-Grid-Survival-and-Field-Operations-Guide
- 24-System-Comparison-and-Benchmarking