Utilizar o Seu Projeto

Secrets e Variáveis de Ambiente

Armazena chaves API e configuração de forma segura e expõe-as ao teu projeto deployed em runtime.

Última atualização:

O que são secrets?

Secrets são valores com nome — chaves de API, tokens, URLs de base de dados, chaves de assinatura de webhooks — que o teu projeto implementado precisa em tempo de execução, mas que nunca devem aparecer no teu código fonte, histórico de chat ou no bundle gerado. O FloopFloop armazena-os encriptados e injeta-os no teu projeto em execução como variáveis de ambiente.

O separador Secrets também aloja o cartão de Cryptohopper para ligar uma conta de exchange quando o teu projeto precisar de uma. Os jobs agendados utilizam o mesmo modelo de injeção em tempo de execução, mas são registados automaticamente a partir do manifesto de template — consulta Scheduled Jobs.

Dentro do teu projeto implementado, lês-os da mesma forma que farias em qualquer aplicação Node.js:

const stripe = new Stripe(process.env.STRIPE_SECRET_KEY);

Porquê usar secrets em vez de hardcoding?

  • As credenciais nunca entram no histórico de chat.Se colares uma chave no chat, o guard do lado do servidor do FloopFloop's rejeita a mensagem antes de ser persistida ou enviada à IA.
  • As credenciais nunca entram no bundle gerado. O código do teu projeto referencia process.env.MY_KEY; o valor só é materializado dentro do runtime de implementação.
  • Podes rodar sem reimplementar. Atualiza um secret e o novo valor é utilizado no próximo pedido.

Gerir secrets a partir do dashboard

Abre o teu projeto, vai a Settings e faz scroll até à secção Secrets & Environment Variables. A partir daí podes adicionar um novo secret, atualizar um existente ou eliminar um. A lista mostra o nome da chave e os últimos quatro caracteres do valor — o valor completo nunca é apresentado depois de o guardares.

Prompts no chat

Quando a IA gera código que precisa de uma credencial que ainda não tem, vai pedi-la inline. Abre-se um diálogo com o nome da chave pré-preenchido; colas o valor e clicas em guardar. O valor vai diretamente para o armazenamento encriptado — não é escrito no transcript do chat nem é visível para a IA.

Regras de nomenclatura de chaves

  • Apenas UPPER_SNAKE_CASE (letras, dígitos, underscores).
  • Tem de começar com uma letra.
  • Entre 1 e 64 caracteres.
  • Exemplos: STRIPE_SECRET_KEY, OPENAI_API_KEY,DATABASE_URL.

Limites

  • 25 secrets por projeto. Atualizar um secret existente nunca conta para o limite — apenas adicionar uma nova chave conta.
  • 4096 caracteres por valor. Isto está bem acima do comprimento de qualquer chave de API ou token padrão; valores mais longos quase sempre indicam um erro de colagem.

Como são armazenados

Cada valor é encriptado com uma chave gerida pelo cliente do AWS KMS antes de sair do FloopFloop. O contexto de encriptação associa o ciphertext ao projeto e nome de chave específicos, pelo que um ciphertext de um projeto não pode ser desencriptado noutro. Apenas o runtime SSR que serve o teu projeto tem permissão para desencriptar; o dashboard, a IA e os colaboradores do FloopFloop não têm. Os valores nunca são registados em logs.

Acesso programático

Se preferires gerir secrets a partir das tuas próprias ferramentas, a API pública expõe endpoints de listagem, criação/atualização e eliminação. Consulta Secrets API para formas de pedido e resposta.