Please do not report security vulnerabilities through public GitHub issues.
If you discover a security vulnerability in the Aletheia AI Enterprise Agent Trust Framework, please report it privately:
Email: security@aletheia.ai
PGP Key: (Available on request)
Please include as much of the following information as possible:
- Type of vulnerability (e.g., crypto weakness, auth bypass, injection)
- Full path of the source file(s) related to the vulnerability
- Location of the affected source code (tag/branch/commit or direct URL)
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact of the issue (what an attacker could do)
- Suggested fix (if you have one)
- Acknowledgment: Within 48 hours
- Initial assessment: Within 7 days
- Fix timeline: Depends on severity (critical issues prioritized)
- Public disclosure: After fix is deployed and verified
EATF uses post-quantum cryptography (ML-DSA) alongside RSA for long-term signature verification:
- Audit trail: Hash-chained events with dual signatures (PQC + RSA)
- Evidence packages: Cryptographically signed
.aepfiles - Delegation chains: Signature verification at each level
- Timestamps: RFC 3161 timestamping (QTSP integration)
- PQC keys: Stored in
/backend/pqc-keys/(formerlyAdmin123!, now properly named) - HSM support: Planned for production (QTSP-ready)
- Key rotation: Not yet automated (manual process documented)
- Environment secrets: Never committed to Git (
.gitignoreenforced)
- OAuth2/OIDC: Google OAuth for user authentication
- NextAuth.js: Session management
- Multi-tenancy: Organization-based isolation
- RBAC: Role-based access control (ADMIN, MANAGER, AUDITOR, AGENT)
- JWT tokens: Signed with
AI_ALETHEIA_JWT_SECRET - BFF mint key:
AI_ALETHEIA_BFF_MINT_KEY(same value on Next.js server and backend) protectsGET /api/auth/session/bffused by the Next proxy to mint API JWTs byuserId. Treat like a shared service secret; use a strong random value in production (docs/developers/en/bff-api-jwt-mint.md). - Authenticated API: Most
/api/**routes requireAuthorization: Bearer <JWT>(seeSecurityConfig). Exceptions:/api/auth/**,/api/public/**(e.g. invite signup when configured). - OAuth provisioning:
AI_ALETHEIA_OAUTH_AUTO_PROVISION— whenfalse, OAuth does not create new users (existing accounts only). - Invite signup:
AI_ALETHEIA_INVITE_SECRET— when set, enablesPOST /api/public/register-invite//auth/registerfor VIEWER accounts in the default tenant. - Rate limiting: Per-IP token bucket on
/api/**(Bucket4j), configurable viaai.aletheia.ratelimit.*(disabled inapplication-test.properties) - CORS: Configured for frontend/backend separation
- Input validation: Spring Boot validators + custom checks
- PostgreSQL: Production database (not SQLite)
- Connection encryption: SSL/TLS recommended
- Parameterized queries: JPA/Hibernate (SQL injection protection)
- Multi-tenancy isolation: Row-level security via organization_id
- Deployment: Ansible + systemd (see
deploy/README.md) - Reverse proxy: Nginx with SSL/TLS (Let's Encrypt recommended)
- Environment variables: Secrets managed via Ansible vault or env files
- Docker: Planned (not yet production-ready)
- PQC key rotation: Not automated (manual process required)
- Rate limiting: Not implemented (API can be abused)
- HSM integration: Not yet available (keys stored on filesystem)
- Audit log pruning: No automated archival (disk can fill up)
- Multi-region: Not supported (single deployment only)
- Implement API rate limiting (Spring Cloud Gateway or nginx)
- Integrate HSM for PQC key storage
- Set up automated audit log archival (S3, cold storage)
- Enable PostgreSQL connection encryption
- Configure firewall rules (only allow frontend → backend, backend → DB)
- Set up monitoring and alerting (Prometheus, Grafana)
- Regular security audits and penetration testing
Forbidden in Git:
- API keys (OpenAI, Google OAuth, etc.)
- JWT secrets
- Database passwords
- PQC private keys
.envfiles with real credentials
Use .gitignore and environment variables.
Security-critical changes require review:
- Cryptographic operations (
/backend/src/main/java/ai/aletheia/crypto/) - Authentication/authorization logic
- Database migrations
- Deployment scripts
- API endpoints handling sensitive data
See CODEOWNERS for required reviewers.
- Dependabot: Enabled for automatic vulnerability alerts
- Regular updates: Check for CVEs in Maven/npm dependencies
- Lock files: Use
package-lock.jsonandpom.xmlchecksums
- No real keys in tests: Use mocked keys or test fixtures
- No production data: Use synthetic data only
- Clean up: Delete test evidence packages after tests
EATF is designed for compliance with:
- EU AI Act (High-risk AI systems)
- GDPR (Data privacy)
- ISO 27001 (Information security)
- SOC 2 (Service organization controls)
- QTSP standards (Qualified Trust Service Providers)
See docs/legal/ for compliance documentation.
- Architecture: docs/diagrams/architecture.md
- Crypto reference: docs/developers/en/crypto-reference.md
- Trust model: docs/users/en/trust-model.md
- Deployment: deploy/README.md
We appreciate responsible disclosure and will acknowledge security researchers who help improve EATF security.
Last updated: 2026-02-13
Contact: security@aletheia.ai