Skip to content

Link node type: global links, public links (/l/{publicId}) with delegated read, and an org-wide group partition #4306

Description

@rbuergi

What

A platform Link node type (Essentials): LinkContent { target, publicId?, expiresAt?, note }. The link's page renders the target's default view through the target's own hub as the link's viewer — a link grants nothing by itself: whoever can read the target reads it here, nobody else. Safe to put in any home, space or course.

  • Public link: an unguessable publicId, an Anonymous Viewer grant on the link node, and /l/{publicId} serving the target's rendered view through a delegated read — the creator's right to the target captured at creation, re-checked at each render, expiring with expiresAt. Revoking the link revokes the read; the target's grants are never widened.
  • Governed creation: link.publish as a Governance standard (inputs target / audience / expiry; gates Manual("content-reviewed") + a passkey-backed signature by the target space's admin; executor CreateLink as System) and link.revoke unattended for the creator — see Systemorph/MeshWeaver.Plugins#1848's design § "Global links, public links, and a /public-link skill".
  • /public-link skill: propose, follow, hand back the URL; audit every public link (target, audience, expiry, signer).
  • Org-wide audience: group grants resolve only inside the partition holding the group (Skill/group), so "share with Systemorph employees" needs a platform-level group partition (Groups/{org}) whose grants resolve cross-partition.

Why

Maintainer, 2026-09-14: "some global link feature? would come in handy … including public link skill … with approval steps and all the sh-bang" — today a design page can only be shared by copying it into a space and granting there.

🤖 Generated with Claude Code

https://claude.ai/code/session_016r2xu5Mebm6MnUUQSfbro3

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions