Security Policy

April 14, 2026 · View on GitHub

Supported Versions

VersionSupported
0.2.x (latest)
< 0.2.0

Only the latest minor release receives security fixes. We recommend always using the latest version.

Reporting a Vulnerability

Please do not report security vulnerabilities via public GitHub Issues.

To report a vulnerability, email the maintainers at:

security@vstorm.co

Include in your report:

  • Description of the vulnerability
  • Steps to reproduce (CLI invocation or generated project behavior)
  • Affected versions
  • Potential impact
  • Any suggested fix (optional)

Response Timeline

StageTarget
AcknowledgementWithin 48 hours
Initial assessmentWithin 5 business days
Fix or mitigationWithin 30 days for critical/high
Public disclosureAfter fix is released

We follow coordinated disclosure — we ask that you give us time to release a fix before public disclosure.

Scope

In scope:

  • Vulnerabilities in the CLI generator itself (fastapi-fullstack package)
  • Security issues in the generated project template code (auth, JWT handling, SSRF, etc.)
  • Unsafe defaults in generated project configuration
  • Path traversal or template injection via cookiecutter inputs

Out of scope:

  • Vulnerabilities in third-party dependencies (report to the respective project)
  • Security issues introduced by users after project generation
  • Issues requiring physical access to the machine

Security Requirements — What You Can and Cannot Expect

What the generated project provides

Generated projects ship with the following security controls enabled by default:

ControlImplementationOWASP
AuthenticationJWT access + refresh tokens, bcrypt password hashing, API key authA07:2021
AuthorizationRole-based access control (RBAC) with RoleChecker dependencyA01:2021
SQL Injection preventionSQLAlchemy ORM with parameterized queries (no raw SQL)A03:2021
XSS preventionHTML sanitization utilities, Pydantic input validationA03:2021
SSRF protectionvalidate_webhook_url() blocks private/reserved/loopback IPs, DNS rebinding checksA10:2021
CORSExplicit origin allowlists, * blocked in productionA05:2021
CSRF protectionHTTP-only cookies for tokens, SameSite cookie attributesA01:2021
Input validationAll API inputs validated via Pydantic v2 strict schemasA03:2021
Secret management.env-based configuration, .gitignore excludes secretsA02:2021
Dependency scanningpip-audit in CI scans for known CVEs on every buildA06:2021
Path traversal preventionsanitize_filename() and validate_safe_path() utilitiesA01:2021
Encrypted token storageChannel bot tokens encrypted at rest with Fernet (AES-128-CBC)A02:2021
Constant-time comparisonsecrets.compare_digest() for API key verificationA02:2021
Webhook signature verificationHMAC-SHA256 for Telegram and Slack webhook endpointsA08:2021

What is NOT provided (user responsibility)

  • Network security — Firewalls, VPNs, TLS termination are your responsibility. The template includes Traefik with Let's Encrypt for HTTPS, but you must configure DNS and deployment.
  • Infrastructure hardening — OS patching, container image scanning, Kubernetes network policies are out of scope.
  • Data encryption at rest — Database-level encryption (TDE) is not configured by default. Enable it at the database layer.
  • Rate limiting tuning — Default rate limits are generous for development. Tune for production workloads.
  • LLM output safety — The template does not filter or sanitize LLM outputs. Implement content moderation if user-facing.
  • Secrets rotation — JWT secret keys and encryption keys are generated once. Implement rotation for production.
  • Audit logging — Request-level logging is included, but compliance audit trails (SOC2, HIPAA) require additional implementation.
  • Penetration testing — Generated code follows security best practices but has not been formally pen-tested. Test before production deployment.

CLI generator security

  • pip-audit in CI — scans for known CVEs on every build
  • ty type checking — catches type-related issues at build time
  • Ruff linting — enforces safe coding patterns
  • 100% test coverage — all template combinations tested

Acknowledgements

We thank all security researchers who responsibly disclose vulnerabilities to us. Confirmed reporters will be credited in the release notes unless they prefer to remain anonymous.