figma guide

Designing breach settlement claim document upload and evidence management UI in Figma: DOC-* intake, redaction, and reviewer vault

Design breach settlement claim document upload and evidence management UI in Figma with DOC-* intake, virus scan states, redaction previews, and admin evidence vaults tied to CLM-* records.

Published
Updated
Aug 29, 2026
Read time
8 min
Level
Intermediate

Quick answer

Claim document UI collects supporting evidence—government ID, proof of address, tier documentation—without turning the settlement portal into an unmanaged file dump. Design a DOC- intake flow* with purpose-specific upload slots (not one generic attachment field), scan-and-quarantine states claimants understand, and an admin evidence vault reviewers open from CLM-* and AMD-* records. Redact or mask sensitive fields in claimant previews; never show other class members’ documents. Connect to settlement claims, claim amendments, file upload patterns, and legal hold. Start from the Figma guides hub and pair with forms, audit log, and Dev Mode handoff.


Who this is for

  • Product designers building evidence intake for class action and breach settlement portals—not generic cloud storage UX.
  • Settlement administrators who review thousands of ID scans, utility bills, and tier-supporting documents under court deadlines.
  • Privacy and security teams defining retention, redaction, and access rules for claimant-uploaded PII.

Document lifecycle overview

ClaimDocument — DOC-992-0088 · CLM-992-44102 · Type: government_id · Status: Accepted
├── Triggers:
│   ├── Required at [claim filing](/designing-breach-settlement-notice-and-victim-compensation-claims-ui-in-figma/) (tier proof)
│   ├── [Amendment](/designing-breach-settlement-claim-amendment-and-correction-ui-in-figma/) requests name change evidence
│   ├── Admin "request more info" ACT-* on [status portal](/designing-breach-settlement-claim-status-portal-and-claimant-dashboard-ui-in-figma/)
│   └── [Dispute](/designing-breach-settlement-claims-dispute-and-appeals-ui-in-figma/) or appeal supporting materials
├── ID namespace:
│   ├── DOC-* (uploaded file record) · CLM-* (parent claim)
│   ├── AMD-* / REV-* (linked amendment when doc supports correction)
│   └── ACT-* (action item when admin requests specific document)
├── Processing pipeline:
│   ├── Uploaded → Virus scan → Quarantine or Accepted
│   ├── OCR/metadata extraction (internal only)
│   ├── Reviewer assignment when manual QC required
│   └── Retention clock per settlement order + [legal hold](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
└── Claimant-visible states: Uploading · Processing · Accepted · Rejected (with reason) · Expired
DOC-* stateClaimant seesAdmin sees
UploadingProgress bar
Scanning”Processing your document”Quarantine queue
RejectedReason + re-upload CTAMalware/format failure log
Needs review”Under review” (optional)Reviewer queue
AcceptedCheckmark + filename (masked)Full viewer + metadata
Superseded”Replaced Aug 12”Version chain

Verdict: Every upload is typed, scoped to a claim purpose, and auditable—not a free-form attachment list.


Purpose-specific upload slots

UploadSlots — CLM-992-44102 · Settlement: Acme · Tier: Documented losses
├── Slot: government_id (required for REV-* name changes)
│   ├── Accept: PDF, JPG, PNG · Max 10 MB · Front + back optional
│   ├── Guidance: "No screenshots of screen photos—use scanner or camera"
│   └── Auto-reject blur detection (internal flag → "Please retake")
├── Slot: proof_of_address (utility bill, lease)
│   ├── Must show name + address matching CLM-* mailing fields
│   └── Date within 90 days (configurable)
├── Slot: tier_documentation (receipts, invoices per schedule)
│   ├── Multiple files allowed · DOC-* batch
│   └── Running total preview vs tier cap
├── Slot: admin_requested (ACT-* driven)
│   ├── Label from admin: "Upload marriage certificate"
│   └── Deadline badge · Links from status portal ACT-* card
└── Blocked:
    ├── Generic "other documents" without ACT-* (reduces junk)
    └── Executable files · ZIP bombs · Password-protected PDFs (reject with help text)

Reuse file upload and drag-drop patterns—settlement slots add purpose labels, settlement-specific copy, and CLM- context*.


Claimant upload wizard

UploadWizard — DOC intake · Step 2 of 3 · Slot: government_id
├── Step 1 — Why we need this:
│   ├── Plain-language reason tied to CLM-* action ("Verify name change")
│   ├── Example thumbnail (blurred sample ID—not real PII)
│   └── Retention notice: "Stored per settlement order until [date]"
├── Step 2 — Upload:
│   ├── Drag-drop + mobile camera capture
│   ├── Real-time format/size validation
│   ├── Optional: Crop guide overlay for ID card
│   └── Progress + retry on network failure
├── Step 3 — Confirm:
│   ├── Thumbnail preview (claimant's file only)
│   ├── Checkbox: "This document is accurate and unaltered"
│   ├── Warning: "Do not upload documents for other people"
│   └── Submit → DOC-* created · Scanning state
├── Post-submit:
│   ├── Accepted → Green badge on status portal timeline
│   ├── Rejected → Specific reason (blurry, wrong type, virus) + re-upload
│   └── Needs review → SLA message · No internal reviewer name
└── Replace flow: New DOC-* supersedes old · Old marked superseded · AUD-* entry

Mobile-first matters—many claimants photograph ID at kitchen tables. Design camera capture, glare hints, and large tap targets.


Virus scan, quarantine, and rejection UX

ScanPipeline — DOC-992-0088 · Internal view
├── Stages:
│   ├── upload_complete → virus_scan → format_validate → pii_detect (optional)
│   ├── Pass → Accepted or Needs review
│   └── Fail → Rejected with claimant-safe reason code
├── Claimant rejection copy (never expose stack traces):
│   ├── VIRUS_DETECTED → "We couldn't accept this file. Try a different format."
│   ├── UNSUPPORTED_TYPE → "Please upload PDF, JPG, or PNG."
│   ├── FILE_TOO_LARGE → "File must be under 10 MB."
│   ├── BLUR_DETECTED → "Photo unclear—retake in good lighting."
│   └── PASSWORD_PROTECTED → "Remove PDF password and re-upload."
├── Quarantine queue (admin only):
│   ├── DOC-* flagged · Scan result · No download until cleared
│   └── Escalation to security if repeat offender CLM-*
└── Audit: doc_id · scan_result · rejected_reason_code · scanned_at

Never show “malware” in alarming language to elderly claimants—neutral, actionable rejection reduces call center volume.


Admin evidence vault and reviewer console

EvidenceVault — CLM-992-44102 · 6 documents · 1 pending review
├── Layout:
│   ├── Left: Document list by slot type + upload date
│   ├── Center: Viewer (PDF/image) with zoom, rotate, download (role-gated)
│   └── Right: CLM-* summary · Linked AMD-* / REV-* · Review actions
├── Reviewer actions:
│   ├── Accept → Unblocks REV-* or tier calculation
│   ├── Reject → Reason to claimant · New ACT-* optional
│   ├── Request clearer copy → ACT-* with deadline
│   └── Flag fraud → Routes to [duplicate/fraud queue](/designing-breach-settlement-duplicate-claim-detection-and-fraud-prevention-ui-in-figma/)
├── Redaction tools (internal):
│   ├── Auto-detect SSN blocks · Manual redact before export
│   └── Export for counsel: redacted PDF only
├── Version history:
│   ├── DOC-992-0088 superseded by DOC-992-0091
│   └── Diff: same slot · different upload date
└── Access log: viewer_id · doc_id · viewed_at · exported (Y/N)

Vault integrates with amendment review—reviewers open evidence without leaving REV-* queue.


Redaction, masking, and claimant-safe previews

RedactionRules — Claimant vs admin visibility
├── Claimant portal:
│   ├── Thumbnail of own upload only · No full SSN display in preview
│   ├── Filename masked: "government_id.pdf" not "john_ssn_scan.jpg"
│   └── Timeline: "Document accepted" not reviewer notes
├── Admin viewer:
│   ├── Full image · OCR overlay optional · Side-by-side CLM-* field compare
│   └── Compare name on ID to CLM-* legal_name field
├── Export / court production:
│   ├── Redacted bundle per [compliance export](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
│   ├── [Legal hold](/designing-compliance-exports-and-legal-hold-ui-in-figma/) blocks delete
│   └── Retention job after hold release
└── Third-party viewers (counsel): Watermarked · Time-limited link · No bulk download

Design two viewer modes in Figma—claimant-safe and admin-full—and annotate which components differ.


Comparison: document UI vs adjacent settlement surfaces

SurfaceFocusThis UI adds
Settlement claimsCLM-* data entryBinary evidence for tier/name
AmendmentsField correctionsID proof for REV-*
Status portalTimeline visibilityDOC-* status events
DisputesEligibility fightsAppeal exhibits
File upload (generic)Reusable controlSettlement slot semantics

Handoff checklist (Dev Mode)

  • UploadSlot — slot_type_enum, clm_id, required, max_files, accepted_mime[], max_bytes, guidance_copy_key.
  • UploadWizard — doc_id (DOC-*), slot_type, file_hash, upload_status_enum, certification_at, superseded_by_doc_id.
  • ScanPipeline — doc_id, scan_status_enum, rejection_reason_code, quarantine_flag, scanned_at.
  • EvidenceVault — clm_id, doc_list[], viewer_role_enum, review_decision_enum, act_id_link.
  • RedactionExport — doc_id, redaction_regions[], export_watermark, legal_hold_flag, retention_until.

Common mistakes

MistakeWhy it hurtsFix
One generic “attachments” fieldWrong docs · Review chaosPurpose-specific slots
Show scan failure as “error 500”Trust loss · call volumePlain-language reason codes
Let claimants see reviewer notesPrivacy · litigation riskClaimant-safe timeline only
No supersede/version chainWrong ID on fileDOC-* superseded_by link
Download unredacted exportsPII leakRedaction step before export
Skip mobile camera pathAbandonment on phoneCamera capture + crop guide
Accept password PDFsProcessing dead-endReject with unlock instructions
No ACT-* deadline on requestsSLA missBadge + email reminder
Store docs outside CLM-* scopeOrphan filesEvery DOC-* requires clm_id
Unlimited re-uploadsStorage + fraudRate limit per slot

  1. Counsel defines required slots per tier and amendment type before wireframes.
  2. Design upload wizard with purpose copy, certification, and mobile camera path.
  3. Map scan/reject states to claimant-safe messages—prototype all rejection paths.
  4. Build evidence vault linked from REV-* and CLM-* admin views.
  5. Specify redaction and export rules for counsel and court production.
  6. Add DOC- events* to status portal timeline.

FAQ

Can claimants delete uploaded documents?

Usually no after submit—supersede with new upload · Delete only in draft CLM-* · Legal hold blocks removal.

Third-party upload (attorney submits for client)?

Attorney or authorized representative submits for client · Same DOC-* model · REP-* authorization on file · Link to settlement claims representative fields when built.

Document rejected but payment deadline near?

Urgent ACT- flag* · Expedited review queue · Call center script references DOC-* ID.

HEI-* or GUA-* estate/guardian documents?

Dedicated slots · Link to deceased claimant and minor claimant flows—not generic ID slot.

OCR auto-approve ID?

Risky · Use OCR as reviewer assist only · Manual accept for REV-* unless counsel approves automation.


Next steps

Share on X

§ Keep reading

Related guides.