Files
SilverMetal/stack/README.md
SysAdmin acd3ebe7f2 docs(chat): adopt existing SilverVPN.Client.Chat as SilverChat — promote to v1
Inspection of ../SilverVPN/clients/SilverVPN.Client.Chat reveals a mature,
production-grade SilverChat implementation:

- Cross-platform MAUI client (Windows / macOS / Android / iOS)
- 13 ViewModels + 13 Views — feature-complete UX (contacts, conversations,
  group chat, invites, safety numbers, settings, login)
- Signal Protocol crypto: Double Ratchet, X3DH (PreKey + Identity stores),
  Safety Numbers, encrypted attachments
- VpnChatTransport — chat carried over the SilverVPN tunnel itself,
  eliminating third-party metadata exposure
- Server-side already in SilverVPN.Api: ChatHub (SignalR), ChatController,
  ChatAttachmentController, ContactsController
- Windows MSI installer wired (installer/silverchat/SilverChat.wxs)

Decision: adopt-as-is, do not duplicate. SilverChat is more advanced than
the v1.1 plan (which considered Matrix / Signal-fork) — three wins:
1. Signal Protocol natively, not a tentative fork
2. Chat over the VPN tunnel — better metadata hygiene
3. Cross-platform on day one

Changes:
- stack/chat/README.md rewritten as integration pointer (mirror of stack/vpn/)
- stack/README.md status table updated; SilverChat promoted v1.1 → v1
- docs/roadmap.md: new milestone 1.9 (Chat integration into Linux v1);
  Phase 1.1 alignment-review milestone removed (resolved by this finding);
  remaining 1.1 milestones renumbered
- root README.md: Stack table + Status table updated

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 03:38:45 +01:00

54 lines
3.3 KiB
Markdown

# SilverLABS Application Stack
The cross-platform spine of SilverMetal. These apps replace the cloud services your device normally talks to. Same brand, same account, same data on every platform — whether the user picked a 🔒 SilverMetal OS flavour or a 🛡️ SilverMetal Enhanced flavour.
## Components
| Component | Status | Purpose |
|---|---|---|
| [`browser/`](browser/) — **SilverBrowser** | v1 (Linux MVP) | De-Googled, telemetry-free browser |
| [`vpn/`](vpn/) — **SilverVPN** | **Existing** — see [`SilverLABS/SilverVPN`](https://git.silverlabs.uk/SilverLABS/SilverVPN). This directory tracks integration only | Always-on, no-logs VPN with our infrastructure |
| [`sync/`](sync/) — **SilverSync** | v1 (Linux MVP) | Private replacement for iCloud/Google/OneDrive |
| [`chat/`](chat/) — **SilverChat** | **Existing**`SilverVPN.Client.Chat` is already production-grade (Signal Protocol, MAUI cross-platform, transport-over-VPN). Promoted from v1.1 to **v1**. This directory tracks integration only | E2EE messenger |
| [`duress/`](duress/) — **SilverDuress** | v1.1 | Duress password / panic-wipe |
| [`keys/`](keys/) — **SilverKeys** | v1.1 | Zero-knowledge password + 2FA manager |
| [`shared/`](shared/) — common code | ongoing | Account SDK, crypto primitives, branding |
## Account model
Users get a **SilverLABS account number** (Mullvad-style — random, no email, no name). One account → all Stack apps. Payment is processed separately (SilverDotPay / cryptocurrency option) with no link back to the account number.
## Cross-platform build philosophy
Each app is built natively per platform — no Electron sprawl where avoidable:
- **Linux**: native `.deb` + Flatpak
- **Android**: native APK / AAB (or MAUI where SilverVPN already provides it)
- **Windows**: native MSI / EXE (signed)
- **macOS**: universal binary `.pkg` (notarised)
- **iOS**: App Store
SilverVPN's MAUI base already covers Windows / macOS / Android / iOS for VPN and Chat. For SilverBrowser / SilverSync / SilverKeys we'll evaluate per-app whether MAUI, Tauri/Rust, or native is the right pick.
## v1 ship order
For SilverMetal OS — Linux v1:
1. **SilverBrowser** — ungoogled-chromium-derived, our defaults, our update channel
2. **SilverVPN** integration — existing product, integrated into our ISO with always-on defaults and kill-switch
3. **SilverSync** — Nextcloud-backed (server side), client-side encryption, native Linux client
4. **SilverChat** integration — existing product (Signal Protocol over the VPN tunnel); was originally v1.1 but the upstream is mature enough to ship in v1
**Promoted from v1.1 → v1**: SilverChat — because the existing implementation in `SilverVPN.Client.Chat` is far more mature than what we'd build from scratch.
v1.1 still adds Duress and Keys.
## Server side
Server components live in separate repositories:
- `SilverLABS/SilverVPN` — already exists; includes both VPN server stack **and** SilverChat backend (`Hubs/ChatHub.cs` + `Controllers/Chat*`)
- `SilverLABS/silver-sync-server` *(to be created)* — Nextcloud + Radicale + Baïkal stack
- `SilverLABS/silver-account` *(to be created OR may live under SilverVPN)* — account-number issuance + auth gateway
Self-hostable counterparts are documented for users who don't want to use SilverLABS infrastructure.