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

# Feedback & Alerts

*Every signal the platform sends back about a conversation, and what to do when you receive one.*

Beyond the generated reply, the platform tells you when a conversation is delayed, dropped, blocked, or banned. These signals arrive in two places: as fields on the **answer object**, and as **webhook events**. This page lists every one.

<CardGroup cols={2}>
  <Card title="On the answer object" icon="file-lines">
    `conversationStopReason` and `conversationStoppedUntil` tell you if and why a conversation was stopped.
  </Card>

  <Card title="As webhook events" icon="webhook">
    Pushed to your endpoint as a conversation progresses or when an image is rejected.
  </Card>
</CardGroup>

## Conversation stop reasons

When a guardrail stops a conversation, the next answer carries a `conversationStopReason`. Permanent reasons end the conversation; progressive ones set a `conversationStoppedUntil` timestamp.

| Reason                    | What it means                           | Ban           |
| ------------------------- | --------------------------------------- | ------------- |
| `USER_UNDERAGE`           | Minor user detected (under 18).         | **Permanent** |
| `USER_SUSPICIOUS`         | User is trying to hijack the Persona.   | **Permanent** |
| `MALICIOUS_CONTENT`       | Severe illegal content detected.        | **Permanent** |
| `USER_MESSAGE_REPETITION` | User repeats the same message.          | Progressive   |
| `UNKNOWN_LANGUAGE`        | User writes in an unsupported language. | Progressive   |
| `USER_HOSTILE`            | Hostile behaviour toward the Persona.   | Progressive   |
| `AI_SUSPICION`            | User suspects the Persona is an AI.     | Progressive   |

<Note>
  **What to do.** Progressive bans default to 2h → 12h → 24h → 48h → permanent. Wait until `conversationStoppedUntil` before sending again; for permanent reasons, stop the conversation. Durations are configurable per project in [Core Guardian](/content-creation/core-guardian).

  A ban applies only to the current conversation. The user's other conversations are unaffected, and they can start a new one normally.
</Note>

## Webhook events

| Event                  | What it means                                         | What to do                        |
| ---------------------- | ----------------------------------------------------- | --------------------------------- |
| `answer.processing`    | Generation has started.                               | Optionally show a "typing" state. |
| `answer.created`       | Answer is ready (carries any stop reason).            | Deliver it to your end-user.      |
| `conversation.dropped` | Generation exceeded the max time; no answer produced. | Resend or raise the timeout.      |
| `chat.image.rejected`  | A submitted image failed moderation.                  | See rejection reasons below.      |

## Image rejection reasons

A `chat.image.rejected` event includes a `reason` explaining the moderation failure.

| Reason            | What it means                                           |
| ----------------- | ------------------------------------------------------- |
| `VIOLENT_CONTENT` | Violence or graphic/unsafe violent material.            |
| `SELF_HARM`       | Self-harm, suicidal, or related imagery.                |
| `ILLEGAL_CONTENT` | Illegal or illicit content prohibited by policy or law. |

<Tip>
  Configure what triggers these signals in [Core Guardian](/content-creation/core-guardian). See full field definitions in the [Answer data type](/api-reference/content-creation/data-types/answer).
</Tip>
