System Designhard

Design a policy builder UI for non-developer security admins

Design a frontend experience that lets security or IT admins create policy-based access rules. Cover UX, validation, draft state, previews, conflict detection, accessibility, and auditability.

Asked at PlainID

#policy builder#UX#forms#validation#authorization

Answer

Interview framing: A policy builder is a high-risk UI: it must be understandable for admins and precise enough to avoid accidental over-permissioning.

Design approach:

  1. Model the policy clearly:
  • Subject: who gets access.
  • Action: what they can do.
  • Resource: what they act on.
  • Context: when or under what conditions.
  • Effect: allow, deny, mask, filter, or require approval depending on product model.
  1. UX structure:
  • Use a guided flow or composable rule blocks instead of a blank expression editor.
  • Provide plain-language summaries like "Finance analysts can view invoices in EMEA during business hours."
  • Show examples and inline help for domain terms.
  1. Validation:
  • Validate required fields, invalid combinations, unreachable conditions, and overly broad rules.
  • Warn before wildcard-like access such as all users or all resources.
  1. Preview and simulation:
  • Let admins test sample users/resources before publishing.
  • Explain why a decision was allowed or denied.
  • Show conflicts and policy precedence clearly.
  1. Draft and publishing flow:
  • Autosave drafts.
  • Require review/approval for risky changes.
  • Keep version history and audit logs.
  1. Accessibility and reliability:
  • Ensure keyboard operation for rule blocks.
  • Avoid color-only status indicators.
  • Preserve unsaved changes across navigation.

Strong closing: "The most important feature is confidence: admins should understand exactly what the policy will do before it affects production access."

Source: PlainID PBAC platform domain

Practise more System Design questions →