Skip to content

diagram sharing phase 3: event-channel confidentiality (recipient-scoped routing) #78

Description

@fabracht

Phase 3 of diagram sharing (design: docs/design/diagram-sharing.md).

Problem

Change events still broadcast to all authenticated subscribers. A grantee can read a shared resource via CRUD, but any authenticated user still receives its live-update events — the pre-existing all-subscribers-see-all-events behavior. Under the "mutually untrusting tenants" threat model this is a confidentiality leak.

Scope

  • Route change events to recipient-scoped topics (e.g. $DB/u/{recipient}/events/...) derived from the resource owner + its _shares recipients.
  • Enforce with %u topic-ACL substitution (already supported in mqtt-lib) so a subscriber only receives events for resources it can see.
  • mqtt-lib broker fan-out is off-limits; confidentiality must come from topic scoping + ACL, not from filtering at fan-out.
  • Agent path first; cluster path tracked in cluster parity for diagram sharing #75.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions