| # ScamShield AI - Environment Configuration | |
| # Copy this file to .env and fill in the values | |
| # Command: copy env.example .env (Windows) or cp env.example .env (Linux/Mac) | |
| # ===================================================== | |
| # Environment | |
| # ===================================================== | |
| ENVIRONMENT=development | |
| DEBUG=true | |
| LOG_LEVEL=INFO | |
| # ===================================================== | |
| # Groq LLM API | |
| # ===================================================== | |
| # Get your API key from: https://console.groq.com/ | |
| GROQ_API_KEY=gsk_your_key_here | |
| GROQ_MODEL=llama-3.1-8b-instant | |
| GROQ_MAX_TOKENS=500 | |
| GROQ_TEMPERATURE=0.7 | |
| # ===================================================== | |
| # PostgreSQL Database (OPTIONAL - can be empty for in-memory only) | |
| # ===================================================== | |
| # For Supabase: postgresql://postgres:[password]@[host]:5432/postgres | |
| # Leave empty to use in-memory storage only (faster for hackathon) | |
| POSTGRES_URL= | |
| # ===================================================== | |
| # Redis Cache (OPTIONAL - can be empty for in-memory only) | |
| # ===================================================== | |
| # For Redis Cloud: redis://default:[password]@[host]:[port] | |
| # Leave empty to use in-memory storage only (faster for hackathon) | |
| REDIS_URL= | |
| # ===================================================== | |
| # ChromaDB | |
| # ===================================================== | |
| CHROMADB_PATH=./chroma_data | |
| # ===================================================== | |
| # API Configuration | |
| # ===================================================== | |
| API_HOST=0.0.0.0 | |
| API_PORT=8000 | |
| # ===================================================== | |
| # Scam Detection Settings | |
| # ===================================================== | |
| MAX_MESSAGE_LENGTH=5000 | |
| MAX_TURNS=20 | |
| SESSION_TTL=3600 | |
| SCAM_THRESHOLD=0.7 | |
| # ===================================================== | |
| # Rate Limiting | |
| # ===================================================== | |
| RATE_LIMIT_PER_MINUTE=100 | |
| RATE_LIMIT_PER_HOUR=1000 | |
| # ===================================================== | |
| # Model Configuration | |
| # ===================================================== | |
| # HuggingFace token for accessing gated models (e.g., IndicBERT) | |
| # Get your token from: https://huggingface.co/settings/tokens | |
| HUGGINGFACE_TOKEN=YOUR_TOKEN_HERE | |
| INDICBERT_MODEL=ai4bharat/indic-bert | |
| SPACY_MODEL=en_core_web_sm | |
| EMBEDDING_MODEL=all-MiniLM-L6-v2 | |
| # ===================================================== | |
| # API Authentication (GUVI Hackathon Requirement) | |
| # ===================================================== | |
| # API key for authenticating requests via x-api-key header | |
| # Required for GUVI submission - choose a secure random key | |
| API_KEY=your-secure-api-key-here | |
| # ===================================================== | |
| # GUVI Hackathon Integration | |
| # ===================================================== | |
| # Callback URL for sending final results to GUVI evaluation endpoint | |
| GUVI_CALLBACK_URL=https://hackathon.guvi.in/api/updateHoneyPotFinalResult | |
| # Set to false to disable GUVI callbacks (for local testing) | |
| GUVI_CALLBACK_ENABLED=true | |
| # ===================================================== | |
| # Phase 2: Voice Features (OPTIONAL - disabled by default) | |
| # ===================================================== | |
| # Set to true to enable voice endpoints and UI | |
| PHASE_2_ENABLED=false | |
| # Whisper ASR model size: tiny, base, small, medium, large | |
| WHISPER_MODEL=base | |
| # TTS engine: gtts, indic_tts | |
| TTS_ENGINE=gtts | |
| # Enable voice deepfake/synthetic voice detection | |
| VOICE_FRAUD_DETECTION=false | |
| # Audio processing parameters | |
| AUDIO_SAMPLE_RATE=16000 | |
| AUDIO_CHUNK_DURATION=5 |