feat(collab): apparaatverificatie via fingerprint-vergelijking (Matrix) #1063

Merged
brenno merged 1 commit from feat/matrix-device-verification into main 2026-08-01 09:36:01 +00:00
Owner

Rondt de #977-plak af: tijdens een Matrix-sessie kun je de deelnemers verifiëren door hun apparaat-vingerafdrukken out-of-band te vergelijken.

Wat

  • collab_participant.dartCollabParticipant + deviceFingerprint: de leesbare weergave (hoofdletter-hex in groepjes van vier) van een Ed25519 identity-key. De binding-check vangt al een relay die één sleutel omwisselt vóór een peer de directory in mag; de vingerafdruk is de menselijke out-of-band-check die óók een homeserver vangt die béíde sleutels vervangt (§4.3).
  • Sessie stelt de deelnemers beschikbaar: MatrixDeviceDirectory.peers, MatrixKeyExchange.ownKeys/peers, MatrixCollabLaunch.participants(ownUserId), CollabSessionNotifier.matrixParticipants().
  • UI: showMatrixParticipantsDialog (dit apparaat eerst, dan elke peer, met vingerafdruk) + de palette-actie "Deelnemers verifiëren" tijdens een actieve Matrix-sessie.

Toetsing

  • deviceFingerprint-opmaak, de deelnemerslijst na host+guest actief (host ziet guest en vice versa; dezelfde host-vingerafdruk aan beide kanten — precies wat een out-of-band-vergelijking bevestigt), en de dialoogweergave.
  • make check groen: 7811 tests, dekking 87,4%, per-bestandsvloer 0 onder.
  • l10n: 3 nieuwe bronstrings × 31 talen. SOURCE_MAP bijgewerkt.

Rondt de verticale plak voor #977 af: datalaag → account → provider → host/deel/join → apparaatverificatie, alles pure Dart, EUPL-1.2 behouden, geen AGPL/Rust.

Rondt de #977-plak af: tijdens een Matrix-sessie kun je de deelnemers verifiëren door hun apparaat-vingerafdrukken out-of-band te vergelijken. ## Wat - **`collab_participant.dart`** — `CollabParticipant` + `deviceFingerprint`: de leesbare weergave (hoofdletter-hex in groepjes van vier) van een Ed25519 identity-key. De binding-check vangt al een relay die één sleutel omwisselt vóór een peer de directory in mag; de vingerafdruk is de menselijke out-of-band-check die óók een homeserver vangt die béíde sleutels vervangt (§4.3). - **Sessie stelt de deelnemers beschikbaar:** `MatrixDeviceDirectory.peers`, `MatrixKeyExchange.ownKeys`/`peers`, `MatrixCollabLaunch.participants(ownUserId)`, `CollabSessionNotifier.matrixParticipants()`. - **UI:** `showMatrixParticipantsDialog` (dit apparaat eerst, dan elke peer, met vingerafdruk) + de palette-actie **"Deelnemers verifiëren"** tijdens een actieve Matrix-sessie. ## Toetsing - `deviceFingerprint`-opmaak, de deelnemerslijst na host+guest actief (host ziet guest en vice versa; dezelfde host-vingerafdruk aan beide kanten — precies wat een out-of-band-vergelijking bevestigt), en de dialoogweergave. - `make check` groen: 7811 tests, dekking 87,4%, per-bestandsvloer 0 onder. - l10n: 3 nieuwe bronstrings × 31 talen. SOURCE_MAP bijgewerkt. Rondt de verticale plak voor #977 af: **datalaag → account → provider → host/deel/join → apparaatverificatie**, alles pure Dart, EUPL-1.2 behouden, geen AGPL/Rust.
feat(collab): apparaatverificatie via fingerprint-vergelijking (Matrix)
All checks were successful
scans / scans (pull_request) Successful in 3m35s
c948262782
Sluit de #977-plak af (PR-3d): tijdens een Matrix-sessie kun je de deelnemers
verifiëren door hun apparaat-vingerafdrukken out-of-band te vergelijken.

- `collab_participant.dart`: `CollabParticipant` + `deviceFingerprint` — de
  leesbare weergave (hoofdletter-hex in groepjes van vier) van een Ed25519
  identity-key. De binding-check vangt al een relay die één sleutel omwisselt
  vóór een peer de directory in mag; de vingerafdruk is de menselijke
  out-of-band-check die óók een homeserver vangt die béíde sleutels vervangt
  (SELF_ENCRYPTED_RELAY.md §4.3).
- Sessie stelt de deelnemers beschikbaar: `MatrixDeviceDirectory.peers`,
  `MatrixKeyExchange.ownKeys`/`peers`, `MatrixCollabLaunch.participants(ownUserId)`,
  en `CollabSessionNotifier.matrixParticipants()`.
- UI: `showMatrixParticipantsDialog` (dit apparaat eerst, dan elke peer, met
  vingerafdruk) + de palette-actie "Deelnemers verifiëren" tijdens een actieve
  Matrix-sessie.

- Tests: `deviceFingerprint`-opmaak, de deelnemerslijst na host+guest actief
  (host ziet guest en vice versa, dezelfde host-vingerafdruk aan beide kanten),
  en de dialoogweergave. `make check` groen (7811 tests, 87,4% dekking).
- l10n: 3 nieuwe bronstrings × 31 talen. SOURCE_MAP bijgewerkt.

Rondt de verticale plak voor #977 af: datalaag → account → provider → host/deel/
join → apparaatverificatie, alles pure Dart, EUPL-1.2 behouden.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
brenno merged commit 1806ee382f into main 2026-08-01 09:36:01 +00:00
brenno deleted branch feat/matrix-device-verification 2026-08-01 09:36:02 +00:00
Sign in to join this conversation.
No description provided.