Permissions inside the query
Access checks are part of the database query itself, not a filter bolted on afterwards.
Gebruikers doorzoeken hun werkruimte en vinden alleen wat ze mogen openen.
Gebruikers doorzoeken hun werkruimte en vinden alleen wat ze mogen openen.
Productvoorbeeld
Dit is hetzelfde visuele component als in de ingelogde applicatie, met voorspelbare voorbeelddata.
Search results include only accessible organizations, projects, and documents.
Inerte voorbeelddata · geen netwerktoegang
Voorbeeld gereed
Kernpunten
Access checks are part of the database query itself, not a filter bolted on afterwards.
Queries cap at 100 characters and 20 globally ranked results, so search can't overload your database.
Search one registered resource type, a named group, or any composition of both; the registry documents what's searchable, by whom, and with what limits.
Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw — en anders.
Search that fetches everything and filters afterwards will eventually skip the filter. One missed code path, and another company's rows land in your customer's results.
Without caps, one long query or one huge result set becomes a self-inflicted outage. Your own search box takes your database down.
When nobody wrote down what's searchable under which permission, every new feature reinvents search and re-audits access from scratch.
Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.
Input gets checked first
The query must be 1 to 100 characters, resource types and groups must be registered, results are capped at 20, and wildcard characters are escaped before database work begins.
The server picks the scope
Your active organization and project come from the login session. The browser never gets a say in whose data is searched.
Permissions join the query
Membership checks are joined right into the search query, so rows are narrowed down before matching even runs.
Only selected lanes run
Groups and explicit types resolve to one canonical set. Only selected, authorized query lanes run before results receive one global relevance order.
Technische garanties
Achter de schermen houden autorisatie, tenantgrenzen en foutafhandeling één duidelijke eigenaar. Zo blijft de snelle ervaring voor gebruikers gekoppeld aan veilig herstel als het misgaat.
De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:
src/db/postgres-search.tssrc/registries/search-indexes.tssrc/features/search/targets.tssrc/features/search/server.tsDeze functies delen contracten en grenzen met deze pagina.
De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.