figma guide

Designing breach settlement external auditor access and read-only review portal UI in Figma: AUD-* engagements, redacted exports, and time-boxed access

Design breach settlement external auditor access UI in Figma with AUD-* engagements, read-only review portals, redacted SAMP-* exports, and time-boxed credentials for court-ordered audits.

Published
Updated
Sep 02, 2026
Read time
8 min
Level
Intermediate

Quick answer

External auditor portal UI gives court-appointed reviewers what they need—without handing them admin keys or unredacted SSNs. Design AUD- audit engagements* with scoped read-only access, redacted SAMP- sample exports* from post-disbursement QA, and time-boxed credentials that expire when the engagement closes. Auditors browse REV-* checklists and FIND-* outcomes; they cannot edit CLM-* or trigger PAY-*. Connect to compliance exports, fund reconciliation, final accounting, and counsel approval. Start from the Figma guides hub and pair with tables, login, and Dev Mode handoff.


Who this is for

  • Product designers building settlement administrator portals where external auditors, special masters, or court monitors need read-only access.
  • Settlement administrators and class counsel provisioning AUD-* engagements without exporting sensitive data to email.
  • External audit firms reviewing QA samples, reconciliation periods, or final accounting packages under court order.

Auditor engagement lifecycle overview

AuditorEngagement — AUD-EXT-992-003 · Firm: Smith & Associates · Status: Active (expires 2026-10-15)
├── Triggers:
│   ├── Court order for independent audit
│   ├── Class counsel due diligence before [final accounting](/designing-breach-settlement-final-accounting-and-court-closure-ui-in-figma/)
│   ├── [QA campaign](/designing-breach-settlement-post-disbursement-qa-and-audit-sampling-ui-in-figma/) external validation
│   ├── [Reconciliation](/designing-breach-settlement-fund-reconciliation-and-bank-matching-ui-in-figma/) period sign-off attestation
│   └── Settlement plan annual review requirement
├── ID namespace:
│   ├── AUD-EXT-* (external engagement) · USR-EXT-* (auditor user)
│   ├── PKG-* (export package) · SCOPE-* (access scope record)
│   ├── QA-* · SAMP-* · REV-* · FIND-* (read-only subjects)
│   ├── REC-* · CLB-* (read-only if in scope)
│   └── LOG-* (auditor activity log)
├── Access model:
│   ├── Read-only — No edit · no export without watermark · no bulk download unless scoped
│   ├── Scoped — QA sample only · REC period only · Full settlement read
│   ├── Time-boxed — start_at · end_at · auto-revoke
│   └── MFA required — [2FA](/designing-two-factor-authentication-and-security-settings-ui-in-figma/) for all USR-EXT-*
├── Outcomes:
│   ├── Engagement closed → Credentials revoked · LOG-* archived
│   ├── Findings submitted → External report upload (PDF only)
│   └── Escalation → Admin notified of anomalous access patterns
└── Claimant impact: None—auditors never see claimant portal · PII redacted per policy
Engagement stateAdmin seesAuditor sees
DraftScope config · user inviteNothing
Pending acceptInvite sentAccept terms · MFA setup
ActiveActivity dashboardScoped read-only views
Expiring soonAlert · extend optionBanner: access ends DATE
ClosedLOG-* archive · report on fileLogin denied

Verdict: Scope AUD-EXT- narrowly—“full settlement read” is almost never what the court ordered.*


AUD-EXT-* setup and scope configuration

ExternalEngagement — AUD-EXT-992-003 · settlement_id: SET-992 · scope: QA_sample_review
├── Engagement setup:
│   ├── aud_ext_id (AUD-EXT-*) · settlement_id · court_order_ref (optional)
│   ├── scope_enum (qa_sample · rec_period · final_accounting · custom)
│   ├── linked_qa_id (QA-*) · linked_rec_id (REC-*) · linked_samp_id (SAMP-*)
│   ├── start_at · end_at · auto_extend_bool (requires admin approve)
│   ├── max_users · firm_name · primary_contact_email
│   └── redaction_profile_enum (standard · strict · custom_field_list)
├── Scope matrix UI:
│   ├── ☑ QA-* campaigns listed · SAMP-* samples · REV-* · FIND-*
│   ├── ☐ CLM-* PII fields (name masked · SSN hidden · last4 only)
│   ├── ☑ ERR-* rollup reports · export PDF
│   ├── ☐ [Payment disbursement](/designing-breach-settlement-payment-disbursement-and-payout-tracking-ui-in-figma/) execute actions
│   ├── ☐ [Clawback](/designing-breach-settlement-clawback-and-overpayment-recovery-ui-in-figma/) REC-* triggers
│   └── ☑ [Compliance export](/designing-compliance-exports-and-legal-hold-ui-in-figma/) PKG-* download (watermarked)
├── User provisioning:
│   ├── Invite USR-EXT-* · role: viewer · lead_reviewer
│   ├── Accept flow: terms · NDA checkbox · MFA enroll
│   ├── Cannot invite other users unless lead_reviewer role
│   └── Revoke individual USR-EXT-* without closing engagement
└── Admin controls:
    ├── Extend end_at · Modify scope (AUD-* log · notify auditor)
    ├── Emergency revoke all sessions · [active sessions](/designing-active-sessions-and-device-management-ui-in-figma/)
    └── Clone engagement for renewal audit

Use forms for scope checkboxes and modals for extend/revoke confirmations.


Read-only review views and redacted exports

AuditorReviewView — QA sample mode · samp_id: SAMP-992-0012 · 1000 CLM-* (redacted)
├── QA sample review UI:
│   ├── Campaign summary: QA-* · sampling method · error rate ERR-*
│   ├── SAMP-* table: clm_id (masked) · pay_id · rev_status · find_count
│   ├── Drill to REV-* checklist (read-only) · FIND-* detail · ACT-* status
│   ├── Cannot: edit checklist · waive FIND-* · add CLM-* to sample
│   └── Download: watermarked PDF sample list · algorithm_version from [QA](/designing-breach-settlement-post-disbursement-qa-and-audit-sampling-ui-in-figma/)
├── Reconciliation review UI (if scoped):
│   ├── REC-* period summary · variance_total · closed_at
│   ├── BNK-* vs PAY-* match table (amounts · dates · no full account #)
│   ├── VAR-* resolution notes (read-only)
│   └── Link to [reconciliation handoff](/designing-breach-settlement-fund-reconciliation-and-bank-matching-ui-in-figma/) field names for dev
├── Redaction rules:
│   ├── SSN: hidden · show last4 only if plan requires verification audit
│   ├── Name: "Claimant ████4421" · full name never in export
│   ├── Address: city/state only · no street
│   ├── Bank: masked routing · last4 account
│   └── Custom: admin picks fields per redaction_profile
├── PKG-* export package:
│   ├── pkg_id (PKG-*) · aud_ext_id · generated_at · watermark_text
│   ├── Contents checklist (what is included)
│   ├── SHA256 hash displayed for integrity
│   ├── Download once or N times (configurable)
│   └── LOG-* every download: user · IP · timestamp
└── External report upload:
    ├── Auditor uploads PDF findings · max size · virus scan
    ├── Admin notified · attached to AUD-EXT-* record
    └── Not visible to claimants or other auditors
View modeAuditor canAuditor cannot
QA sampleRead REV-* · FIND-* · ERR-*Edit · re-sample · waive
REC periodRead matches · VAR-* notesImport BNK-* · close REC-*
Final accountingRead exhibits · counsel sign-offsSubmit to court
PKG- download*Watermarked exportUnredacted bulk CSV

Activity logging and anomaly detection

AuditorActivityLog — LOG-EXT-992-88421 · usr_ext_id · action: view_rev · rev_id: REV-992-88421
├── LOG-* events (all read actions):
│   ├── login · logout · mfa_challenge · session_timeout
│   ├── view_entity (QA-* · REV-* · FIND-* · REC-* · PKG-*)
│   ├── download_pkg · upload_report
│   ├── failed_access (out of scope · expired engagement)
│   └── ip_address · user_agent · timestamp (retention per policy)
├── Admin dashboard:
│   ├── Active USR-EXT-* sessions · last activity
│   ├── Downloads in last 7 days · unusual volume alert
│   ├── After-hours access flag (configurable timezone)
│   ├── Scope violation attempts (blocked · logged)
│   └── Export LOG-* for [compliance](/designing-compliance-exports-and-legal-hold-ui-in-figma/)
├── Anomaly alerts (optional):
│   ├── >500 REV-* views in 1 hour → notify admin
│   ├── Download from new IP → step-up or revoke
│   └── Pair with [security alerting](/designing-security-alerting-rules-and-notification-routing-ui-in-figma/) rules
└── Retention: LOG-* kept per [data retention](/designing-data-retention-policies-and-auto-deletion-ui-in-figma/) · legal hold overrides

Comparison: external auditor portal vs adjacent access patterns

SurfaceWhoThis UI adds
Compliance export PKG-*One-time admin exportSustained read-only browse
Counsel approvalClass counsel workflowThird-party audit firm
QA REV-*Internal analystsExternal validation same UI read-only
Team rolesOrg membersTime-boxed external USR-EXT-*
Status portalClaimantsNever shared with auditors

Handoff checklist (Dev Mode)

  • ExternalEngagement — aud_ext_id (AUD-EXT-*), settlement_id, scope_enum, linked_entity_ids[], start_at, end_at, redaction_profile_enum.
  • ExternalUser — usr_ext_id (USR-EXT-*), aud_ext_id, role_enum, mfa_enrolled_bool, status_enum.
  • ExportPackage — pkg_id (PKG-*), aud_ext_id, contents[], watermark_text, hash, download_limit.
  • AuditorActivityLog — log_ext_id (LOG-*), usr_ext_id, action_enum, entity_ref, ip, timestamp.
  • ScopeMatrix — readable_entities[], forbidden_actions[], redaction_rules[].
  • ExternalReportUpload — report_id, aud_ext_id, file_ref, uploaded_at, scanned_bool.

Common mistakes

MistakeWhy it hurtsFix
Full admin role for auditorsOver-access · liabilityScoped USR-EXT-* read-only
Unredacted SSN in PKG-*Privacy violationredaction_profile enforced
No time-box on engagementStale accessend_at auto-revoke
Email CSV exportsInsecure · unauditedPortal PKG-* with LOG-*
Auditors edit REV-*Invalidates QA auditRead-only at API + UI
No MFA for USR-EXT-*Credential theft riskMandatory 2FA
Same portal as claimantsWrong UX · data leakSeparate auditor subdomain/route
Unlimited PKG-* downloadsData exfiltrationdownload_limit + alerts
No LOG-* on view actionsCannot prove who saw whatLog every entity view
Scope creep without AUD-*Court order mismatchAdmin scope change logged

  1. Define scope_enum from court order — map to QA-* · REC-* · or final accounting only.
  2. Prototype AUD-EXT- setup* with scope matrix and redaction profile preview.
  3. Design read-only REV- / REC- views** — disable all action buttons · show “View only” banner.
  4. Build PKG- export* with watermark · hash · LOG-* on download.
  5. Add USR-EXT- invite + MFA* flow using login patterns.
  6. Close engagement with LOG-* archive and optional external report upload.

FAQ

Court ordered “access to all claims”?

Still redact SSN unless order explicitly requires · Log every view · Narrow to SAMP-* if order says “sample.”

Auditor needs unredacted for one CLM-*?

Break-glass admin export with separate AUD-* approval · Not bulk · legal hold if needed.

Can auditor see clawback CLB-*?

Only if scope includes recovery · Usually QA + REC scope suffices · Read-only.

Extend engagement after end_at?

Admin extend with reason · AUD-* log · Notify USR-EXT-* · Optional re-accept terms.

Same firm audits reconciliation and QA?

One AUD-EXT- with combined scope* or two engagements · Never duplicate credentials.

Auditor findings feed final accounting?

Upload PDF to AUD-EXT-* · Admin attaches to court exhibit · Not auto-merged.


Next steps

Share on X

§ Keep reading

Related guides.