Skip to content

Security: DaddyFilth/ai-art

SECURITY.md

Security Policy

Overview

Security is a top priority for the AI Art Revenue Exchange platform. This document outlines our security policy, supported versions, and how to report security vulnerabilities.

Supported Versions

We actively maintain security updates for the following versions:

Version Supported Notes
1.x.x Current release
< 1.0 Pre-release, unsupported

Security Features

Our platform implements multiple layers of security:

Application Security

  • TLS 1.3 Only: Enforced SSL/TLS encryption for all traffic
  • HSTS: HTTP Strict Transport Security with preload
  • Content Security Policy: Strict CSP headers without unsafe-inline/unsafe-eval
  • Rate Limiting: Multi-tier rate limiting (general, auth, API)
  • Input Validation: Whitelist-based validation on all inputs
  • CSRF Protection: Cross-Site Request Forgery protection enabled
  • Security Headers: Comprehensive headers via Helmet.js (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy)
  • Query Injection Protection: Parameterized queries and input sanitization throughout the application

Infrastructure Security

  • Docker Isolation: Containers run as non-root users
  • Network Segmentation: Internal Docker network with Nginx as the only public-facing service
  • Read-Only Filesystems: Backend and frontend containers use read-only root filesystems
  • Security Options: no-new-privileges enabled on all containers
  • Health Checks: Automated health monitoring for all services

Data Security

  • Encryption at Rest: AES-256 encryption for sensitive data
  • Encryption in Transit: TLS 1.3 for all network communication
  • Secret Management: Environment-based secrets with cryptographically secure random generation, never hardcoded
  • Database Security: Prepared statements, parameterized queries (via Prisma ORM)
  • Password Hashing: bcrypt with strong work factor (12 rounds)
  • Input Sanitization: Escaping and validation of all user inputs to prevent injection attacks

Authentication & Authorization

  • JWT Tokens: Short-lived access tokens (15 minutes)
  • Refresh Tokens: Long-lived refresh tokens (7 days) with rotation
  • Role-Based Access Control: Fine-grained permissions system
  • Session Management: Redis-backed session store with secure cookies

Automated Security Scanning

  • CodeQL Analysis: Automated code scanning for vulnerabilities and security issues
  • Security-Extended Queries: Enhanced security query suite for comprehensive coverage
  • Continuous Monitoring: Automated scanning on every push and pull request
  • Custom Configuration: Optimized scanning for JavaScript/TypeScript codebase (see .github/README.md)

Reporting a Vulnerability

We take all security vulnerabilities seriously and appreciate responsible disclosure.

How to Report

DO NOT create a public GitHub issue for security vulnerabilities.

Instead, please report security issues via one of these methods:

  1. GitHub Security Advisories (Preferred)

    • Go to the repository's Security tab
    • Click "Report a vulnerability"
    • Fill out the vulnerability report form
  2. Email: security@aiartexchange.com

    • Include "SECURITY" in the subject line
    • Provide detailed information about the vulnerability

What to Include

Please include the following information in your report:

  • Description: Clear description of the vulnerability
  • Impact: Potential impact and severity assessment
  • Steps to Reproduce: Detailed steps to reproduce the issue
  • Proof of Concept: Code or screenshots demonstrating the vulnerability
  • Affected Versions: Which versions are affected
  • Suggested Fix: If you have suggestions for how to fix the issue
  • Your Contact Info: So we can follow up with questions

Example Report Template

Title: [Brief description of vulnerability]

Severity: [Critical/High/Medium/Low]

Description:
[Detailed description of the vulnerability]

Affected Component:
[Which part of the system is affected]

Steps to Reproduce:
1. [Step 1]
2. [Step 2]
3. [Step 3]

Expected Behavior:
[What should happen]

Actual Behavior:
[What actually happens]

Impact:
[Potential security impact]

Suggested Fix:
[If you have suggestions]

Contact Information:
[Your email or preferred contact method]

Response Timeline

We are committed to responding quickly to security reports:

  • Initial Response: Within 48 hours of report submission
  • Status Update: Weekly updates on investigation progress
  • Fix Timeline: Critical vulnerabilities within 7 days, others within 30 days
  • Public Disclosure: After fix is deployed and users have time to update (typically 30 days)

What to Expect

  1. Acknowledgment: We'll confirm receipt of your report within 48 hours
  2. Assessment: We'll assess the vulnerability and determine severity
  3. Fix Development: We'll work on a fix and may reach out for clarification
  4. Testing: We'll test the fix to ensure it resolves the issue
  5. Deployment: We'll deploy the fix to production
  6. Credit: We'll credit you in the security advisory (unless you prefer to remain anonymous)
  7. CVE Assignment: For significant vulnerabilities, we'll request a CVE identifier

Security Updates

Security updates are released as needed and announced via:

  • GitHub Security Advisories
  • Release notes with [SECURITY] tag
  • Email to registered administrators

Subscribe to repository notifications to stay informed about security updates.

Bug Bounty Program

We currently do not have a formal bug bounty program, but we deeply appreciate security researchers who responsibly disclose vulnerabilities. We will:

  • Publicly acknowledge your contribution (with your permission)
  • Credit you in release notes and security advisories
  • Consider future bug bounty rewards as our program matures

Out of Scope

The following are not considered security vulnerabilities:

  • Issues in third-party dependencies (report to the upstream project)
  • Social engineering attacks
  • Physical attacks
  • Denial of Service (DoS) attacks requiring significant resources
  • Issues requiring physical access to servers
  • Issues in unsupported versions
  • Theoretical vulnerabilities without proof of exploitability

Security Best Practices for Deployment

If you're deploying this platform, please follow these security guidelines:

Pre-Deployment

  • Generate strong, unique secrets for all environment variables
  • Use production-grade SSL/TLS certificates (not self-signed)
  • Review and customize the Nginx configuration for your needs
  • Ensure firewall rules allow only necessary ports (80, 443, 22)
  • Set up fail2ban or similar intrusion prevention

Post-Deployment

  • Enable automatic security updates
  • Set up monitoring and alerting
  • Implement backup procedures
  • Configure log retention and analysis
  • Regular security audits and penetration testing
  • Keep all dependencies up to date

Environment Variables

  • Never commit .env files to version control
  • Use secrets management (AWS Secrets Manager, HashiCorp Vault, etc.)
  • Rotate secrets regularly (quarterly recommended)
  • Use different secrets for each environment

Security Checklist

Before going to production, verify:

  • SSL/TLS certificates are valid and trusted
  • All secrets are unique and randomly generated (32+ characters)
  • Firewall is configured to allow only ports 80, 443, and 22
  • Database has a strong password and is not publicly accessible
  • Redis has a strong password and is not publicly accessible
  • Docker network uses bridge mode with only Nginx exposing ports
  • All containers run as non-root users
  • CORS is configured with only trusted origins
  • Rate limiting is properly configured
  • Logging is enabled for security events
  • Monitoring and alerting are configured
  • Backups are automated and tested
  • Incident response plan is documented

Compliance

This platform is designed to support compliance with:

  • GDPR: Data protection and privacy features
  • PCI DSS: Payment data handled via Stripe (we never store card data)
  • SOC 2: Security controls and audit logging
  • CCPA: California Consumer Privacy Act compliance features

Additional Resources

Contact

For general security questions (non-vulnerabilities):

For urgent security issues, please use the vulnerability reporting process above.


Last Updated: February 2026
Version: 1.0

There aren’t any published security advisories