Damage Photo AI Fraud Review
Scan images for risk and authenticity signals before claims, repair, insurance, or review workflows trust them.
Goal
Scan images before automated decisions use them.
This guide fits damage photos, claim photos, repair proof, delivery photos, product condition photos, identity evidence, and other image-heavy workflows.
Architecture
- Upload the image to your server.
- Send it to Mighty with
content_type=image. - Use
focus=allwhen hidden content, AI authenticity, and edit evidence all matter. - Route suspicious or indeterminate images to review.
- Keep final fraud decisions in your review process.
Image Scanning Focus Modes
This is the focus mode breakdown for image scanning capabilities. Use it when deciding whether an image workflow needs hidden-content safety, AI authenticity review, localized edit evidence, or all supported image evidence paths together. For the broader settings story, see Choose Scan Settings.
| Focus | Image scanning capability | Use when | Important limit |
|---|---|---|---|
focus=steg | Hidden content, prompt injection, content steering, unsafe OCR text, and visual safety checks. | Uploaded images, screenshots, OCR inputs, or visual attachments can reach an AI system or automated extraction flow. | Skips AI-authenticity and edit-localization evidence so normal images avoid unrelated review signals. |
focus=ai | Is this visual evidence likely generated, AI-edited, reposted, or missing useful provenance? | Authenticity is the main question for damage photos, receipts, marketplace images, ID images, screenshots, or PDF/image evidence. | This is review evidence, not proof of fraud. Use focus=all when the same image/PDF may also contain hidden instructions or unsafe text. |
focus=edits | What changed, and where does the submitted image look manipulated? | You have an original/source image and need to find changed regions, edited labels, altered text, pasted objects, or changed damage. | Best with reference_file; without a reference image, Mighty can only return conservative hints. |
focus=all | All supported image evidence paths. | Damage photos, receipt photos, ID photos, marketplace photos, screenshots, or claim evidence need hidden-content, authenticity, and edit review together. | Higher latency than a focused scan and bills 10 SCU per image unit, a bundle discount versus three separate focused image scans. |
Structured office documents are different: content_type=document supports focus=steg only. Use content_type=image or content_type=pdf when you need AI authenticity or localized edit evidence on visual material.
Authenticity-Only Image Review
Use focus=ai when the main question is: "Is this visual evidence likely generated, AI-edited, reposted, or missing useful provenance?"
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"Use this for damage photos, receipt photos, marketplace listing images, ID or verification images, and screenshot/PDF evidence where authenticity is the main question. Do not use it for text, OCR text, model output, office documents, or anything where hidden instructions could reach an AI system unless paired via focus=all.
This is review evidence, not proof of fraud.
Localized Image Edit Review
Use focus=edits when the main question is: "What changed, and where does the submitted image look manipulated?"
The strongest path uses reference_file when you have the original/source image.
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"Use this for original vs submitted damage photos, altered labels, receipts, package photos, food photos, screenshots, and document images where visible text may have been changed. Do not use it for office documents, text/OCR/model output, or general hidden-instruction safety scans.
Without a reference image, Mighty can only return conservative hints. Use focus=all when you also need hidden-content or AI-authenticity review.
Request And Response
curl -X POST https://gateway.trymighty.ai/v1/scan \
-H "Authorization: Bearer $MIGHTY_API_KEY" \
-F "file=@./damage-photo.jpg" \
-F "content_type=image" \
-F "scan_phase=input" \
-F "mode=secure" \
-F "focus=all" \
-F "profile=strict" \
-F "data_sensitivity=tolerant" \
-F "context=damage_photo_review"threats is an array of objects with category, confidence, an optional evidence excerpt, and a human-readable reason. The authenticity block carries the structured forensics verdict - distinct from the routing action.
Authenticity Tags In Image Workflows
Use these fields together instead of reducing the result to one is_ai boolean.
| Field | What it means | How it should affect the workflow |
|---|---|---|
source_file_origin | Whether the file appears to be a camera capture, OS screenshot, physical recapture, PDF render, generated file, or unknown. | Explain the source surface. A camera photo can still depict a forged paper document or a screen showing AI content. |
visible_content_origin | Whether the visible pixels look likely real, likely synthetic, AI edited, human edited, camera AI enhanced, or indeterminate. | Route suspicious or indeterminate cases to review or request more evidence. |
provenance_validation_state | Whether signed provenance is verified, missing, marker-only, untrusted, unchecked, or conflicting. | Verified AI provenance is strong evidence; missing provenance is neutral. |
artifact_evidence[] | Localized visual cues such as malformed text, logo anomaly, reflection inconsistency, texture repetition, screen recapture, or localized edit. | Use as evidence. Localized artifacts should not automatically label the whole image AI-generated. |
ai_to_ai_laundered_suspected | The image looks transformed through screenshot, resize, crop, recompression, recapture, or redraw. | Treat as reposted or laundered AI review evidence when local signals support it. |
camera_ai_enhanced | Camera-origin computational photography may have applied HDR, denoise, sharpening, or night mode. | Do not treat this as fraud by itself. |
Common image categories and artifacts:
| Tag | Meaning | Product effect |
|---|---|---|
ai_image_authenticity | AI-origin, edit, provenance, or repost evidence affected the result. | Review evidence; do not call it fraud by itself. |
metadata_inconsistency | Container, EXIF, C2PA, compression, or file-history signals conflict with claimed origin. | Supporting evidence only. Filename and weak metadata must not block alone. |
subpixel_grid | Screenshot, display capture, or repost surface evidence exists. | Explains source origin. It should not warn alone. |
localized_edit | One region is more suspicious than the full image. | Review that region instead of over-labeling the whole file. |
logo_anomaly, malformed_text, geometry_inconsistency | Visual details are malformed in ways common to generated or edited content. | Stronger when several artifacts agree with local ML or provenance. |
When you have both the original/source image and the submitted image, send the submitted image as file and the source image as reference_file with focus=edits or focus=all. That pairwise path is the preferred way to localize small claim edits, document text edits, clone-tool changes, food contamination edits, package changes, and screenshot/UI edits. When only one image is available, no-reference edit evidence remains advisory and intentionally conservative.
Compare Original vs Submitted Image
Use this when your app has an original photo, listing image, receipt scan, document scan, screenshot, or prior claim image and someone uploads a changed version.
curl -X POST https://gateway.trymighty.ai/v1/scan \
-H "Authorization: Bearer $MIGHTY_API_KEY" \
-F "file=@./submitted-food-photo.jpg" \
-F "reference_file=@./original-food-photo.jpg" \
-F "content_type=image" \
-F "scan_phase=input" \
-F "mode=secure" \
-F "focus=edits" \
-F "profile=strict"Use focus=edits when the main question is "what changed between these two images?" Use focus=all when the same upload also needs hidden text, threat, and AI-authenticity review.
The full public taxonomy is in POST /v1/scan.
Routing Logic
export function routeDamagePhoto(scan: { action: string; authenticity?: { label?: string } }) {
if (scan.action === "ALLOW") return "continue_claim_intake";
if (scan.action === "WARN") return "request_review_or_more_evidence";
if (scan.action === "BLOCK") return "stop_automated_decision";
return "manual_review";
}Honest AI Fraud Wording
Use wording like:
- "Mighty flagged this image for review."
- "This image has suspicious evidence signals."
- "The evidence is indeterminate. Ask for more proof."
Avoid wording like:
- "This photo is fake."
- "This claimant committed fraud."
- "Mighty proved fraud."
Mighty helps route risky material. It does not replace your claims, compliance, legal, or fraud investigation process.
Async Deep Review
Use async=true and mode=comprehensive when a photo is high value or latency can be handled by a review queue.
{
"content_type": "image",
"scan_phase": "input",
"mode": "comprehensive",
"async": true,
"webhook_url": "https://example.com/api/mighty/webhook"
}Production Checklist
- Use
focus=allfor damage photos. - Budget 10 SCU per image unit for all-evidence review.
- Store
authenticity,forensics, andindeterminatesignals when returned. - Add
reference_filewhen you have the source image and need pairwise edit localization. - Route suspicious evidence to human review.
- Ask for more evidence when signals are weak or conflicting.
- Do not block claims solely because an AI signal is suspicious.
- Use async for high-value or complex cases.
Ready to scan real traffic?
Create an API key, keep it on your server, then wire Mighty into the workflow that handles untrusted material.
AI-Agent Prompt
Paste this into Cursor, Codex, Claude Code, or Windsurf.
Add Mighty image scanning to the damage photo intake flow.
Requirements:
- Scan server-side before automated claim decisions.
- Use multipart upload to POST https://gateway.trymighty.ai/v1/scan.
- Use content_type=image, scan_phase=input, mode=secure, focus=all, profile=strict.
- Store scan_id, scan_group_id, action, risk_score, threats, authenticity, and forensics.
- Route ALLOW to normal processing.
- Route WARN to review or request more evidence.
- Route BLOCK to stop automated decisioning.
- Never say Mighty proves fraud. Use review wording.
Acceptance criteria:
- Tests cover suspicious, indeterminate, and allowed image paths.
- Review queue receives scan details and original upload reference.
- API key stays server-side.