Resposta rápida: nunca coloque uma API key secreta diretamente no frontend de um app criado na Lovable. Código que roda no navegador pode ser inspecionado por qualquer visitante. Para APIs autenticadas, guarde a credencial em Secrets e faça a chamada por uma Edge Function ou pelo backend seguro da integração.
Por que uma API key não pode ficar no frontend
Aplicações web entregam JavaScript, requisições de rede e outros recursos ao navegador do usuário. Por isso, uma chave inserida em componentes React, arquivos públicos, variáveis expostas ao cliente ou chamadas feitas diretamente pelo navegador deve ser considerada acessível. Esconder o texto na interface não transforma a credencial em segredo.
A documentação de segurança da Lovable orienta separar as responsabilidades: o frontend é público; Edge Functions executam lógica server-side; e o banco aplica controles como RLS. Para credenciais, a fronteira segura deve ficar no servidor.
A arquitetura segura para integrar uma API na Lovable
Para uma API que exige autenticação, use este fluxo: usuário interage com a interface; o frontend envia apenas os dados necessários para uma função server-side; a Edge Function lê a chave armazenada em Secrets; a função chama o serviço externo; e devolve ao navegador somente a resposta necessária. A chave não precisa viajar para o cliente.
1. Identifique se a API realmente exige uma credencial
APIs públicas sem autenticação podem ser chamadas diretamente quando isso for apropriado. Já APIs que usam Bearer token, API key, client secret ou outra credencial privada precisam de uma camada server-side. A própria documentação de integrações da Lovable diferencia esses dois cenários.
2. Salve a chave em Secrets
Ao configurar uma API autenticada com Lovable Cloud, adicione a credencial em Cloud → Secrets. Em projetos que usam Supabase, segredos usados por Edge Functions também devem ficar no gerenciamento de secrets do backend. Não grave a chave em tabelas públicas, arquivos do projeto ou componentes da interface.
3. Faça a chamada externa em uma Edge Function
A Edge Function é o ponto em que você pode ler o secret, montar o cabeçalho de autenticação e chamar a API externa sem entregar a credencial ao navegador. Esse padrão serve para serviços de IA, e-mail, pagamentos e APIs privadas em geral.
4. Valide usuário, permissões e entrada no servidor
Proteger a chave é apenas uma parte. Uma função que usa uma credencial poderosa também precisa validar quem está chamando, quais ações esse usuário pode executar e quais dados foram enviados. Regras críticas não devem depender apenas de validações feitas no frontend.
5. Retorne somente o que o frontend precisa
Evite devolver tokens, cabeçalhos internos, respostas completas desnecessárias ou detalhes sensíveis do provedor. Normalize a resposta da API na função e envie ao navegador somente os campos necessários para a experiência do usuário.
Exemplo prático: API de IA com chave privada
Imagine um app Lovable que recebe um texto e o envia para uma API de IA. O formulário pode permanecer no frontend, mas a requisição autenticada deve passar pelo backend. O navegador envia o texto para a Edge Function; a função valida a sessão e o tamanho da entrada; lê a API key em Secrets; chama o provedor; e retorna apenas o resultado processado.


