ABAuth By Exampleinauthbyexample.hashnode.dev·2h ago · 1 min readThe related records panel can show items the detail page would hideYou open a ticket you are allowed to see. The sidebar lists related documents by foreign key or tag. That query often only checks whether the ticket is readable, then returns every linked row. A priva00
ABAuth By Exampleinauthbyexample.hashnode.dev·4h ago · 1 min readDownloading an attachment should re-check access on the parent recordAttachment download URLs often get minted once and stay valid for a long time. The server signed a path when the user could read the ticket, then never looked again. Later that person loses access, or00
ABAuth By Exampleinauthbyexample.hashnode.dev·5h ago · 1 min readMoving a file into a folder should check write on that folderMost move endpoints check whether you can update the file. They skip the destination. A teammate with read access on a shared report and no write access on the Finance folder can still drop that repor00
ABAuth By Exampleinauthbyexample.hashnode.dev·1d ago · 1 min readA shared saved view should run with the viewer's permissionsSaved views are handy. Someone builds a filter like "open deals over $50k in EMEA", names it, and shares it with the team. The bug shows up when the app stores the results, or the creator's permission00
ABAuth By Exampleinauthbyexample.hashnode.dev·1d ago · 2 min readYour permission cache key needs the tenant in itA common speedup is caching the answer to "can this user do this action" for a minute or two. The trouble starts when the cache key is only user ID plus action. Someone who belongs to two workspaces g00