{"slug":"connections","title":"Connections","summary":"Connections is where a project keeps its backend, in-app purchases, and secret vault. You enter credentials once; the assistant uses them without seeing the values.","body":"Open **Connections** from the project bar. A project holds at most one connection of each kind.\n\n## Three tabs\n\n| Tab | For | Providers |\n| --- | --- | --- |\n| **Backend** | Data, sign-in, files, and server code | Supabase, Firebase, Cloudflare, or your own HTTP API |\n| **In-app purchases** | Subscriptions and who has paid | RevenueCat |\n| **API keys & secrets** | Keys your server code needs | Any provider, stored by name |\n\nEach provider shows a short walkthrough until it is connected, then the form folds away. Field hints say what each value looks like.\n\n## Which backend should I choose?\n\n| Choose | When |\n| --- | --- |\n| [Supabase](/docs/supabase) | You want Postgres tables, row-level security, email sign-in, file storage, and Edge Functions, all set up by the assistant. |\n| [Firebase](/docs/firebase) | You already use Firebase, or want Firestore, Firebase Auth, and Google sign-in. |\n| [Cloudflare](/docs/cloudflare) | You want Workers, R2 file storage, or Queues at the edge. |\n| [Your own API](/docs/your-api) | A backend already exists and the app should talk to it. |\n\n## What you do, and what the assistant does\n\n1. You fill in the form and save. Values are stored encrypted on the server.\n2. You ask the assistant in chat to use that connection.\n3. It creates tables, deploys functions, and writes public configuration such as URLs into `.env`.\n4. If it needs a credential that is missing, it asks you to add it under Connections.\n\n> [!WARNING]\n> Do not send a key, token, or password in a chat message, even as a placeholder. The assistant is instructed never to ask for one there.\n\n## Public and secret values\n\nPublic configuration, such as a Supabase project URL or a RevenueCat SDK key, belongs in the app's `.env` and ships inside the app. Secret values stay on the server or in your backend, and never reach the app bundle.","sectionSlug":"connect","sectionTitle":"Connect services","updatedAt":"2026-09-23T22:51:25.250Z","previous":{"slug":"templates","title":"Templates"},"next":{"slug":"supabase","title":"Supabase"}}