# Permission-Aware Lists & Search

## Show users only what they're allowed to see. Instantly.

Search results, dashboards, list views, and reports all face the same challenge: you can't show users data they're not authorized to access. But checking permissions one-by-one kills performance. AuthZed solves this with pre-computed permission queries that return results in milliseconds, not minutes.

## The filtering problem at scale

Your application has a search bar. A user types a query. You need to find all matching resources, filter to only those the user can access, and return results fast enough that the UI feels responsive.

Option A: Check permissions for each result. At 10ms per check, 1,000 results takes 10 seconds. Unacceptable.

Option B: Denormalize permissions into your search index. Now you're maintaining two sources of truth, and permission changes require re-indexing.

Option C: Use AuthZed's Materialize feature. Pre-computed permission sets return instantly. Permission changes propagate automatically.

Without a proper solution, you're choosing between slow results, stale permissions, or complex synchronization logic.

## How AuthZed makes filtering fast

### Pre-computed access sets

AuthZed Materialize continuously computes which resources each user can access. Instead of checking permissions at query time, you query a pre-built set. Results return in milliseconds regardless of permission complexity.

### Automatic updates

When permissions change, AuthZed Materialize updates the affected sets. No manual re-indexing. No stale results. Users see accurate, authorized data.

### Scales with your data

No artificial limits on relationships, resources, or query volume. Customers routinely grow 10x, 100x, or more without hitting permission system bottlenecks. AuthZed Materialize grows with you.

### Works with your search infrastructure

Filter results from Elasticsearch, PostgreSQL, or any data store. AuthZed Materialize gives you the list of authorized resource IDs; you intersect with your query results.

## What you can build

### Permission-aware search

Users search across documents, projects, or records. Results only include items they can access. No unauthorized data leaks through search.

### Filtered dashboards

Managers see metrics for their teams. Executives see company-wide data. Each person's dashboard reflects their access level automatically.

### Authorized reporting

Generate reports that respect row-level permissions. A sales rep sees their deals. A regional manager sees the region. A VP sees everything.

### Scoped list views

Browse resources by folder, project, or category. Each view shows only what the user can access, without per-item permission checks slowing down rendering.

## Common questions

### How does AuthZed Materialize stay in sync with permission changes?

### What's the latency between a permission change and AuthZed Materialize reflecting it?

### How do I integrate AuthZed Materialize with my search infrastructure?

## Ready to build permission-aware filtering?

Explore how pre-computed access sets deliver instant, authorized results at scale.
