Explore: fetch Mattermost data directly from the frontend (backend data minimization) #189
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Vandaag zit de Waggle-backend tussen de browser en Mattermost voor vrijwel alle
MM-data: hij proxyt avatars/bestanden (
/api/mm/avatar,/api/mm/file), levertde kanaal-/personenkiezer (
/api/mm/targets,/api/mm/people), en denormaliseertMM-metadata op eigen rijen (o.a.
outgoing_posts.channel_display_name/team_display_name/channel_type, encards.source_data). De browser houdthet MM-token nooit vast; de backend ontsleutelt het per request en praat namens
de gebruiker met MM.
Onderzoek of de frontend MM-data rechtstreeks en veilig kan ophalen, zodat de
Waggle-backend minder Mattermost-data opslaat en verwerkt (AVG-dataminimalisatie /
BIO). Dat verkleint de MM-metadata-voetafdruk in Waggle (minder gedenormaliseerde
kolommen, minder proxying, een kleiner cross-tenant-oppervlak).
Hier moet eerst een plan/ontwerp voor komen - het "veilig"-deel is het hele
probleem:
at rest). Direct-vanuit-de-browser vraagt een ander auth-pad: de eigen
MM-sessiecookie van de gebruiker, een scoped/kortlevend token, een
token-exchange, of CORS + de eigen MM-auth op de doelserver.
leesbaar blijven als MM onbereikbaar is (verlopen token, gearchiveerd kanaal,
offline) - precies waarom de display-snapshot nu bestaat. Een direct-fetch-model
moet beslissen wat het dan nog snapshot.
HTML-preview-sandbox worden nu allemaal door de proxy afgehandeld.
Buiten scope voor nu: de backend houdt de metadata die hij heeft (de
outgoing_posts-display-snapshot blijft). Dit issue is de plek om de richting teontwerpen; nog geen wijziging.
Gerelateerd: de outbox-display-denormalisatie (fase 4), de
/api/mm/*-proxy +lookups, en het threat-model in docs/security.md.
Onderzocht, ontworpen en inmiddels geimplementeerd. Uitkomst van het onderzoek: direct-van-de-browser kan niet veilig (MM kent geen scoped tokens - ook v11 niet; CORS ligt bij de doelserver; de CSP/een-origin-keuze uit WDR-0002; media-elementen kunnen geen Bearer dragen). Het doel is via een andere decompositie gehaald:
Buiten scope gebleven zoals besloten: de outbox-display-snapshot blijft, MM-native scheduled posts vervallen als fundament (licentie-eis), en de CLI-route (die wel rechtstreeks met MM kan praten) is geparkeerd. Threat-model en conventies zijn bijgewerkt in docs/security.md en .claude/CLAUDE.md.