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-* state | Reviewer sees | Counsel must |
|---|---|---|
| Draft | Auto fields from RED-DSQ-* | Add narrative description |
| Pending QC | Yellow flag on Bates row | Approve or reject |
| Approved | Included in EXP-PRIV-* | — |
| Amended | Version history · LOG-PRIV-* | Justify change reason |
| Exported | Locked · read-only | File 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
| Dimension | PRIV-* (this pattern) | RED-DSQ-* / RED-ARC-* | Sensitivity labels |
|---|---|---|---|
| Purpose | Legal withholding index | Visual redaction overlay | Enterprise DLP classification |
| Audience | Court · opposing counsel | Production reviewers | Internal admin |
| Required for export | Yes when privilege asserted | Yes for any redaction | Optional suggest |
| Format | EXP-PRIV-* log file | Burned into PDF/image | Metadata tag |
| Audit | LOG-PRIV-* | COC-DSQ-* | Standard audit log |
Common mistakes
- Building privilege log as post-export spreadsheet— auto-create PRIV-* from RED-DSQ-* tags during review.
- Conflating PII redaction with privilege— PII-only redactions do not need PRIV-* rows unless also withheld on privilege grounds.
- Vague descriptions (“privileged communication”)— courts expect participant and subject specificity.
- No QC gate before EXP-PRIV-*— draft entries leak to opposing counsel.
- Ignoring CONF-AEO separation— highly confidential docs in same portal as CONF-STD.
Recommended workflow
- Extend RED-DSQ- viewer* with TAG-RED-* picker that drafts PRIV-* entries automatically.
- Prototype PRIV- editor* with court-standard fields and QC approve/return flow.
- Add CONF- tier config* loaded from protective order PDF metadata.
- Build completeness dashboard gating LDF-* finalization.
- Wire EXP-PRIV- export* into COC-DSQ-* bundle with hash verification.
- 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
- Design breach settlement litigation discovery and DSQ export UI in Figma — RED-DSQ-* source tags
- Design breach settlement protective order compliance and restricted data room UI in Figma — CONF-* tier enforcement
- Design forensic evidence management and chain of custody UI in Figma — COC-DSQ-* bundle integrity
- Design content classification and sensitivity labels UI in Figma — Auto-suggest CONF-* tiers
- Design compliance exports and legal hold UI in Figma — Parallel regulator productions
§ Keep reading