Browse docs

Choose Scan Settings

Pick content type, phase, mode, focus, profile, and data sensitivity from real product examples.

Mighty inspects anything before your product trusts it: user input, generated output, uploads, OCR text, image evidence, PDF evidence, office documents, and agent tool output.

Start with the thing your product is about to trust. Then choose the settings that match that story.

For definitions of focus, AI edits, steganography, prompt injection, and related terms, see the glossary.

Start With The Thing You Are About To Trust

Use this table first. It shows the setting combinations that should be copied into real integrations.

ScenarioUse these settingsWhy
User prompt before AIcontent_type=text, scan_phase=input, mode=secure, focus=stegFinds text trying to override rules, steer the model, reveal secrets, or hide unsafe instructions.
OCR text before automationcontent_type=text, scan_phase=input, mode=secure, focus=steg, data_sensitivity=tolerantOCR can expose hidden or altered text. Tolerant mode avoids blocking normal names, addresses, claim IDs, and invoice details.
Public AI answercontent_type=text, scan_phase=output, mode=secure, focus=steg, profile=ai_safety, data_sensitivity=strictChecks generated output before users see leaks, unsafe text, or policy-breaking content.
Internal AI summarycontent_type=text, scan_phase=output, focus=steg, data_sensitivity=tolerantLets normal business PII exist in internal notes while still catching unsafe generated output.
Mixed file uploadcontent_type=auto, scan_phase=input, mode=secure, focus=stegSafest default before storage, OCR, indexing, or AI extraction.
Office documentcontent_type=document, focus=stegOffice/structured documents currently support hidden-content and threat inspection only. Wrong focus values return unsupported_focus_for_content_type.
Image authenticity reviewcontent_type=image, scan_phase=input, mode=secure, focus=aiUse when the main question is whether visual evidence looks AI-generated, AI-edited, reposted, or provenance-backed.
Image edit comparisoncontent_type=image, scan_phase=input, mode=secure, focus=edits, reference_file=@original.jpgUse when you have an original/source image and need to find what changed in the submitted image.
Full image/PDF evidence reviewcontent_type=image or pdf, focus=allUse when hidden content, authenticity, and edit evidence all matter.
High-value image/PDF reviewmode=comprehensive, async=true, focus=allUse when latency is acceptable and the result affects money, safety, account trust, or legal review.

Safe Default

If you are unsure, start here:

{
  "content_type": "auto",
  "scan_phase": "input",
  "mode": "secure",
  "focus": "steg",
  "profile": "balanced",
  "data_sensitivity": "standard"
}

This says: "A user or upstream system submitted something, Mighty should inspect it with the normal production path, and normal product policy should decide what happens next."

Change the defaults only when the workflow needs it:

  • Use data_sensitivity=tolerant when the text normally contains names, addresses, claim IDs, policy numbers, invoice lines, or contact details.
  • Use profile=ai_safety and data_sensitivity=strict for public AI output.
  • Use focus=ai, focus=edits, or focus=all only for supported image/PDF evidence paths.
  • Use mode=comprehensive and async=true for high-value image/PDF review where waiting is acceptable.

Input Inspection

Input inspection means the material came from a user, customer, claimant, vendor, partner, upload, browser, or upstream system.

Examples:

What came inSettingsWhat Mighty looks for
Chat prompt or form fieldcontent_type=text, scan_phase=input, focus=stegPrompt injection, content steering, secrets, unsafe instructions, and hidden text patterns.
Uploaded PDF, image, or document before storagecontent_type=auto, scan_phase=input, focus=stegHidden content, suspicious text, visual prompt injection, unsafe file text, and parser-safe extraction risk.
Office documentcontent_type=document, scan_phase=input, focus=stegHidden content and threat inspection in structured documents.
Damage photo or receipt photocontent_type=image, scan_phase=input, focus=allHidden content, AI authenticity evidence, and localized edit evidence together.
Known image authenticity reviewcontent_type=image, scan_phase=input, focus=aiWhether the visual evidence appears AI-generated, AI-edited, reposted, provenance-backed, or visually inconsistent.
Original vs submitted imagecontent_type=image, scan_phase=input, focus=edits, reference_file=@original.jpgWhat changed between the source image and the submitted image.

For browser or API uploads, see Scan File Uploads. For visual evidence, see Damage Photo AI Fraud Review.

Output Inspection

Output inspection means your system generated the material: a model answer, OCR text, extraction result, AI summary, agent tool result, generated recommendation, or public response.

Scan output before users, models, tools, or workflow automation act on it.

{
  "content": "Generated answer shown to a user",
  "content_type": "text",
  "scan_phase": "output",
  "mode": "secure",
  "focus": "steg",
  "profile": "ai_safety",
  "data_sensitivity": "strict"
}

Use the scan_group_id from the related input scan. That keeps the prompt, upload, OCR output, model answer, and review record connected.

OutputSettingsWhy
Public assistant answerscan_phase=output, focus=steg, profile=ai_safety, data_sensitivity=strictCatches unsafe generated text, secret leakage, and policy-breaking output before users see it.
Internal claim or invoice summaryscan_phase=output, focus=steg, data_sensitivity=tolerantNormal business PII can remain in reviewer-only notes while unsafe output still gets routed.
OCR text or extracted fieldscontent_type=text, scan_phase=input, focus=steg, data_sensitivity=tolerantOCR output is derived, but it is still untrusted input to your automation.
Agent tool outputscan_phase=output, focus=steg, profile=ai_safety or code_assistantKeeps unsafe tool results, retrieved text, and browser content out of the next model step.

For generated responses, see Scan Model Output. For multi-step evidence chains, see Sessions And Scan Groups.

Focus Modes Without Jargon

focus answers: what kind of risk or evidence should Mighty prioritize?

FocusPlain meaningUse it forDo not use it for
stegHidden content, prompt injection, content steering, unsafe text, OCR/document safety.Text, OCR text, model output, mixed uploads, office documents, AI-facing uploads.AI-authenticity-only review or pairwise image comparison.
aiIs this visual evidence likely generated, AI-edited, reposted, or missing useful provenance?Damage photos, receipt photos, marketplace listing images, ID or verification images, screenshot/PDF evidence where authenticity is the main question.Text, OCR text, model output, office documents, or anything where hidden instructions could reach an AI system unless paired via focus=all.
editsWhat changed, and where does the submitted image look manipulated?Original vs submitted damage photos, altered labels, receipts, package photos, food photos, screenshots, and document images where visible text may have changed.Office documents, text/OCR/model output, or general hidden-instruction safety scans.
allRun the supported image/PDF evidence paths together at 10 SCU per image unit.Image/PDF evidence where hidden content, authenticity, and edit evidence all matter.Structured office documents; use focus=steg.

Default value: steg. Focused image paths bill 4 SCU per image. focus=all bills 10 SCU per image unit. Deprecated aliases still exist: standard maps to steg, and both maps to all.

Office and structured documents currently support steg only. For content_type=document, focus=ai, focus=edits, focus=all, and deprecated focus=both return 400 with code=unsupported_focus_for_content_type.

For the technical compatibility table, see POST /v1/scan focus compatibility.

When focus=ai Is Useful

Ask: "Is this visual evidence likely generated, AI-edited, reposted, or missing useful provenance?"

Use focus=ai when authenticity is the main question and you already know the material is image/PDF evidence.

curl -X POST https://gateway.trymighty.ai/v1/scan \
  -H "Authorization: Bearer $MIGHTY_API_KEY" \
  -F "file=@./receipt-photo.jpg" \
  -F "content_type=image" \
  -F "scan_phase=input" \
  -F "mode=secure" \
  -F "focus=ai" \
  -F "profile=strict"

This is review evidence, not proof of fraud. Use focus=all instead when the same image/PDF may also contain hidden instructions or unsafe text.

When focus=edits Is Useful

Ask: "What changed, and where does the submitted image look manipulated?"

The best path is to send a source image with reference_file.

curl -X POST https://gateway.trymighty.ai/v1/scan \
  -H "Authorization: Bearer $MIGHTY_API_KEY" \
  -F "file=@./submitted-damage-photo.jpg" \
  -F "reference_file=@./original-damage-photo.jpg" \
  -F "content_type=image" \
  -F "scan_phase=input" \
  -F "mode=secure" \
  -F "focus=edits" \
  -F "profile=strict"

Without a reference image, Mighty can only return conservative hints. Use focus=all when you also need hidden-content or AI-authenticity review.

Mode, Profile, And Data Sensitivity

These settings are separate from focus.

SettingPlain questionDefaultChange it when
modeHow deep should Mighty look?secureUse fast for low-risk low-latency text. Use comprehensive for high-value image/PDF review and async scans.
profileHow strict is this workflow?balancedUse strict for regulated, financial, legal, insurance, healthcare, or high-value workflows. Use ai_safety for public AI output.
data_sensitivityShould normal PII be expected?standardUse tolerant for claims, invoices, healthcare, identity, or support workflows. Use strict for public output, secrets, and credentials.

Mode is not tolerance. mode changes how deep the inspection goes. profile, data_sensitivity, and your routing policy decide how strict the product is after Mighty returns a result. See Modes And Tolerance.

Content Types

content_type answers: what kind of thing is this?

ValueUse when
autoYour server does not know the type yet, or the upload route accepts mixed files.
textChat text, form fields, OCR text, extracted fields, model output, tool output, notes, or transcripts.
imageDamage photos, ID images, receipt photos, screenshots, marketplace images, or visual evidence.
pdfPDF claim packets, invoices, estimates, forms, statements, or evidence packets.
documentOffice or structured documents such as DOCX, XLSX, PPTX, CSV, Markdown, JSON, XML, HTML, RTF, and similar business files.

If a PDF contains images, still send it as pdf. If an OCR system extracted text from a PDF, scan that extracted text as content_type=text and reuse the same scan_group_id.

IDs And Review

Store these fields so your reviewers and logs can explain what happened:

FieldUse it for
request_idOne unique request. Use it for retries and logs.
scan_idThe exact Mighty result. Use it for audit and async polling.
scan_group_idConnect original input, OCR text, model output, image evidence, and review for one item.
session_idConnect the wider chat, claim, case, batch, or agent run.

Route results in product language:

ActionProduct route
ALLOWContinue. Store IDs.
WARNReview, add friction, constrain the model/tool path, or request more evidence.
BLOCKStop the workflow, or show redacted_output when Mighty returns it and your policy allows it.

Common Wrong Choices

  • Using focus=all for normal text, OCR text, or model output. Use focus=steg.
  • Using focus=ai as a fraud verdict. Mighty flags review evidence; your business process decides fraud.
  • Using focus=edits without explaining reference vs no-reference review. Use reference_file when you have the source image.
  • Using focus=ai, focus=edits, or focus=all on content_type=document. Structured documents support focus=steg only.
  • Using mode=fast because a workflow should be tolerant. Use data_sensitivity=tolerant for expected PII.
  • Scanning only OCR text when the original file is available. Scan the file first, then scan extracted text with the same scan_group_id.
Next step

Ready to scan real traffic?

Create an API key, keep it on your server, then wire Mighty into the workflow that handles untrusted material.

Related docs

Keep going from here