- Add createChannel RPC (node.capnp @18): create 1:1 channel, returns 16-byte channelId - Store: create_channel(member_a, member_b), get_channel_members(channel_id) - FileBackedStore: channels.bin; SqlStore: migration 003_channels, schema v4 - channel_ops: handle_create_channel (auth + identity, peerKey 32 bytes) - Delivery authz: when channel_id.len() == 16, require caller and recipient are channel members (E022/E023) - Error codes E022 CHANNEL_ACCESS_DENIED, E023 CHANNEL_NOT_FOUND - SUMMARY: link Certificate lifecycle; security audit, future improvements, multi-agent plan docs - Certificate lifecycle doc, SECURITY-AUDIT, FUTURE-IMPROVEMENTS, MULTI-AGENT-WORK-PLAN - Client/core/tls/auth/server main: assorted fixes and updates from review and audit Co-authored-by: Cursor <cursoragent@cursor.com>
3.3 KiB
3.3 KiB
Summary
Why quicnprotochat?
Getting Started
- Prerequisites
- Building from Source
- Running the Server
- Running the Client
- Certificate Lifecycle and CA-Signed TLS
- Docker Deployment
- Demo Walkthrough: Alice and Bob
Architecture
- Architecture Overview
- Protocol Stack
- Crate Responsibilities
- Service Architecture
- End-to-End Data Flow
Protocol Deep Dives
- Protocol Layers Overview
- QUIC + TLS 1.3
- Cap'n Proto Serialisation and RPC
- MLS (RFC 9420)
- Hybrid KEM: X25519 + ML-KEM-768
Cryptographic Properties
- Cryptography Overview
- Ed25519 Identity Keys
- Key Lifecycle and Zeroization
- Forward Secrecy
- Post-Compromise Security
- Post-Quantum Readiness
- Threat Model
Wire Format Reference
Design Rationale
- Design Decisions Overview
- ADR-002: Cap'n Proto over MessagePack
- ADR-004: MLS-Unaware Delivery Service
- ADR-005: Single-Use KeyPackages
Implementation Internals
- GroupMember Lifecycle
- KeyPackage Exchange Flow
- Delivery Service Internals
- Authentication Service Internals
- Storage Backend
Roadmap and Research
- Milestone Tracker
- Phase 2 + M4–M6 Roadmap
- Production Readiness WBS
- Auth, Devices, and Tokens
- 1:1 Channel Design
- Future Research Directions