docs(design): pure-Dart self-encrypted relay — realtime samenwerken zonder AGPL/Rust (#977) #1011

Merged
brenno merged 2 commits from design/self-encrypted-relay into main 2026-07-31 09:34:13 +00:00
Owner

Volgt op het besluit in assurance/ketenkeuring-self-encrypted-relay.md (GO, 2026-07-31): de pure-Dart-route naar realtime-samenwerken.

Twee commits:

  1. Keuring afgetikt — besluit GO vastgelegd; #976/#991 niet gevolgd; de vier voorwaarden blijven als bouwvoorwaarden.
  2. Het uitgewerkte ontwerp docs/design/SELF_ENCRYPTED_RELAY.md (17 secties, pick-up-cold): crypto-contract (X25519 ECDH → per-epoch sessiesleutel → XChaCha20-Poly1305 + Ed25519, géén ratchet), MatrixRelayTransport + dunne MatrixClient, presence-handover, onboarding/sleutelopslag/device-verificatie, homeserver-sleutelsubstitutie + verdediging, provider/UI-bedrading, hardening, gates, gefaseerde bouwvolgorde, testplan, 8 open vragen, bestandenkaart.

De hele gebouwde collab-kern (Fase 0/0.5) wordt hergebruikt achter de CollabTransport-seam; nieuw is één cryptoseam, een CS-client, een transport en presence-handover. Eén nieuwe permissieve dep in het vooruitzicht (cryptography, Apache-2.0); geen Rust, EUPL blijft.

Geregistreerd: pubspec-asset + reader-tegel (titel in 31 talen) + docs/README-index; COLLABORATION.md §6/§9 als vervangen gemarkeerd, Fase 1 wijst hierheen.

Groen: format, analyze, docs-registration (+4), make l10n-check (23/23). Alleen documentatie + l10n; geen productiecode, geen deps toegevoegd.

Volgt op het besluit in `assurance/ketenkeuring-self-encrypted-relay.md` (GO, 2026-07-31): de pure-Dart-route naar realtime-samenwerken. **Twee commits:** 1. Keuring afgetikt — besluit GO vastgelegd; #976/#991 niet gevolgd; de vier voorwaarden blijven als bouwvoorwaarden. 2. Het uitgewerkte ontwerp `docs/design/SELF_ENCRYPTED_RELAY.md` (17 secties, pick-up-cold): crypto-contract (X25519 ECDH → per-epoch sessiesleutel → XChaCha20-Poly1305 + Ed25519, géén ratchet), `MatrixRelayTransport` + dunne `MatrixClient`, presence-handover, onboarding/sleutelopslag/device-verificatie, homeserver-sleutelsubstitutie + verdediging, provider/UI-bedrading, hardening, gates, gefaseerde bouwvolgorde, testplan, 8 open vragen, bestandenkaart. De hele gebouwde collab-kern (Fase 0/0.5) wordt hergebruikt achter de `CollabTransport`-seam; nieuw is één cryptoseam, een CS-client, een transport en presence-handover. Eén nieuwe permissieve dep in het vooruitzicht (`cryptography`, Apache-2.0); geen Rust, EUPL blijft. Geregistreerd: pubspec-asset + reader-tegel (titel in 31 talen) + `docs/README`-index; COLLABORATION.md §6/§9 als vervangen gemarkeerd, Fase 1 wijst hierheen. Groen: format, analyze, docs-registration (+4), make l10n-check (23/23). Alleen documentatie + l10n; geen productiecode, geen deps toegevoegd.
De beheerder heeft de knoop doorgehakt: GO voor de pure-Dart-route naar
realtime-samenwerken (homeserver als versleuteld doorgeefluik + eigen minimaal
E2EE). #976 (famedly, AGPL) en #991 (matrix-rust-sdk, Rust) worden niet gevolgd.
De vier voorwaarden uit de keuring blijven staan als bouwvoorwaarden, met
voorwaarde 1 (minimaal cryptoschema, geen eigen ratchet, externe toets) als de
harde. Licentiebeleid ongewijzigd; niets geherlicenseerd.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
docs(design): pure-Dart self-encrypted relay — detailed implementation design (#977)
All checks were successful
scans / scans (pull_request) Successful in 3m37s
4b61060ba6
Detailed, pick-up-cold design for realtime collaboration along the decided
pure-Dart route: the homeserver as an encrypted relay with OciDeck's own minimal
E2EE (X25519 ECDH -> per-epoch session key -> XChaCha20-Poly1305 AEAD + Ed25519
signatures, deliberately no ratchet). Reuses the whole built collab core behind
the CollabTransport seam; new code is one crypto seam (CollabCrypto), a thin
pure-Dart Matrix CS client, MatrixRelayTransport, and presence-based handover.
Covers onboarding/key storage/device verification, the homeserver
key-substitution attack + defence, provider/UI wiring, hardening, gates, a phased
build order, a test plan, 8 open questions and a file map.

Registers the doc (pubspec asset + reader tile + docs/README index) and marks
COLLABORATION.md §6/§9 as superseded, pointing Phase 1 here. New reader-tile
title translated into all 31 languages via make add-l10n.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 3b90104ff6 into main 2026-07-31 09:34:13 +00:00
brenno deleted branch design/self-encrypted-relay 2026-07-31 09:34:13 +00:00
Sign in to join this conversation.
No description provided.