figma guide

Designing breach settlement privilege log and confidentiality designation UI in Figma: PRIV-* entries, RED-DSQ-* tags, and production completeness

Design breach settlement privilege log and confidentiality designation UI in Figma with PRIV-* entries, RED-DSQ-* tag workflows, Bates withheld ranges, and defensible production logs for DSQ-* discovery.

Published
Updated
Sep 06, 2026
Read time
7 min
Level
Intermediate

Quick answer

Privilege log UI is the defensible index of what you withheld from DSQ-* production—not a spreadsheet afterthought. Design PRIV- log entries* linked to RED-DSQ- tags*, Bates withheld ranges, and confidentiality tiers (public · confidential · attorneys’ eyes only). Counsel reviewers tag documents during EXP-DSQ- redaction review*; the system auto-builds a privilege log export that ships with every LDF- bundle*. Without this UI, productions look complete while courts see missing privilege descriptions—a common discovery sanction trigger. Start from the Figma guides hub and pair with forensic chain of custody, content classification, and compliance exports.


Who this is for

  • Product designers building redaction review workspaces inside settlement archive and e-discovery tooling.
  • Settlement counsel and e-discovery leads who need PRIV-* entries generated from RED-DSQ-* tags—not rebuilt manually at deadline.
  • Legal ops validating that every withheld Bates range has a log row before COC-DSQ-* seals a production.

Privilege log lifecycle overview

PrivilegeLogProgram — PRIV-SET992 · dsq_id: DSQ-992-001 · Status: In review
├── Triggers:
│   ├── RED-DSQ-* tag applied during [EXP-DSQ-* review](/designing-breach-settlement-litigation-discovery-and-dsq-export-ui-in-figma/)
│   ├── Document withheld entirely (no Bates assigned)
│   ├── Partial redaction with privilege basis (not just PII)
│   └── Protective order tier change mid-production
├── ID namespace:
│   ├── PRIV-* (privilege log entry) · TAG-RED-* (redaction reason tag)
│   ├── BATES-W-* (withheld range) · BATES-R-* (redacted range)
│   ├── CONF-* (confidentiality tier) · BAS-* (privilege basis code)
│   ├── LOG-PRIV-* (log edit audit) · EXP-PRIV-* (log export job)
│   └── LINK-DSQ (parent discovery request)
├── Entry types:
│   ├── Attorney-client · work product · joint defense
│   ├── Settlement negotiation · mediation privilege
│   ├── Third-party confidential (vendor · insurer)
│   └── Sealed / highly confidential per protective order
├── Workflow:
│   ├── Tag in RED-DSQ-* viewer → draft PRIV-* auto-created
│   ├── Counsel completes description · participants · date
│   ├── QC reviewer approves or returns for edit
│   ├── EXP-PRIV-* generates court-format CSV/PDF
│   └── Bundled with LDF-* · referenced in COC-DSQ-*
└── Outcomes:
    ├── Production completeness checklist passes
    ├── LOG-PRIV-* audit for sanctions defense
    └── Guest counsel sees only permitted CONF-* tier in portal
PRIV-* stateReviewer seesCounsel must
DraftAuto fields from RED-DSQ-*Add narrative description
Pending QCYellow flag on Bates rowApprove or reject
ApprovedIncluded in EXP-PRIV-*
AmendedVersion history · LOG-PRIV-*Justify change reason
ExportedLocked · read-onlyFile with production

Verdict: Every withheld or redacted-for-privilege document needs a PRIV- row before COC-DSQ- delivery.**


RED-DSQ-* tag panel and auto PRIV-* creation UI

RedactionTagPanel — document: SET992-000847 · dsq_id: DSQ-992-001
├── Tag picker (TAG-RED-*):
│   ├── Privilege: attorney-client · work product · joint defense
│   ├── Confidentiality: CONF-STD · CONF-HIGH · CONF-AEO
│   ├── PII redaction (non-privilege — no PRIV-* required)
│   └── Custom tag with approval workflow
├── Auto PRIV-* draft:
│   ├── Bates: BATES-W-* or BATES-R-* range
│   ├── Document type · author · recipients (from metadata)
│   ├── Date · subject line (truncated · editable)
│   └── BAS-* code pre-selected from tag
├── Required counsel fields:
│   ├── Narrative description (1–3 sentences · no boilerplate-only)
│   ├── Privilege holder · matter reference
│   └── Link related documents (same thread)
├── Bulk actions:
│   ├── Apply TAG-RED-* to selected pages
│   ├── Merge thread into single PRIV-* entry
│   └── Split PRIV-* when Bates range too broad
└── Validation:
    ├── Block "export production" if draft PRIV-* exist
    ├── Warn if CONF-HIGH doc tagged as public redaction only
    └── Flag privilege log gaps vs withheld Bates list

Use badges and chips for TAG-RED-* colors, dropdown menus for bulk tag apply, and inline alerts when QC rejects an entry.


PRIV-* entry editor and QC review workspace

PrivilegeEntry — PRIV-992-0042 · bates: SET992-000847–000849 · Status: Pending QC
├── Header:
│   ├── PRIV-* ID · parent DSQ-* · EXP-DSQ-* job link
│   ├── CONF-* tier badge · BAS-* code
│   ├── Bates withheld summary · page count
│   └── Assignee · SLA if court-ordered log due date
├── Entry body (court-standard fields):
│   ├── Bates number or range
│   ├── Date of communication
│   ├── Document type (email · memo · notes)
│   ├── Author · recipients · copy list
│   ├── Description of withheld material (editable narrative)
│   └── Privilege asserted · alternative: redacted in full vs withheld
├── Document preview:
│   ├── Side-by-side: original vs redacted view
│   ├── Highlight RED-DSQ-* regions
│   └── Watermark CONF-* tier on preview
├── QC workflow:
│   ├── Approve → locks entry for EXP-PRIV-*
│   ├── Return → comment thread · LOG-PRIV-* reason
│   ├── Escalate to general counsel for novel BAS-*
│   └── Duplicate detection: same Bates in two PRIV-* rows
└── Version history:
    ├── LOG-PRIV-* every edit · who · when
    ├── Compare v1 vs v2 description
    └── Amendment after export requires new EXP-PRIV-* version

Align field labels with your jurisdiction’s privilege log format—US federal practice often expects author/recipient/description columns; EU matters may emphasize confidentiality tier over privilege type.


CONF-* confidentiality tier and protective order UI

ConfidentialityDesignation — CONF-HIGH · order_ref: PO-992-001
├── Tier definitions (from uploaded protective order):
│   ├── Public · CONF-STD · CONF-HIGH · CONF-AEO (attorneys' eyes only)
│   ├── Who may view each tier in USR-GST-* portal
│   └── Marking requirements: header/footer text on exports
├── Apply at tag time:
│   ├── TAG-RED-* defaults CONF-* from document sensitivity
│   ├── [Content classification](/designing-content-classification-and-sensitivity-labels-ui-in-figma/) auto-suggest
│   └── Override requires reason · LOG-PRIV-* note
├── Production rules:
│   ├── CONF-AEO: excluded from guest portal · separate sealed EXP-DSQ-*
│   ├── CONF-HIGH: watermarked browse only
│   └── Public: after RED-DSQ-* PII scrub
└── Downgrade workflow:
    ├── Counsel motion to de-designate → approval chain
    ├── Re-tag documents · regenerate PRIV-* if basis changed
    └── LOG-PRIV-* + COC-DSQ-* amendment event

Best for: multi-party litigation under stipulated protective orders. Skip elaborate tier UI when production is entirely under seal—use single CONF-SEALED tier.


EXP-PRIV-* export and production bundle UI

PrivilegeLogExport — EXP-PRIV-992-001-A · dsq_id: DSQ-992-001 · Status: Ready
├── Export config:
│   ├── Format: CSV · Excel · PDF index · court-specific template
│   ├── Include: approved PRIV-* only · or draft review pack
│   ├── Sort: Bates ascending · date · privilege type
│   └── Redact LOG-PRIV-* internal QC comments from external copy
├── Completeness dashboard:
│   ├── Withheld Bates count vs PRIV-* row count
│   ├── Untagged RED-DSQ-* regions without PRIV-* (error)
│   ├── Orphan PRIV-* without matching Bates (warning)
│   └── Checklist gate before LDF-* finalization
├── Bundle with LDF-*:
│   ├── EXP-PRIV-* file in same encrypted package
│   ├── Manifest cross-reference: LDF-* doc list ↔ PRIV-* index
│   └── COC-DSQ-* records EXP-PRIV-* hash
└── Delivery:
    ├── Internal counsel download
    ├── Opposing counsel via [guest portal](/designing-breach-settlement-litigation-discovery-and-dsq-export-ui-in-figma/) if order permits log sharing
    └── Regulator copy if parallel subpoena ([compliance export](/designing-compliance-exports-and-legal-hold-ui-in-figma/))

Use tables and data UI for the completeness dashboard and progress indicators for export job status.


Comparison: PRIV-* vs RED-ARC-* vs content labels

DimensionPRIV-* (this pattern)RED-DSQ-* / RED-ARC-*Sensitivity labels
PurposeLegal withholding indexVisual redaction overlayEnterprise DLP classification
AudienceCourt · opposing counselProduction reviewersInternal admin
Required for exportYes when privilege assertedYes for any redactionOptional suggest
FormatEXP-PRIV-* log fileBurned into PDF/imageMetadata tag
AuditLOG-PRIV-*COC-DSQ-*Standard audit log

Common mistakes

  1. Building privilege log as post-export spreadsheet— auto-create PRIV-* from RED-DSQ-* tags during review.
  2. Conflating PII redaction with privilege— PII-only redactions do not need PRIV-* rows unless also withheld on privilege grounds.
  3. Vague descriptions (“privileged communication”)— courts expect participant and subject specificity.
  4. No QC gate before EXP-PRIV-*— draft entries leak to opposing counsel.
  5. Ignoring CONF-AEO separation— highly confidential docs in same portal as CONF-STD.

  1. Extend RED-DSQ- viewer* with TAG-RED-* picker that drafts PRIV-* entries automatically.
  2. Prototype PRIV- editor* with court-standard fields and QC approve/return flow.
  3. Add CONF- tier config* loaded from protective order PDF metadata.
  4. Build completeness dashboard gating LDF-* finalization.
  5. Wire EXP-PRIV- export* into COC-DSQ-* bundle with hash verification.
  6. Test guest portal visibility rules per CONF-* tier against USR-GST-* patterns.

FAQ

Do we need PRIV-* for every redaction?

Only when withholding on privilege or confidentiality grounds · Pure PII scrub without privilege basis → RED-DSQ-* only · no PRIV-*.

Privilege log due before document production?

Some orders require log first · EXP-PRIV-* partial export of approved rows · flag remaining draft PRIV-* in status dashboard.

Joint defense with co-defendants?

Shared PRIV- visibility* · role-gated · do not expose to opposing counsel in guest portal unless designated.

Amended privilege log after delivery?

EXP-PRIV- version 2* · LOG-PRIV-* amendment reason · COC-DSQ-* supplement event · notify recipient.

Work product vs attorney-client?

Separate BAS- codes* · tag picker explains difference · QC flags mixed tags on same document.

Integration with e-discovery vendor?

Export PRIV- CSV via API* · webhooks on approve · vendor ingests as load file field.


Next steps

Share on X

§ Keep reading

Related guides.