If you discover a security vulnerability in TomorrowEdge, please do not open a public issue.
Instead, send a report to the maintainers via GitHub's private vulnerability reporting or email the details to the project maintainer.
We aim to acknowledge reports within 72 hours and provide an initial assessment within 5 business days.
| Version | Supported |
|---|---|
| 0.5.x | ✅ Active |
| 0.4.x | ❌ End of life |
| < 0.4 | ❌ End of life |
TomorrowEdge is a full-access agent cockpit. Understanding its security boundaries is critical before deployment:
| Mode | Network | Patch | Shell | Repair | Risk Profile |
|---|---|---|---|---|---|
restricted |
Offline | ❌ | ❌ | ❌ | Read-only, lowest risk |
partial |
Cloud | Requires per-action approval | |||
full |
Cloud | ✅ | ✅ | ✅ | Full autonomy, highest risk |
- restricted: No write access, no network. Safe for inspection and analysis.
- partial: Write actions permitted but require explicit user approval per action.
- full: All actions auto-approved. Always run in a sandbox, clean git repo, or fixture workspace.
- In
fullandpartialmodes, TomorrowEdge can execute shell commands through a verification allowlist. - The default allowlist includes:
npm,node,npx,pnpm,yarn,python,pytest,tsx,vitest,jest,cargo,go,make,cmake,pip,bun,deno. - Shell metacharacters (
;,&,|,`,$(), etc.) are blocked. - Dangerous executables (
rm,shutdown,reboot,curl,wget,bash,sh) are blocked by default. - Customize the allowlist in
.tomorrowedge/config.yamlundershell.verification_allowlist.
- API keys are configured via environment variables (never committed to the repo).
tedge doctorchecks for missing API keys and warns on misconfiguration.npm run secrets:scanruns a secret scanner over the working tree (excludes.env*,.git,node_modules).- The
.tomorrowedge/directory is in.gitignoreand contains session traces and artifacts.
- External agents (Claude Code, Codex, etc.) connect via MCP over stdio (local process).
- External agents are registered with an explicit
trustLevelandallowedRoles. - All external agent actions (patch proposals, reviews, judgments, shell runs) are recorded in the event ledger.
- Review the
tedge mcp agentslist andexternal_agentsconfig before enabling external agents.
- Telemetry is disabled by default (
project.telemetry: false). - No usage data, prompts, or traces are sent to any server unless explicitly enabled.
- Use fixture mode for testing:
tedge run "task" --fixture-modeoperates on a temporary workspace copy. - Review traces:
tedge trace latest --verboseshows every model call, patch, shell command, and review. - Export and audit:
tedge export latest --format markdownproduces a full audit trail. - Prefer partial mode: Only use
fullmode in sandboxed or disposable environments. - Keep TomorrowEdge updated: Check
CHANGELOG.mdfor security-relevant fixes in each release.
We follow responsible disclosure:
- 72 hours: Initial acknowledgment
- 5 business days: Triage and severity assessment
- 30 days: Patch prepared (shorter for critical issues)
- Public disclosure coordinated with fix availability
We appreciate the security research community's help in keeping TomorrowEdge safe. Researchers who follow this policy will be acknowledged in release notes (unless they request anonymity).