Security and trust

Your bot token lets anyone read your users' messages and speak as your bot. This page describes exactly how we protect it — and what we have not built yet.

What's in place today

Bot tokens encrypted at rest

Your Telegram bot token is a full credential for your bot, so it is sealed with AES-256-GCM before it touches the database or a backup, decrypted only to call Telegram, never logged, and shown masked everywhere in the product.

Encryption in transit and at rest

HTTPS with TLS 1.2+ for every connection, enforced with HSTS. Bot tokens and two-factor secrets are encrypted at rest with a key held only by your deployment.

Account security

Passwords hashed with scrypt, opt-in TOTP two-factor with recovery codes, httpOnly session cookies with CSRF protection, rate limiting on sign-in and password reset, and automatic lockout after repeated failures.

Access control

Five workspace roles from owner to viewer, enforced on the server for every request — not just hidden in the interface. Staff access to a customer workspace is possible only through impersonation, which is always recorded.

Audit logging

Sign-ins, bot changes, publishes, billing events, team changes, and staff impersonation are written to an append-only audit log you can read in your console.

Backups and recovery

Nightly encrypted database backups with configurable retention and a documented, tested restore procedure. Bot connections are checked every few minutes and reconnected automatically if Telegram drops them.

What we haven't done yet

Plenty of vendors leave this section out. We would rather you could plan around it.

  • Independent certification. We are not SOC 2 or ISO 27001 certified. If your procurement process requires it, talk to us before you buy — we would rather tell you now than at renewal.
  • Single-region deployment. BotForge runs in one region without automated cross-region failover. Recovery from a total host failure is a restore from backup, not an instant cutover.
  • SSO and SCIM. SAML/OIDC single sign-on and directory provisioning are planned for the Enterprise plan and are not available yet.
  • Third-party penetration testing. Not yet commissioned. Our responsible disclosure programme below is live in the meantime.

Controls at a glance

AreaControl
Encryption in transitTLS 1.2+ everywhere, HSTS enabled
Secrets at restAES-256-GCM for bot tokens and 2FA secrets
Passwordsscrypt (N=32768), constant-time verification
SessionsOpaque 256-bit tokens, httpOnly cookies, stored hashed, 30-day rolling expiry
Browser hardeningContent-Security-Policy, X-Frame-Options, nosniff, strict referrer policy
Abuse preventionRate limiting on authentication, password reset, and public forms
AuthorizationRole checks enforced server-side on every request
Audit trailAppend-only log of account, bot, billing, and staff actions
BackupsNightly encrypted dumps, configurable retention, documented restore drill
DependenciesLocked dependency versions installed from the public npm registry only

Responsible disclosure

If you believe you've found a security vulnerability in BotForge, please report it privately so we can investigate and respond before any public disclosure. We acknowledge reports within 24 hours and aim to resolve critical issues within 7 days. We do not pursue legal action against good-faith researchers who follow this policy.