> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Segurança e privacidade

Rate limits, secrets, exportação de dados e o rasto de auditoria.

## Passo a passo para iniciantes

Pré-requisitos: Leia os dois guias para iniciantes abaixo, conclua a configuração local da Web e abra este monorepo na raiz do seu editor. As configurações da Web pertencem a `apps/web/.env.local`; Next.js não lê a raiz `.env`. `/dashboard` no modo falso padrão é uma demonstração sem banco de dados; `/auth` precisa de um banco de dados migrado.

Termos rápidos: um espaço de trabalho consiste em usuários, dados e configurações separados de uma equipe. O servidor é o back-end confiável; mantenha as chaves do provedor fora do navegador e do código do telefone. Uma migração é uma alteração de versão do banco de dados que cria ou atualiza tabelas. Um modelo de IA é o mecanismo que responde; o catálogo de modelos é a lista do servidor de IDs e preços de modelos disponíveis. Um provedor é um serviço externo, como IA, e-mail ou serviço de cobrança. Um direito é uma concessão que permite que um espaço de trabalho use um recurso. Um webhook é uma mensagem que um serviço envia para o URL de outro serviço.

1. Na ação ou rota do servidor que lê um registro de propriedade do usuário, resolva a associação do usuário conectado e ative `workspaceId` antes de consultar.

2. Peça ao seu agente para adicionar um caso de membro permitido e uma negação de espaço de trabalho estrangeiro para o caminho de registro exato; forneça as funções e os campos envolvidos.

3. A primeira solicitação deverá ser bem-sucedida e a segunda não deverá retornar nenhum registro/acesso negado. Se a alteração apenas do botão ocultar o acesso, mas as solicitações diretas ainda funcionarem, o limite do servidor estará ausente.

Para código personalizado, comece com o `prompts/README.md` fornecido e copie o prompt mais próximo: `prompts/new-app-screen.md` para uma tela de aplicativo ou `prompts/new-landing-page.md` para uma página pública. Para trabalho de servidor, banco de dados ou provedor, dê ao seu agente de codificação a tarefa deste guia e peça-lhe para ler `AGENTS.md`, `.ai/PROJECT_CONTEXT.md` e espelhos `.ai/` correspondentes; inspecione os arquivos de origem exatos nomeados aqui; listar arquivos e verificações antes de editar; preservar a propriedade do espaço de trabalho e os segredos apenas do servidor; e mostrar a diferença. Informe o comportamento desejado, campos de entrada e saída, funções permitidas, sucessos e erros esperados e a conta de teste, provedor ou dispositivo. Use valores de amostra; nunca cole um segredo real.

[Antes de começar](https://supastack.dev/pt/docs/web/before-you-start.md)

[Noções básicas sobre terminais](https://supastack.dev/pt/docs/web/terminal-basics.md)

[Configuração local da Web](https://supastack.dev/pt/docs/web/ship-in-5-minutes.md)

[Avisos do agente e memória do projeto](https://supastack.dev/pt/docs/web/agents.md)


## Resolva a associação antes dos dados

A sessão escolhe a identidade; o servidor resolve o espaço de trabalho ativo e verifica a associação/função. Cada registro de propriedade do usuário usa `workspaceId`. Um campo de cliente, ID URL ou argumento selecionado por modelo não pode substituir essa verificação de propriedade.

Os ativos de marketing da plataforma e os registros de administração da plataforma têm escopo de plataforma explícito; não invente um espaço de trabalho para entradas anônimas na lista de espera.


## Leve a fronteira através do trabalho assíncrono

Tarefas, trabalhos, contexto de ferramenta, chaves API, conteúdo, armazenamento e eventos de saída herdam o espaço de trabalho autenticado. Verifique os IDs dos recursos juntamente com a propriedade. Permitir um ID válido de outro espaço de trabalho ainda é uma falha de autorização.


## Escreva testes de negação primeiro

Combine cada mutação/leitura bem-sucedida com testes anônimos, de espaço de trabalho estrangeiro e de função insuficiente. Nunca exponha segredos ao diagnosticar um resultado proibido.

[Contratos de espaço de trabalho](https://supastack.dev/pt/docs/modules/workspaces.md)

[Receita de página protegida](https://supastack.dev/pt/docs/web/first-feature.md)

[Contexto da ferramenta injetada pelo servidor](https://supastack.dev/pt/docs/web/project-structure.md)


## Instalação e configuração

rate-limit-runtime fornece o limiter partilhado ligado às rotas de auth, checkout, API e submission — estende-o a novos endpoints sensíveis a abuso em vez de inventar contadores por rota. Configuração de sessão, cookies só-HTTPS e secrets de providers ficam no lado do servidor.

Os registos de auditoria do workspace (audit-runtime.ts) capturam alterações relevantes para a segurança — configuração de provider, atualizações de membros e papéis — e são legíveis em /settings/audit.

```
# Data subject export
src/data-export.ts — assembles a member's
workspace-owned records for account export
```


## Fluxo de implementação

Mantém as credenciais fora de logs, payloads de erro, propriedades de analytics e valores de auditoria — a camada de observabilidade redige chaves conhecidas, mas texto livre é responsabilidade do autor. Resolve a autorização no servidor para cada leitura e escrita; o estado da interface é apresentação, não prova.

A exportação de dados da conta e os pedidos de eliminação passam pela fronteira da conta para que se apliquem as mesmas regras de propriedade. Armazena apenas os dados de que o produto precisa.


## Verificação e resolução de problemas

Exercita o limiter até devolver um 429 repetível, verifica que aparecem linhas de auditoria para as mutações que as devem produzir, e exporta os dados de um membro de teste. Sonda uma leitura entre workspaces por release — a regressão mais barata que importa.


## Seguinte

[Proteção anti-spam](https://supastack.dev/pt/docs/web/captcha.md)
