Related / "People also viewed" panels usually query by shared tag, same parent, or embedding neighbor. That query is scoped by workspace_id and maybe deleted_at IS NULL. It rarely re-runs the viewer's read check on each neighbor.
A contractor opens a deal they can see. The sidebar lists "Acme renewal (legal hold)" because that record shares a tag. The contractor cannot open Acme. The title already leaked.
When you build the related list for a viewer, run the same read check the detail page uses on every candidate. Drop rows that fail. Don't show a locked icon next to a title the viewer was not allowed to know.
Quick test: as a limited viewer, open a public record that shares a tag with a private one. If the private title shows in Related, the panel skipped the check.
Top comments (0)