Skip to content

Security

Layered security, with the limits in plain sight.

What each security module does, what data it uses and what it cannot do because of how Discord works. All of them are free on every plan.

In layers

Three rings around your community.

A garita is the sentry post at a fortress gate. Garita organizes protection the same way: first the gate, then the wall and, inside, the square where your community lives.

123
  1. The gate

    Decides who gets in and how fast: verification, the recent-account filter and anti-raid.

  2. The wall

    Stops what slips through and leaves a trail: honeypot, automod, anti-nuke and logs.

  3. The square

    Where everything else happens: welcomes, roles, levels, tickets, giveaways and alerts.

The modules

  • Honeypot

    Planned

    A trap channel with a highly visible warning. Spam accounts that post in it get the configured action; by default, a softban that deletes their recent messages.

    • Starts in observation mode: it records without sanctioning until you enable it.
    • Staff, exempt roles and exempt people are never sanctioned.
    • It does not read content: it only needs to know a post happened in the channel.
    See the honeypot in detail
  • Anti-raid

    Planned

    Watches the join rate and anomalous activity. When the threshold you choose is exceeded, it can quarantine new accounts and trigger a temporary emergency lockdown.

    • Per-server configurable thresholds.
    • Quarantine for new accounts and emergency lockdown.
    • Every action is logged with its reason.
  • Anti-nuke

    Planned

    Watches destructive admin actions (mass channel or role deletion, chains of bans) through Discord’s audit log, and keeps snapshots to rebuild the structure.

    • Monitoring through Discord’s audit log.
    • Snapshots of roles and channels.
    • Recovery recreates what was deleted with new IDs (Discord cannot restore the original).
  • Verification and recent-account filter

    Planned

    Rule acceptance, minimum account age, explainable risk signals and manual review. No ads in the flow.

    • For accounts newer than the threshold (hours or days): kick, ban, timeout, quarantine, send to review or just log.
    • Optional DM to the affected person and a log entry in the channel you choose.
    • The notice says “Recent account”, never “alt”: account age does not prove it is an alternate account.

Shared principles

  • Least privilege

    Each module declares only the permissions it needs. The dashboard flags missing ones before enabling it, and Garita checks again before every action.

  • Hierarchy respected

    Garita does not act on members whose role is above its own, nor on the owner. When it cannot act, it says so and logs why.

  • Everything is logged

    Every automatic action is stored in the audit history with its reason, so it can be reviewed or appealed.

  • No blind retries

    If Discord does not answer in time, Garita checks what happened before acting again. Unclear cases go to human review.

  • Protected settings

    Changing a sensitive module requires the dashboard admin role and an explicit confirmation.

  • No double sanctions

    Before sanctioning automatically, Garita checks there is no other action in progress for the same person.

What data security uses

Just what it needs. The full detail is in the privacy policy (draft).

What data security uses
DataPurposeRetention
Discord IDs (server, channels, roles, users)Know where and on whom to actWhile the bot is in the server (later period to be defined)
Each module’s configurationApply what staff decidedWhile the bot is in the server
Incidents and moderation casesHistory, review and appealsTo be defined (draft)
Account creation dateRecent-account filter (derived from the ID, no extra data)Not stored separately

We don’t collect IP addresses and we don’t sell data. Privacy policy (draft)

What Discord does not allow (and how we handle it)

  • Discord gives bots no IP addresses or device data: alt accounts cannot be identified reliably, and we do not promise it.
  • There is no atomic “ban + unban”: a moderator can act between the two calls. When the outcome is unclear, the case goes to human review.
  • A deleted channel or role cannot be restored with its original ID; recovering means recreating it.
  • If Garita’s role is below a member’s, it cannot sanction them: move it up the role list.
  • Privileged intents (members and message content) need Discord’s approval beyond 100 servers.

Actual state: the honeypot logic is implemented and being tested against a Discord simulator. No module has been validated on real Discord yet; when that happens you will see it in the changelog.