Lição 2: Arquitetura de Produto de IA — Três Limites que Protegem seu App
Um cenário baseado na vida real: uma startup recebe uma fatura mensal de US$ 14.000 da Anthropic — porque a API key estava no bundle do React. Limites arquitetônicos corretos não são apenas 'boa prática' — são o que separa um projeto de produção de um projeto vulnerável.
Um limite arquitetônico é como uma porta trancada. De um lado — o usuário. Do outro — os dados sensíveis. A chave sempre fica atrás da porta.
- auth boundary
- O limite entre requisições anônimas (anon key) e requisições autenticadas (JWT). Depois desse limite, o usuário é identificado.
- data boundary
- O limite em que o RLS impõe quem pode ver quais dados — no nível do banco de dados, não no nível do React.
- AI boundary
- O limite que protege as API keys do LLM. As chaves da Anthropic/Gemini precisam ficar do lado do servidor (Supabase edge function) — nunca no React.
- anon key
- Uma chave pública do Supabase que permite operações não autenticadas. Segura para armazenar no client porque o RLS protege os dados.