# Copy this file to `.env` (which is gitignored) and fill in real values. # Do NOT commit your filled `.env`. # AWS S3 (for report storage) AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY AWS_REGION=ap-south-1 S3_BUCKET_NAME=your-bucket-name # MongoDB — TWO distinct connection strings on purpose: # # MONGO_URI: the BACKEND's application database (full URI, includes a db). # Used by backend/config/db.js -> mongoose.connect(MONGO_URI). MONGO_URI=mongodb://localhost:27017/tattletale # # MONGO_CLUSTER_URI: the SCRAPER's cluster string WITHOUT a database. The scraper # opens many per-platform DBs (instagramDB, discordDB, ...) on # one cluster and selects each via mongoose's { dbName } option. # Local: mongodb://localhost:27017 # Atlas: mongodb+srv://:@.mongodb.net/?retryWrites=true&w=majority MONGO_CLUSTER_URI=mongodb://localhost:27017 # Telegram (api.telegram.org -> https://my.telegram.org) TELEGRAM_API_ID=YOUR_TELEGRAM_API_ID TELEGRAM_API_HASH=YOUR_TELEGRAM_API_HASH # Google OAuth (Drive / Gmail scraper routes) — from Google Cloud Console. GOOGLE_OAUTH_CLIENT_ID=YOUR_GOOGLE_OAUTH_CLIENT_ID.apps.googleusercontent.com GOOGLE_OAUTH_CLIENT_SECRET=YOUR_GOOGLE_OAUTH_CLIENT_SECRET GOOGLE_TRANSLATE_API_KEY=YOUR_GOOGLE_TRANSLATE_API_KEY # Frontend (Vite) — exposed to the browser, must be a public OAuth client. VITE_GOOGLE_OAUTH_CLIENT_ID=YOUR_PUBLIC_OAUTH_CLIENT_ID.apps.googleusercontent.com # mobileScraper (PROTOTYPE ONLY — drives a real Android Instagram app). # Use a throwaway test account, never a real one. IG_USERNAME=YOUR_TEST_IG_USERNAME IG_PASSWORD=YOUR_TEST_IG_PASSWORD # Auth JWT_SECRET=YOUR_JWT_SECRET # Server PORT=5003 # Replay-mode demo. Replay is driven by a dedicated CLI, not by the live scraper # routes: `cd scraper && npm run start:replay -- ` reads golden fixtures # and emits a report bundle with no creds and no network. This var is only a # marker the CLI reads for logging; setting it does NOT switch the live routes. REPLAY_MODE=0