Climate Disclosure Rule Compliance Platform for US Public Companies
ENVOYOU SEC API is a specialized backend platform designed to help US public companies comply with the SEC Climate Disclosure Rule. The platform provides forensic-grade traceability for GHG emissions calculation, data validation against EPA databases, and automated SEC-compliant report generation.
- GHG Emissions Calculator: Accurate Scope 1 and Scope 2 emissions calculation using latest EPA emission factors
- EPA Cross-Validation: Automatic comparison against EPA GHGRP database for data consistency
- SEC-Compliant Reporting: Automated 10-K climate disclosure report generation
- Forensic Audit Trails: Complete data lineage and audit logging for regulatory compliance
- Multi-Entity Support: Consolidation capabilities for subsidiaries and complex corporate structures
- Role-Based Access: Secure access control for CFOs, General Counsel, Finance Teams, and Auditors
- Framework: FastAPI with Python 3.11+
- Database: PostgreSQL with TimescaleDB extension
- Cache: Redis for EPA data caching
- Authentication: JWT tokens with role-based access control
- Monitoring: Prometheus metrics with Grafana dashboards
- Deployment: Docker containers with Kubernetes support
- Docker and Docker Compose
- Python 3.11+ (for local development)
- PostgreSQL 15+ with TimescaleDB extension
- Redis 7+
-
Clone the repository
git clone <repository-url> cd envoyou-sec-api
-
Copy environment configuration
cp .env.example .env # Edit .env with your configuration -
Start services with Docker Compose
docker-compose up -d
-
Run database migrations
docker-compose exec api alembic upgrade head -
Access the application
- API Documentation: http://localhost:8000/docs
- Health Check: http://localhost:8000/health
- Grafana Dashboard: http://localhost:3000 (admin/admin)
- Prometheus Metrics: http://localhost:9090
-
Install dependencies
pip install -r requirements.txt
-
Set up database
# Start PostgreSQL and Redis docker-compose up -d db redis # Run migrations alembic upgrade head
-
Start development server
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
POST /v1/auth/login- User authenticationPOST /v1/auth/refresh- Token refreshGET /v1/auth/permissions- User permissions
POST /v1/emissions/calculate- Calculate emissions from input dataGET /v1/emissions/factors- Retrieve EPA emission factorsGET /v1/emissions/calculation/{id}- Get calculation with audit trail
POST /v1/validation/validate- Validate against EPA GHGRPGET /v1/validation/report/{company_id}- Get validation report
POST /v1/reports/generate- Generate SEC-compliant reportGET /v1/reports/{report_id}/download- Download report
GET /v1/audit/trail/{entity_id}- Get audit trailGET /v1/audit/lineage/{calculation_id}- Get data provenance
Key environment variables:
# Database
DATABASE_URL=postgresql://user:pass@host:port/db
REDIS_URL=redis://host:port/db
# Security
SECRET_KEY=your-secret-key
JWT_ALGORITHM=HS256
# EPA API
EPA_API_BASE_URL=https://api.epa.gov
EPA_API_KEY=your-api-keyThe application includes comprehensive monitoring:
- Prometheus Metrics: Application performance and business metrics
- Grafana Dashboards: Visual monitoring and alerting
- Health Checks: Endpoint monitoring for uptime tracking
- Audit Logging: Complete request/response logging for compliance
- JWT-based authentication with role-based access control
- Data encryption at rest and in transit
- Rate limiting and DDoS protection
- Comprehensive audit logging
- Input validation and sanitization
The platform is designed for SEC Climate Disclosure Rule compliance:
- Forensic-grade audit trails for all calculations
- EPA emission factor integration with version tracking
- SEC-compliant report formatting
- Data retention policies for 7+ year compliance
- External auditor access controls
pytest tests/ -v --cov=appblack app/
isort app/
flake8 app/# Create new migration
alembic revision --autogenerate -m "Description"
# Apply migrations
alembic upgrade head
# Rollback migration
alembic downgrade -1-
Build production image
docker build -t envoyou-sec-api:latest . -
Deploy with Kubernetes
kubectl apply -f k8s/
-
Configure monitoring
- Set up Prometheus scraping
- Configure Grafana dashboards
- Set up alerting rules
For technical support and questions:
- Documentation:
/docsendpoint - Health Status:
/healthendpoint - Monitoring: Grafana dashboards
Proprietary - ENVOYOU SEC API Platform