What problem does it solve? Authenticated Jac endpoints isolate every user's data under their own root, so building features where users see or act on each other's data (feeds, likes, follows, shared documents) requires explicit permission machinery that is easy to get wrong. ## Core Features & Use Cases - Permission grants: Use grant/revoke with ReadPerm, ConnectPerm, and WritePerm levels to open individual nodes to all logged-in users, or Jac.allow_root to share one node with a single specific user. - Public commons graph: Publish genuinely public data to root.shared so feeds and catalogs resolve in one traversal instead of an O(N-users) allroots() scan. - Cross-user scans and roles: Enumerate every user's root with allroots() for admin fan-outs, and gate privileged writes behind per-user role checks stored on the user's own graph. - Use Case: Building a social app like littleX where tweets must be readable and likeable by other users: create the tweet under the author's root, grant it WritePerm so likes mutate its fields, and serve the public feed from root.shared. ## Quick Start Show me how to let other logged-in users read and like a Tweet node in my Jac server using grant and root.shared.