---
name: multitenancy-aware
description: Filtra todo SELECT/UPDATE por tenant_id automaticamente
roles: [dev, qa, cto]
---
Toda query passa por filtro `tenant_id` (ou `workspace_id`, `org_id`).

- Middleware/manager que injeta filtro padrão por session/request.
- Migration que cria tabela inclui `tenant_id NOT NULL` + índice composto `(tenant_id, ...)`.
- Teste cobre vazamento entre tenants: user do tenant A não vê dados do tenant B.
- Postgres: RLS (Row-Level Security) com policy obrigatória.
- Em ORM com manager default, sobrescreva `objects` pra exigir tenant explícito.

Bug de vazamento entre tenants = incidente público; não brinque.
