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
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:
- 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.
- 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.
- Validation:
- Validate required fields, invalid combinations, unreachable conditions, and overly broad rules.
- Warn before wildcard-like access such as all users or all resources.
- 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.
- Draft and publishing flow:
- Autosave drafts.
- Require review/approval for risky changes.
- Keep version history and audit logs.
- 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