Security
Routa takes vulnerability reports through private email rather than public issues, so a fix can ship before the problem is widely known. This page covers how to report one and which parts of an API Routa is responsible for.
Before You Start
Section titled “Before You Start”- Do not open a public GitHub issue, discussion, or pull request describing the issue.
- Confirm the problem is in Routa itself rather than in an application built with it.
-
Email the report.
security@routa-ts.dev -
Include enough detail to reproduce and assess it.
Include Why Affected package or workflow Narrows it to core, the CLI, or the scaffolder Routa version or commit Determines whether it is already fixed Reproduction steps Makes triage possible Impact Sets severity Suggested mitigation Optional, always welcome -
Wait for acknowledgement before disclosing. The repository security policy describes the current process and timelines.
Verify
Section titled “Verify”Check the sent message before disclosure. A complete report has a private recipient and enough evidence for the maintainers to reproduce the issue:
To: security@routa-ts.devAffected package or workflow: presentRouta version or commit: presentReproduction steps: presentImpact: presentWhat Routa Secures
Section titled “What Routa Secures”Routa owns the HTTP boundary, so these are Routa’s responsibility:
- Parsing and validating every declared input before a handler runs.
- Validating handler output against its declared schema before serialization.
- Not leaking internal error messages; runtime failures return generic problem documents.
- Refusing to overwrite files it does not track during scaffolding.
- Rejecting middleware it cannot statically verify.
What Your Application Secures
Section titled “What Your Application Secures”Routa makes security visible in the contract and in generated OpenAPI. It never implements any of it. These remain entirely yours:
- Authentication, credential verification, and session handling.
- Authorization rules and policy correctness.
openapi.permissionsis documentation, not enforcement. - Secret storage and rotation.
- CORS policy. Routa answers preflights with the derived method list but never sets
Access-Control-Allow-Origin. - Rate limiting, request size limits, and denial-of-service protection.
- Transport security and anything the reverse proxy or platform in front of Routa provides.
Troubleshooting
Section titled “Troubleshooting”| Problem | Fix |
|---|---|
| The issue may be in application code | Reduce the reproduction to Routa’s HTTP boundary before reporting it as a framework vulnerability. |
| The report contains secrets or production data | Replace them with synthetic values and revoke any credential that was exposed. |
| Email is unavailable | Do not disclose publicly; use the private contact method in the repository security policy when one is listed. |
| You have not received an acknowledgement | Follow up on the same private thread so context and attachments stay together. |