If you discover a security vulnerability in Remoat, please report it responsibly.
Report via: GitHub Security Advisories (preferred) or open a private issue
Include:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
We'll acknowledge receipt within 48 hours and aim to release a fix within 7 days for critical issues. Please don't open a public GitHub issue for security vulnerabilities.
Remoat is designed to run on your local machine with no external attack surface.
- No inbound connections. The bot uses Telegram's long-polling API (outbound HTTPS only). No webhooks, no open ports, no port forwarding.
- CDP is local-only. The WebSocket connection to Antigravity binds to
127.0.0.1. It never leaves your machine.
- Whitelist-based access control. Every incoming Telegram message and callback query is checked against
ALLOWED_USER_IDSbefore any processing occurs. Unauthorized messages are silently dropped. - No multi-tenancy. Remoat is a single-user tool. The whitelist is an additional safety layer, not a shared-access mechanism.
- Bot tokens and user IDs are stored in a local
.envfile (or~/.remoat/config.jsonwhen installed via npm). - The
.envfile is excluded from version control via.gitignore. - We recommend setting restrictive file permissions:
chmod 600 .env.
- All workspace path operations are resolved against
WORKSPACE_BASE_DIRusingpath.resolve()to prevent directory traversal. - The bot cannot access directories outside the configured workspace root.
- No telemetry. Remoat does not collect, transmit, or store analytics data.
- No cloud storage. Session data, workspace bindings, and templates are stored in a local SQLite database (
antigravity.db). - Voice transcription is local. Voice messages are transcribed on-device via whisper.cpp. Audio is never sent to external services.
| Version | Supported |
|---|---|
| 0.2.x | Yes |
| < 0.2 | No |
- Keep
ALLOWED_USER_IDSlimited to your own Telegram account - Set file permissions on
.env:chmod 600 .env - Don't share your bot token — if compromised, revoke it via @BotFather and run
remoat setupagain - Run
remoat doctorperiodically to verify your configuration - Keep Remoat and its dependencies up to date