> ## Documentation Index
> Fetch the complete documentation index at: https://docs.criminal.work/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissions

> What Criminal needs, what it checks per command, and why role hierarchy decides everything.

## The hierarchy rule

Criminal can only act on members and roles **below its own highest role**. It checks this itself
rather than letting Discord fail quietly:

```text theme={null}
@Owner
@Admin
@Criminal      ← manageable: everything below this line
@Moderator
@Member
```

When something sits too high, the bot says so where you can act on it · `/vanity status` flags a role
above the bot, and `/levelreward set` refuses to save one.

## Per-command permissions

Commands declare their own permissions, so Discord greys out what you can't use. Criminal re-checks
server-side with three layers: Discord permissions, hierarchy, and whether the member is exempt.

| Area | Requires |
| - | - |
| Bans, kicks, softban | Ban Members / Kick Members |
| Mute, imagemute, timeouts | Moderate Members |
| Jail, unjail | Manage Roles |
| Purge, warn, modlogs | Manage Messages / Moderate Members |
| Channel lock, slowmode, nuke | Manage Channels |
| `/automod *` | Manage Server |
| `/giveaway *` | Manage Server |
| `/suggestion approve/deny/implemented` | Manage Server |
| `/social add`, `remove`, `refresh` | Manage Server |
| `/vanity rescan` | Manage Server |
| `/levelreward set/remove/setxp` | Manage Server |
| `/honeypot edit`, `reset` | Manage Server |
| `/embed` | Manage Messages |

Read-only commands (`view`, `list`, `latest post`, `/snipe`, `/level`, `/ranks`) are open to everyone
unless a server's own channel permissions stop them.

## Exemptions that matter

Some modules skip members automatically, regardless of permissions:

| Module | Skips |
| - | - |
| AutoMod | Members with Manage Messages, bots, roles at or above the bot, exempt roles and channels |
| Honeypot | Administrators, always |
| Sob Board | NSFW channels, channels `@everyone` can't view |
| Levels | Bots |

**Audit log permission buys accuracy**

Without **View Audit Log**, the bot still logs bans and kicks, but it can't attribute them to the
moderator who did it. Grant it if you want "who did this" in your log channel.

**A few commands are team-only**

Some maintenance commands aren't available to servers. They don't appear in your command list, and
no setting or role grants access to them.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.