KasyKasy

Secrets

Supabase and Firebase secrets, what each stores, and how to configure them.

Secrets are keys that never go in the app. They live on the server (Supabase Edge Functions or Firebase Cloud Functions).

See Edge Functions and Cloud Functions for which function uses each secret.

Full table

SecretSupabaseFirebaseFeaturePurpose
STRIPE_SECRET_KEYYesYesStripeStripe API on server
STRIPE_WEBHOOK_SECRETYesYesStripeWebhook signature
STRIPE_PRODUCT_IDYesNoStripeFilter product (optional)
REVENUECAT_WEBHOOK_KEYYesYesRevenueCatWebhook token
META_ACCESS_TOKENYesYesFacebook / RCConversions API
META_DATASET_IDYesYesFacebook / RCPixel / dataset ID
AI_API_KEYYesYesAI ChatOpenAI or Gemini
AI_PROVIDERYesNoAI Chatopenai or gemini
AI_SYSTEM_PROMPTYesNoAI ChatSystem prompt (optional)
MAPBOX_ACCESS_TOKENYesYesDriveMaps and pricing
DRIVE_*YesNoDriveFare knobs (optional)
FIREBASE_PROJECT_IDYesNoPush (Supabase)Companion Firebase project
FIREBASE_SERVICE_ACCOUNT_JSONYesNoPush (Supabase)FCM service account JSON

Supabase auto-injects SUPABASE_URL, SUPABASE_ANON_KEY, SUPABASE_SERVICE_ROLE_KEY.

Firebase push uses ADC, not FIREBASE_SERVICE_ACCOUNT_JSON on Cloud Functions.

Configure

supabase secrets set STRIPE_SECRET_KEY=sk_test_...
firebase functions:secrets:set STRIPE_SECRET_KEY

Run kasy check (Supabase) or kasy doctor to see what's missing.

See also Schema and Commands.

Last updated on 08/02/2026