# How moderation works

Content moderation is automated and handled by 2fans infrastructure. What each status means, what the checks look for and how to build around them.

Content moderation is automated and handled by 2fans infrastructure, so you don’t have to build any of it. Everything created through the API uses the same pipeline as the dashboard, so treat `PENDING` as a normal response.

## Statuses

`moderationStatus` on vault items, posts and drops is one of:

| Status | Meaning |
| --- | --- |
| `PENDING` | Waiting for review. It isn't an error. |
| `APPROVED` | Live and usable. |
| `FLAGGED` | Held. It may still be approved. |
| `REJECTED` | Held, and the creator is told. |

A drop takes its status from its items: any rejected or flagged item wins, then any pending item, otherwise it's approved. The buy page won't sell a drop until it's approved.

## What the checks look for

Automated checks look for AI generation, deepfakes, nudity, people and likely minors, and celebrity likeness. AI persona faces are compared with known creators.

Text goes through a prohibited-word filter. A caught drop name returns `400` with `matchedWord`, and a caught post caption returns `422`.

Profile images and banners always wait for review.

## Building around it

- Poll `GET /vault?includePending=true` or `GET /posts/{id}` every 30 to 60 seconds while something is pending.
- Video has to finish processing before moderation starts. `isReady: true` from `POST /vault/video-status` doesn't mean approved.
- If a drop is rejected or flagged, tell the creator instead of retrying.

## Next

- [Compliance and content rules](https://2fans.dev/docs/handled/compliance.md): Who is responsible for records, age checks, AI disclosure, reports and takedowns, and where the policies live.
- [Creator verification](https://2fans.dev/docs/handled/verification.md): How creators are verified: an ID document, face match and liveness check through Didit, with records kept by 2fans and status available in the API.

2fans was called Dropfans until October 2026, so the API host is still www.dropfans.io and keys still start with dpfn_.

Last updated 2026-11-02. All pages: https://2fans.dev/llms.txt.