SECURITY

Security

How we protect data across the Astrix bot, dashboard, and infrastructure.

Database encryption

Astrix stores application data in MongoDB Atlas, which encrypts data at rest by default. Connections from the bot and dashboard use TLS in transit.

We do not operate our own database servers. Access to production clusters is restricted to the services that need it.

Payments

Astrix never stores credit card numbers, CVV codes, or bank account details. All subscription billing runs through Stripe, a PCI-compliant payment processor.

Astrix only retains Stripe customer and subscription identifiers needed to activate Pro or Elite features on a server.

Stripe webhook verification

Stripe Webhook Verification — All incoming billing events from Stripe are cryptographically verified using signature validation before processing, ensuring only legitimate requests from Stripe can trigger account or subscription changes.

Secrets and API keys

Sensitive credentials — including MONGODB_URI, DISCORD_CLIENT_SECRET, STRIPE_SECRET_KEY, NEXTAUTH_SECRET, and AI provider keys — exist only as environment variables on server infrastructure.

They are never embedded in client-side JavaScript, never committed to git, and never exposed in public API responses.

Discord OAuth tokens

When you log into astrixbot.com, Discord OAuth tokens are handled server-side only. Access tokens are used to verify which servers you manage and are stored in encrypted session cookies via NextAuth.js (Auth.js) — not in localStorage or client-accessible storage.

Dashboard routes re-check permissions on every request. Tokens are not shared with other users or third-party analytics tools.

Admin access controls

Admin Access Controls — Access to Astrix's internal administrative tools is restricted to a small number of explicitly authorized Discord accounts, with a further-restricted tier for the most sensitive actions (such as granting admin access to others). All administrative actions are logged.

Rate limiting

Rate Limiting — Public-facing interactive features (such as changelog and blog reactions) include rate limiting to prevent automated abuse.

Bot permissions (least privilege)

Astrix follows the principle of least privilege: we request only what features need, and many admin actions require the invoking member to have their own Discord permissions (e.g. Manage Guild for configuration commands).

Permissions requested at install time (OAuth invite scope):

  • Add Reactions

    Polls, giveaways, and interactive panels use reactions.

  • Send Messages

    Core bot responses, welcome messages, and command replies.

  • Embed Links

    Rich Components V2 cards and formatted moderation logs.

  • Mention @everyone / @here

    Optional announcement flows where server admins enable them.

  • Mute Members

    Voice moderation actions when used by authorized moderators.

  • Moderate Members (Timeout)

    The /mute command and automod timeout enforcement.

Additional permissions Astrix uses at runtime when features are enabled:

  • View Channels & Read Message History

    Required to read commands and run automod, leveling, and Orbit capture.

  • Manage Messages

    Purge command and automod message removal only — not bulk surveillance.

  • Kick & Ban Members

    Moderation commands initiated explicitly by authorized staff.

  • Manage Roles

    Welcome auto-roles, reaction roles, verification gates, and AI Server Setup role creation when approved.

  • Manage Channels

    Private ticket channels and AI Server Setup channel creation when approved — not arbitrary channel edits.

  • Change Nickname

    Used only when a server admin explicitly configures a custom bot nickname (Pro+).

  • Use Application Commands

    Slash commands and context menu actions.

We do not request the Discord Administrator permission unless you explicitly grant it during install. Review the permission list on Discord's authorization screen before adding Astrix.

Report a vulnerability

If you discover a security issue, email security@astrixbot.com with details. Please do not publicly disclose exploitable issues before we have had a reasonable chance to respond.