A Auditoria

Segurança

O controle de acesso é o modelo.

A regra de quem vê o quê não vive na tela — vive no banco de dados. A interface é só uma das formas de chegar nele, e todas passam pela mesma verificação.

Isolamento por firma

Cada firma opera em um projeto de banco de dados separado. Não há um banco compartilhado com “coluna de firma” — a separação é física.

Controle de acesso no banco (RLS)

As permissões são aplicadas em Row Level Security no Postgres. Um contato de cliente só consegue ler e escrever nos trabalhos do próprio cliente, mesmo que a requisição tente burlar a interface.

Dois papéis, escopos distintos

Auditores da firma têm acesso completo ao projeto. Contatos de cliente têm acesso restrito ao seu cliente e não podem criar nem alterar a estrutura do checklist.

Arquivos em bucket privado

Os documentos ficam em armazenamento privado. O acesso é feito por URLs assinadas de curta duração, geradas só para quem tem permissão sobre aquele item.

Trilha de auditoria

Mudanças de status, comentários e uploads são registrados em uma linha do tempo apenas-adição, preservando o histórico de cada item.

Autenticação gerenciada

Login por e-mail com provedor de identidade gerenciado, envio de convites e redefinição de senha por e-mail transacional da firma.

Detalhes técnicos adicionais (retenção, backups, região de hospedagem, DPA) podem ser tratados caso a caso na implantação de cada firma.