Skip to content

Environment

Luke C Hartman edited this page Nov 2, 2026 · 1 revision

Environment variables

Ask a maintainer for a Truth Sleuth .env / .env.local. Caffeine: copy .env.caffeine.example to .env.caffeine.local.

This page lists names and roles only. Production/study values (including agency document ids) are not published here — study ops: private misinfo-dashboard-ops.

Client Firebase (NEXT_PUBLIC_*)

Variable Role
NEXT_PUBLIC_FIREBASE_API_KEY Web API key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN Auth domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID Project id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET Storage bucket
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID Messaging sender
NEXT_PUBLIC_FIREBASE_APP_ID App id
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID Analytics (optional)
NEXT_PUBLIC_FIREBASE_RECAPTCHA_ENTERPRISE_SITE_KEY App Check (Enterprise)
NEXT_PUBLIC_FIREBASE_RECAPTCHA_V3_SITE_KEY App Check (v3; Caffeine)
NEXT_PUBLIC_APP_URL Canonical site URL (auth email links, etc.)
NEXT_PUBLIC_BRAND misinfo (default) or caffeine
NEXT_PUBLIC_USE_EMULATORS Wire client to emulators when developing
NEXT_PUBLIC_FIREBASE_APPCHECK_DEBUG_TOKEN Local App Check debug

Study copy markers

Variable Role
NEXT_PUBLIC_FIXED_REPORT_AGENCY_ID Fixed agency doc id for this deploy
NEXT_PUBLIC_FIXED_REPORT_AGENCY_NAME Must match agency doc name; both required for a study copy
STUDY_AGENCY_ID Local npm run dev:live study targets only (not NEXT_PUBLIC_); script copies into the fixed-agency pair

See Sites.

Server / scripts / functions

Variable Role
GOOGLE_APPLICATION_CREDENTIALS Path to Admin SDK JSON (local scripts / SSR)
FIREBASE_ADMIN_CLIENT_EMAIL / FIREBASE_ADMIN_PRIVATE_KEY Alternate Admin credentials
SLACK_WEBHOOK_URL Help-request Slack notify (Functions secret)
SENDGRID_API_KEY Help-request email (Functions secret)
BRAND_NAME Functions env for email sender naming

Never commit filled .env files or service account JSON.

Clone this wiki locally