figma guide
Designing automated decision-making and profiling transparency UI in Figma: logic, appeals, and human review
Design automated decision-making and profiling transparency UI in Figma with logic summaries, Article 22 appeals, human review queues, and DSAR export for GDPR-compliant SaaS products.
- Published
- Updated
- Aug 05, 2026
- Read time
- 9 min
- Level
- Intermediate
Quick answer
Automated decision-making and profiling transparency UI explains how algorithms affect users—and gives them a path to contest decisions that significantly impact them (GDPR Article 22). Design a decision log with human-readable summaries; an appeal and human review queue for credit, fraud, moderation, and pricing outcomes; and customer-facing explainer panels linked from privacy settings and account surfaces. Start from the Figma guides hub and pair with LIA workflow, DSAR portal, PIA/DPIA, ROPA activities, and Dev Mode handoff.
Who this is for
- Product designers building risk, fraud, pricing, or moderation products where ML or rules engines affect access.
- Design system teams standardizing “automated decision” badges, appeal CTAs, and review status chips.
- Privacy and Trust teams implementing Article 22 rights without exposing proprietary model weights in the UI.
Decision registry hub (internal overview)
DecisionHub — Acme Trust · 847 decisions today · 12 appeals open · 3 human review overdue
├── Header: Fraud 412 · Credit 89 · Moderation 201 · Pricing 145 · SLA breach 3
├── Actions: [ Search user ] [ Appeal queue ] [ Configure decision types ] [ Export register ]
├── Tabs: Decision log · Appeals · Human review · Decision types · Model versions · Reports
├── Alert: DT-04 Credit limit · Appeal SLA 28h remaining · 2 overdue
├── Filters: Decision type · Outcome · Automated vs human · Region · Date · Model version
└── Link: [Privacy settings](/designing-privacy-settings-and-data-management-ui-in-figma/) · DSAR · ROPA · LIA · Trust center
| Section | Purpose |
|---|---|
| Decision log | Immutable record of automated outcomes affecting users |
| Appeals | Article 22 / similar requests with SLA timers |
| Human review | Analyst queue to override or confirm automated outcomes |
| Decision types | Config per use case: explainer template, appeal eligibility, retention |
| Model versions | Which rules/ML version produced each decision |
| Reports | Volume, appeal rate, override rate for DPO review |
Verdict: Transparency UI balances meaningful information for users with operational detail for reviewers—never dump raw feature vectors in customer-facing panels.
Decision detail (internal reviewer view)
DecisionDetail — DEC-99102 · user_442 · Credit limit decrease · Aug 4, 2026
├── Outcome: Limit $5,000 → $2,000 · Effective immediately · Notified user email
├── Decision type: DT-04 Credit scoring · Automated: Yes · Model: credit_v3.2.1
├── Inputs summary (non-proprietary):
│ ├── Payment history: 2 late invoices in 90 days
│ ├── Usage trend: Seat count down 40% vs prior quarter
│ ├── External signal: Business credit bureau score band B-
│ └── NOT shown to user: Raw weights, vendor API response payload
├── Logic category: Rule + ML hybrid · Primary factor: payment delinquency
├── Lawful basis: Contract + legitimate interest · LIA: LIA-2024-08 Approved
├── User-facing explainer (published):
│ "We lowered your credit limit based on recent payment history and account usage."
│ └── [ Edit explainer ] Preview customer panel
├── Appeal status: AP-881 Open · Received Aug 4 · SLA due Aug 11
├── Human review: Assigned @risk-analyst · Queue position 4
└── [ Override decision ] [ Add human note ] [ Link DSAR ] [ Export evidence ]
| Field | Customer vs internal |
|---|---|
| Outcome | Both—user sees result in account |
| Input categories | User sees categories; internal sees values |
| Model version | Internal only; user sees “automated system” |
| Override reason | Internal; user sees “reviewed by our team” |
| Appeal status | Both—with clear next steps |
Explainer text must be approved template per decision type—Product cannot freestyle legal-sensitive copy at decision time.
Customer-facing transparency panel
TransparencyPanel — Account → Privacy → Automated decisions
├── Intro: "Some outcomes about your account are made by automated systems. You can request human review."
├── Recent decisions (last 12 months):
│ ├── Aug 4, 2026 · Credit limit adjusted · [View explanation] [Request review]
│ ├── Jun 2, 2026 · Fraud hold cleared · Human reviewed · [View explanation]
│ └── Mar 11, 2026 · Content moderation · Account warning · Appeal closed
├── Decision detail modal — DEC-99102:
│ ├── What happened: Credit limit decreased from $5,000 to $2,000
│ ├── Why (summary): Recent payment delays and lower usage affected our assessment
│ ├── Your rights: Request human review within 30 days · Link [DSAR portal](/designing-data-subject-access-request-and-gdpr-portal-ui-in-figma/)
│ ├── Not solely automated?: Human review available—decision may be contested
│ └── [ Submit appeal ] [ Download decision summary PDF ]
├── Profiling opt-out (where applicable):
│ └── Marketing personalization · Toggle off · Link [consent admin](/designing-consent-records-and-preference-management-admin-ui-in-figma/)
└── FAQ: What is automated decision-making? · How long does review take?
| UX principle | Implementation |
|---|---|
| Plain language | No “model score 0.73”—use factor categories |
| Actionable rights | Prominent appeal CTA when eligible |
| Status tracking | Appeal progress like order tracking |
| PDF export | DSAR-ready summary without internal fields |
| Accessibility | Decisions announced; appeal form labeled |
Profiling for marketing personalization is separate from significant automated decisions—use different sections and lawful basis links.
Appeal and human review queue
AppealQueue — 12 open · 3 overdue · Avg resolution 5.1 days
├── AP-881 · user_442 · DEC-99102 Credit limit · Received Aug 4 · SLA Aug 11
│ ├── User statement: "Late payments were one-time; contracts renewed"
│ ├── Attachments: Payment proof PDF · View in [DSAR case DS-442]
│ ├── Review checklist: Verify payment history · Check bureau dispute · Document override
│ ├── Outcomes: Uphold · Reverse · Partial (e.g., $3,500 limit) · Request more info
│ └── Status: Assigned @risk-analyst · Due in 28h
├── AP-902 · user_118 · DT-07 Moderation ban · Competing safety policy review
│ └── Status: Legal consult · Extended SLA documented
└── [ Bulk assign ] [ SLA dashboard ] [ Escalate to Legal ]
| Appeal state | SLA note |
|---|---|
| Submitted | Acknowledge within 72h—auto email with case ID |
| Under review | Analyst sees full internal decision detail |
| Info requested | User upload window; pause SLA clock if configured |
| Resolved — reversed | Trigger downstream jobs; notify user |
| Resolved — upheld | Explain outcome; optional regulator-ready note |
| Escalated | Legal/DPO only; extended timeline shown to user |
Appeals differ from generic support—dedicated queue with identity verification via account dashboard and audit trail.
Decision type configuration
DecisionTypes — 6 configured · 2 draft
├── DT-04 Credit scoring · Article 22 applies · Appeal enabled · Retention 3 years
│ ├── Explainer template: payment_history, usage_trend, external_credit
│ ├── Human review: Required on appeal · Optional on first decision if score borderline
│ ├── ROPA link: PA-204 Credit assessment · LIA: LIA-2024-08
│ └── DPIA link: DPIA-2023-02 High-risk financial · Re-review annual
├── DT-07 Content moderation · Automated flag + human publish · Appeal within 14 days
├── DT-09 Dynamic pricing · Profiling · Transparency: price factors summary · No Article 22 in EU B2B context (configurable)
├── DT-11 Fraud block · Safety override · Limited appeal · Link [suspicious login](/designing-suspicious-login-alerts-and-account-recovery-ui-in-figma/)
└── [ Create type ] [ Deprecate ] [ Preview customer panel ]
| Config field | Purpose |
|---|---|
| Article 22 flag | Enables appeal flow and mandatory explainer |
| Explainer factors | Allowed categories in customer copy |
| Human-in-the-loop | Auto-decisions vs analyst confirmation |
| Retention | Align with data retention policies |
| ROPA/LIA/DPIA links | Compliance graph for audits |
New decision types should block production until Privacy reviews config—gate in launch checklist.
ROPA and DPIA integration
ComplianceLink — Decision type DT-04 · Cross-system status
├── ROPA PA-204 · Automated credit assessment · Lawful basis LI · LIA current
├── DPIA DPIA-2023-02 · Status Approved · Next review Mar 2027
├── Change trigger: Model credit_v3.3.0 · Auto-opened DPIA addendum Jul 30
├── Gap: DT-09 Dynamic pricing · No DPIA linked · Blocks enable in EU
└── [ Run gap scan ] [ Notify owners ] [ Open PIA wizard](/designing-privacy-impact-assessment-and-dpia-workflow-ui-in-figma/)
Model or rules changes should version decisions—users appealing see which version applied, matching policy version patterns.
Handoff checklist (Dev Mode)
- AutomatedDecision — id, user_id, decision_type_id, outcome, effective_at, model_version, automated, ropa_activity_id.
- DecisionFactor — decision_id, factor_key, factor_label, internal_value, show_to_user (boolean).
- UserExplainer — decision_id, template_id, rendered_text, locale.
- Appeal — id, decision_id, user_id, status, sla_due, submitted_at, resolution, resolver_id.
- HumanReview — id, decision_id, analyst_id, outcome, override_reason, completed_at.
- DecisionType — id, name, article_22_applies, appeal_enabled, retention_days, explainer_template_id.
- Accessibility — appeal form errors inline; decision timeline keyboard navigable.
Common mistakes
| Mistake | Why it hurts | Fix |
|---|---|---|
| No customer-facing explainer | Article 22 violation | Template per decision type |
| Raw model output shown | Security + confusion | Factor categories only |
| Appeals in generic support | SLA misses | Dedicated queue with timers |
| ”Automated” badge missing | User cannot exercise rights | Label significant decisions in account |
| Profiling = all ML | Over-notification fatigue | Separate marketing profiling section |
| No model version on decision | Cannot reproduce for audit | Store version on every log row |
| Human review not logged | Regulator questions override | Immutable review record |
| Credit and fraud same queue | Wrong expertise routing | Route by decision_type |
| Explainer edited per case | Inconsistent legal exposure | Locked templates with variables |
| DPIA not linked to new DT | Launch without assessment | Config gate before enable |
Recommended workflow
- Inventory decision types that significantly affect users—credit, access, moderation, pricing.
- Configure explainer templates with allowed factor categories per type.
- Build customer transparency panel under privacy settings with appeal CTAs.
- Create appeal queue with SLA, analyst assignment, and DSAR cross-link.
- Wire ROPA/LIA/DPIA links on each decision type config.
- Version model/rules on every decision log entry.
- Export decision register for compliance audit evidence and DPIA reviews.
FAQ
Article 22 vs profiling (Article 22(1) vs 4(4)?
Article 22 covers significant solely automated decisions with legal/similar effect—design appeals and human review. Profiling broader—transparency in privacy notice and opt-outs where basis is consent or LI.
Link to DSAR portal?
Access requests include decision summaries and logic explanations—export from decision log, redact internal values.
LIA for fraud scoring?
Often yes for LI basis—balancing must document user expectations and appeal path.
B2B vs B2C?
Article 22 focuses on individuals—B2B admin users may still be data subjects; configure per decision type and jurisdiction.
Trust center?
Publish high-level description of automated decision categories—not internal model names.
Next steps
- Design privacy settings and data management UI in Figma — host transparency panel and opt-outs
- Design data subject access request and GDPR portal UI in Figma — access and appeal evidence export
- Design privacy impact assessment and DPIA workflow UI in Figma — high-risk automated processing
- Design legitimate interest assessment workflow UI in Figma — lawful basis for scoring
- Design records of processing activities and data mapping UI in Figma — document automated processing activities
§ Keep reading