---
title: Follow the content rules
description: What the pre-live gate checks and what happens to live apps.
---

Outer shares one domain between the platform and every app, so one bad app can hurt everyone. Every deploy passes a gate before it can serve anything.

## Pass the pre-live gate

The gate reads what visitors can read: page text, text files, and public
data strings. It also reads SVG text, SQL strings in migrations and seeds,
the built HTML, and the slug plus app name.

- Strong profanity, slurs, masked spellings, and the most severe content block the deploy. Mild words ("damn", "hell", "crap") pass.
- A blocked deploy keeps the old version serving. Fix the flagged lines and commit again.
- A blocked deploy counts as a code change. It is never a rollback target.
- Over the review caps (3000 files, 256 KiB each, 8 MiB total) the deploy is blocked as `too_large_to_review`.
- When the classifier is unavailable, the deploy fails closed and the old version keeps serving.

## Stay clean after going live

Outer can re-check rendered pages after each deploy. If review flags your app, an admin can hold or suspend it, and a suspended app stops serving until review clears it. Ask your agent to screen visitor-written text before storing it. Uploaded files are never classified, so keep uploads behind your own checks.

## Appeal a decision

There is no self-serve appeal during the closed beta: a human appeal goes to the platform owner for review. Ask your agent to relay any `user_message` verbatim instead of inventing a workaround. Agent detail: [Moderation](/agents/security/moderation).

:::note
Never work around the gate. Fix the cause and ask for another deploy. Blocked? See [FAQ](/help/faq). To undo, [roll back a deploy](/deploy/rollback).
:::
