| Version | Supported |
|---|---|
| 0.1.x | Yes |
If you discover a security vulnerability in Runtm, please report it responsibly:
- Do not open a public GitHub issue
- Email security concerns to: security@runtm.com
- Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We will respond within 48 hours and work with you to understand and address the issue.
- All API calls require Bearer token authentication
- Tokens are hashed with versioned peppers (supports rotation)
- Tokens should be treated as secrets and never committed to version control
- 10 deployments per hour per token
- Rate limits help prevent abuse and resource exhaustion
- Maximum artifact size: 20 MB
- Protects against zip bombs and resource exhaustion
- Build timeout: 10 minutes
- Deploy timeout: 5 minutes
- Machine tiers with resource limits (starter, standard, performance)
- Secrets stored locally in
.env.local(never on Runtm servers) .env.localis auto-added to.gitignoreand.cursorignore- Secrets marked
secret: trueinenv_schemaare redacted from logs - Secrets are injected directly to deployment provider at deploy time
- Deployed workloads have restricted egress by default
- Egress allowlist can be configured in
runtm.yaml
- Never commit credentials: Use
runtm secrets setto store sensitive values - Use env_schema: Declare required env vars with
secret: truefor proper redaction - Regularly rotate API tokens: Use
runtm logoutandruntm loginto refresh - Monitor deployment logs: Use
runtm logs <id>to review build and runtime output - Review agent requests: Use
runtm approve --dry-runbefore applying changes
┌─────────────────────────────┐
│ .env.local (local) │
│ DATABASE_URL=postgres:// │
│ API_KEY=sk-xxx │
└─────────────┬───────────────┘
│
┌─────────────▼───────────────┐
│ runtm deploy │
│ (reads .env.local once) │
└─────────────┬───────────────┘
│
┌─────────────▼───────────────┐
│ Fly.io Secrets API │
│ (injected to machine env) │
└─────────────────────────────┘
Runtm servers NEVER store or see secret values.