Tenancy
Isolation is a property of the data layer, not a rule that route handlers are trusted to follow. No repository method is callable without an organisation scope, so a new endpoint cannot accidentally be the one that leaks.
- Cross-organisation read, list, search and download are all denied
- A denial answers “not found” rather than “forbidden”, so existence does not leak
- Roles that match how a firm works: owner, lead, analyst, read-only
- A client role scoped to one engagement and provably nothing else
- Multi-factor authentication that no role able to read a finding can skip