---
title: "FAQ"
description: "What Citadel checks, what it does not claim, and where it sits before you fund, bind, or pay."
---

# FAQ

What Citadel checks, what it does not claim, and where it sits before you fund, bind, or pay.

Source URL: https://trymighty.ai/docs/faq

## What does Citadel check?

The file a customer submitted: paystubs, W-2s, bank statements, applications, damage photos, estimates, invoices, and the text already read from those files.

It looks for generated or edited content, and for hidden instructions that try to steer the next system. It returns `ALLOW`, `WARN`, or `BLOCK`, plus the evidence.

## Does Citadel say whether a claim is true?

No.

Citadel does not score truth, facts, or news. Your team still decides whether to fund, bind, or pay.

The product route is what stops the risk. Citadel returns three distinct fields:

- `action` is one of `ALLOW`, `WARN`, or `BLOCK`. Switch on this for routing.
- `scan_status` is one of `pending`, `complete`, or `failed`. Async lifecycle, separate from routing.
- `authenticity.verdict` is one of `likely_real`, `likely_ai_generated`, `ai_generated`, or `indeterminate`. Forensics on the file itself, separate from routing.

Your app routes on `action`. `indeterminate` is a forensics verdict, not a routing action.

Illustration: Citadel flags risk on the file. Your team makes the decision. Use it before funding, bind, payout, storage, or a model call.

## Does the model decide if the file is safe?

No. Your server calls Citadel first.

```text
customer file -> Citadel scan -> route result -> underwriting, claims, or model
```

Only then pass routed material into the model, the reader, the agent, or the workflow.

## Where should Citadel sit?

| Surface | Put Citadel before |
| --- | --- |
| Paystub, W-2, bank statement | Funding. |
| New-business application | Bind. |
| Damage photo | Claim, repair, or payment decision. |
| Invoice or estimate | Approval or payment. |
| Uploaded file | Storage, extraction, or indexing. |
| Text already read from a file | Extracted fields become workflow data. |
| Model output | Users or downstream tools see it. |
| Agent tool output | Tool output enters model context. |
| Chat prompt | Model call. |

## Does Citadel prove fraud?

No.

Citadel can flag a suspicious file, hidden instructions, unsafe output, or authenticity signals. Your team and product policy make the final business decision.

Use this wording:

- Citadel flagged this for review.
- Citadel blocked this route.
- This result needs more evidence.
- This result is indeterminate.

Do not say:

- Citadel proved fraud.
- Citadel proved the document is real.
- Citadel proved the statement is true.

## Does Citadel replace app security?

No.

Keep your normal controls: authentication, authorization, rate limits, file size limits, malware scanning when required, audit logs, and human review for high-risk decisions.

Citadel inspects the customer file before the workflow acts on it.

## What file types does Citadel accept?

One scan contract across:

- Text.
- Images.
- PDFs.
- Documents.
- Text already read from a file.
- Model output.
- Agent tool output.
- Audio transcripts today. Audio file scanning is closed beta.

Use [Multimodal Support](/docs/integrate/multimodal-support) to choose settings.

## What should my app store?

Store these fields when returned:

- `scan_id`
- `request_id`
- `scan_group_id`
- `session_id`
- `action`
- `risk_score`
- `risk_level`
- `threats`
- `content_type_detected`
- `redacted_output`

This gives support, billing, review, and audit teams enough context to understand the route.

## What should I give my AI coding agent?

Use this prompt.

### Explain Citadel correctly

```text
Use Citadel, Mighty's product, to check customer-submitted files before funding, bind, or payout.

Do not implement Citadel as:
- a truth oracle
- a fact checker
- a misinformation classifier
- a source-of-truth system

Implement Citadel as:
- server-side scanning of the submitted file
- a second scan of extracted text or a model summary from that file
- multimodal scanning for text, images, PDFs, documents, extracted text, model output, and agent tool output
- routing on action (ALLOW, WARN, BLOCK), scan_status lifecycle (pending, complete, failed), and authenticity.verdict (likely_real, likely_ai_generated, ai_generated, indeterminate)

Risks to route:
- generated or edited income documents
- generated or edited claim photos, estimates, and invoices
- hidden instructions in the file
- data exfiltration attempts
- secret leakage
- extracted text that steers automation
- unsafe model output

Acceptance criteria:
- The file is scanned before funding, bind, payout, storage, or a model call.
- The app does not claim Citadel proves fraud or truth.
- The app stores scan_id, request_id, scan_group_id, session_id, action, and risk_score.
- Tests cover ALLOW, WARN, BLOCK, scan failure, and output scanning.
```
