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

# Moderation and automod

> Warnings, strikes, appeals and the automatic filter.

## Staff actions

Besides reports and standings, staff can send an account a message, warning or strike. It arrives in the account's Notifications tab and opens a page where a warning or strike can be appealed. A suspended account appeals at `/appeal` with its password.

Staff can also:

* set temporary standings, which lift on their own;
* keep private notes on accounts;
* see and end an account's sessions;
* hide posts and articles (staff still see them);
* mark media sensitive (X's content warning);
* give accounts custom badges;
* delete uploads.

Settings also hold maintenance mode (everyone but staff sees a message), blocked phrases, hidden and promoted trends, and a post pinned to the top of every home timeline.

## Automod

The automod (`src/hate.ts`) refuses slurs, explicit hate, transphobia and abuse like "kill yourself" in posts, replies, scheduled posts, profiles, names, polls, image descriptions, lists, communities, articles and Community Notes.

It reads through look-alike letters from other alphabets, Unicode styles, leetspeak, invisible characters, accents, repeated letters, letters spelled out one by one, and reversed or upside-down text.

* Reclaimed queer words pass unless the text attacks someone.
* NSFW text isn't touched.
* DMs are end-to-end encrypted, so the server can't read them.

### Second chances and strikes

The first refusals each week (5 by default) are second chances: the content isn't published, and the person gets a notice and a modal saying what was caught and how many chances are left.

After that, each refusal is an appealable strike. Strikes, from staff or automatic, follow a ladder set in Settings > Automod. By default:

1. a warning
2. a day
3. a week
4. 30 days
5. permanent

## Rate limits

Rate limits apply per account and per address (`src/ratelimit.ts`). Per 15 minutes:

| Bucket | Limit |
| - | - |
| Any request | 6000 |
| One endpoint | 1000 |
| Other writes | 1500 |
| Posts | 150 |
| Likes, reposts, bookmarks and follows | 1000 |
| Direct messages | 1500 |
| Uploads started | 150 |
| Sign-in and sign-up, per address | 40 |


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