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
SectionPurpose
Decision logImmutable record of automated outcomes affecting users
AppealsArticle 22 / similar requests with SLA timers
Human reviewAnalyst queue to override or confirm automated outcomes
Decision typesConfig per use case: explainer template, appeal eligibility, retention
Model versionsWhich rules/ML version produced each decision
ReportsVolume, 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 ]
FieldCustomer vs internal
OutcomeBoth—user sees result in account
Input categoriesUser sees categories; internal sees values
Model versionInternal only; user sees “automated system”
Override reasonInternal; user sees “reviewed by our team”
Appeal statusBoth—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 principleImplementation
Plain languageNo “model score 0.73”—use factor categories
Actionable rightsProminent appeal CTA when eligible
Status trackingAppeal progress like order tracking
PDF exportDSAR-ready summary without internal fields
AccessibilityDecisions 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 stateSLA note
SubmittedAcknowledge within 72h—auto email with case ID
Under reviewAnalyst sees full internal decision detail
Info requestedUser upload window; pause SLA clock if configured
Resolved — reversedTrigger downstream jobs; notify user
Resolved — upheldExplain outcome; optional regulator-ready note
EscalatedLegal/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 fieldPurpose
Article 22 flagEnables appeal flow and mandatory explainer
Explainer factorsAllowed categories in customer copy
Human-in-the-loopAuto-decisions vs analyst confirmation
RetentionAlign with data retention policies
ROPA/LIA/DPIA linksCompliance 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

MistakeWhy it hurtsFix
No customer-facing explainerArticle 22 violationTemplate per decision type
Raw model output shownSecurity + confusionFactor categories only
Appeals in generic supportSLA missesDedicated queue with timers
”Automated” badge missingUser cannot exercise rightsLabel significant decisions in account
Profiling = all MLOver-notification fatigueSeparate marketing profiling section
No model version on decisionCannot reproduce for auditStore version on every log row
Human review not loggedRegulator questions overrideImmutable review record
Credit and fraud same queueWrong expertise routingRoute by decision_type
Explainer edited per caseInconsistent legal exposureLocked templates with variables
DPIA not linked to new DTLaunch without assessmentConfig gate before enable

  1. Inventory decision types that significantly affect users—credit, access, moderation, pricing.
  2. Configure explainer templates with allowed factor categories per type.
  3. Build customer transparency panel under privacy settings with appeal CTAs.
  4. Create appeal queue with SLA, analyst assignment, and DSAR cross-link.
  5. Wire ROPA/LIA/DPIA links on each decision type config.
  6. Version model/rules on every decision log entry.
  7. 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.

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

Share on X

§ Keep reading

Related guides.