This document outlines the security measures implemented in the Hero Dashboard and how to properly configure sensitive data.
- Fixed: Hardcoded Neo4j password in
monitors/graphiti_monitor.py - Fixed: Hardcoded GitHub username in
monitors/github_activity_monitor.py - Fixed: Extensive hardcoded paths throughout the codebase
All sensitive data is now managed through environment variables:
# GitHub configuration
GITHUB_USERNAME=your_github_username
# Neo4j configuration
NEO4J_PASSWORD=your_neo4j_password# Base directories (will use defaults if not set)
HERO_DASHBOARD_DIR=/path/to/your/hero_dashboard
CHIMERA_BASE=/path/to/your/chimera/project
GRAPHITI_BASE=/path/to/your/graphiti/project
# Neo4j additional settings
NEO4J_URI=bolt://localhost:7687
NEO4J_USER=neo4j
# LangSmith configuration
LANGSMITH_API_KEY=your_langsmith_api_key
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
LANGSMITH_PROJECT=hero-command-centrecp .env.example .envFill in your actual values in the .env file:
nano .env# Option 1: Source the file
source .env
# Option 2: Use with commands
export $(cat .env | xargs)- The
.envfile is now in.gitignore - All hardcoded credentials have been removed
- Use environment variables for all sensitive data
The application will validate required environment variables on startup and fail gracefully if missing.
- Use strong, unique passwords for Neo4j
- Consider using password managers for credential management
- Regularly review environment variables
- Monitor for any new hardcoded credentials
- Keep dependencies updated
monitors/graphiti_monitor.py- Removed hardcoded passwordmonitors/github_activity_monitor.py- Removed hardcoded usernameconfig.py- New centralized configuration system.env.example- Template for environment variables.gitignore- Added security-related exclusions
All hardcoded paths have been replaced with environment variables:
/Users/rudlord/Hero_dashboard/→HERO_DASHBOARD_DIR/Users/rudlord/q3/Frontline→CHIMERA_BASE/Users/rudlord/q3/0_MEMORY/graphiti→GRAPHITI_BASE
If you see errors about missing environment variables:
- Check that
.envfile exists and is properly formatted - Ensure all required variables are set
- Verify the environment variables are loaded in your shell
The application will show clear error messages if required environment variables are missing.
If you discover any security vulnerabilities:
- Do not create public issues
- Contact the maintainer privately
- Provide detailed reproduction steps