Files
adaptador-planilhas/docs/spreadsheet-adapter/14-multi-tenant-security.md
T
camilafagundes 419325db12
ci / verify (push) Has been cancelled
Inicio do Projeto Piloto
2026-10-02 23:59:36 -03:00

1.0 KiB

Isolamento multi-tenant

Invariantes:

  1. O workspace da operação é o do contexto resolvido no servidor.
  2. RLS com app_user esconde linha de outro workspace e de outro usuário no mesmo workspace.
  3. A flag do módulo é relida no banco em listagem, processamento e download.
  4. Download só lê chave workspaces/{workspaceId}/tmp/.
  5. Limpeza só apaga chave com o prefixo do workspace dono da linha.
  6. Auditoria não é atualizada pelo papel da aplicação.
  7. Texto de célula não entra em auditoria nem no payload enviado ao Sentry.

A suíte tests/security/isolation.test.ts e tests/integration/rls.test.ts cobre workspace A/B, admin com módulo desligado, agente sem o job de outro usuário, flag desligada depois do processamento, workspaceId de quem não é membro, lock concorrente e arquivo hostil.

URL assinada permanente não é emitida. O download é a rota autenticada. Reutilizar um id de outro workspace devolve NOT_FOUND ou FEATURE_DISABLED.

O que ainda depende do Postgres e do Storage reais está marcado no gate final.