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.

Independently tested infrastructure

We run on OVH and Hetzner, hosting providers audited to recognized data-center security and compliance standards. On top of that, we run our own server-level security testing and commission third-party penetration testing and independent verification of the system as a whole.

What we haven't done yet

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

  • Single-region deployment. Meshwire 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.

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
InfrastructureOVH and Hetzner data centers, independently audited
Penetration testingCommissioned third-party testing plus ongoing independent verification

Responsible disclosure

If you believe you've found a security vulnerability in Meshwire, 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.