Risk-Aware
Access Control

Permissions don't fail loudly. I designed a system that shows impact before it breaks things.

Type

Conceptual

Role

Product Designer

Duration

2 Weeks

Focus

Decision support

  • Product design ⦿ Platform UX ⦿ Systems thinking ⦿ Decision support ⦿ SAAS

What's this about

Permissions are a decision problem, not a settings problem.

As teams grow, access control breaks down — not because admins configure things wrong, but because the system never shows them what the outcome actually is. A role change can silently affect dozens of users. Issues surface only after access is live.

Three gaps made every change feel risky

Invisible outcomes

Admins configured roles but never saw the resulting effective access.

Silent blast radius

One role change could affect many users. The system never surfaced the impact beforehand.

No recovery path

Mistakes were only visible after access went live — with no structured way to undo them.

Core Insight

Admins weren’t failing to configure correctly. They lacked enough information to know if their configuration was correct at all.

What existing systems get wrong

Competitive analysis of AWS IAM, GitHub, Notion, and Slack.

AWS IAM

Strength

Granular policy-based control

Gap

Extremely complex mental model

Lesson

Surface effective access clearly

GitHub

Strength

Clear role hierarchy

Gap

No preview of affected users

Lesson

Show impact before applying changes

Notion

Strength

Simple role model

Gap

No exception mechanism

Lesson

Use overrides instead of new roles

Slack

Strength

Workspace vs channel permission separation

Gap

No clear recovery tools

Lesson

Permission changes must be auditable

Three approaches I considered

1. Simulation Mode

Rejected

Why it looks good

  • Zero risk to live data

  • Matches engineering mental model

Where it broke

  • Introduces dual-state confusion

  • Adds friction to simple changes

  • Often skipped → false sense of safety

Too much friction for routine changes. Better suited for CI/CD tooling than admin UX.

2. Permission Diff Panel

Partially Adapted

Why it Worked

  • Zero risk to live data

  • Matches engineering mental model

Where it Failed

  • Shows what changed, not who is affected

  • Doesn't communicate blast radius

  • Non-technical users don't think in diffs

Inspired the Effective Access panel but diff alone wasn't enough
  1. Impact Review Step

Selected

Why it Wins

  • Translates permissions people

  • Makes risk visible before action

  • Farces intentional decision

Where it Failed

  • Adds change step to every change

  • Risk of click-through fatigue if not designed carefully

Friction is not a problem it's the safety here mechanism

System Model

One source of truth: Effective Access. Most systems stop at configuration. This adds two more layers.

Roles

Permissions

Overrides

Effective Access

Audit Log

Design Decisions

1. Roles Dashboard: Ambient risk awareness

Member counts surfaced inline so admins understand the real-world weight of a role before touching it. High-risk system roles are read-only — deliberately trading flexibility for stability.

  1. Permission editor — logic visible, not inferred

Dependency rules enforced by construction — Delete requires Edit, Edit requires View. Invalid states can't be reached. A live Effective Access panel updates in real time.

Why: If the system can only be configured correctly, admins stop second-guessing themselves.
  1. Impact review — changes become consequences

User-level exceptions that sit above roles, visually flagged, fully reversible. Permanent or time-bound. Edge cases handled cleanly without polluting the shared role structure.

  1. Member access summary — one screen to debug anything

Assigned roles, inherited permissions, active overrides, and effective access — all in one place. Eliminates the multi-screen guesswork that makes access bugs expensive to resolve.

  1. Overrides — exceptions without role sprawl

Before any change applies, admins see exactly which members are affected and how. Not a confirmation dialog — a decision surface. The framing shifts from "save?" to "here's what happens to real people."

outcomes

Visible

Effective access shown before every change — not after

0

Silent high-risk changes — all require explicit acknowledgment

1 Screen

To fully debug any member's access state

Reduced incident escalation — fewer failures turning into larger outages

The hard part

The impact review step adds friction intentionally — but too much friction causes admins to bypass it. In production, I'd measure drop-off at that step and validate that deliberate slowdown leads to fewer errors, not just slower workflows.

Learnings

Designing for mistakes is as important as designing for success

Undo changed how the whole system felt — not the flows, just the stakes.

Friction is a feature when risk is real

High-risk changes deserve a pause. The impact review step exists to create that pause deliberately.

Invalid states shouldn't be reachable

Enforcing dependency rules by construction removes an entire class of admin errors.

One source of truth simplifies everything

Once Effective Access became the single output, every other decision — overrides, audit, debugging — fell into place around it.

WHAT I’D IMPROVE

Measure actual drop-off at the impact review step. If admins are clicking through without reading, the friction isn't working — it needs to be redesigned, not removed. Also: test whether time-bound overrides get cleaned up or pile up over time. Expiry alone doesn't guarantee hygiene.

See what else I built

Working on a complex product? I can help bring clarity to it.




I take on projects, part-time work, and full-time roles. 

send the details — we’ll figure it out.

vizuraja@gmail.com

CHAOS

CLARITY

Linkedin

Instagram

Twitter

V

I

S

W

A

You could have been anywhere on the internet, yet you’re here. thanks for visiting

Create a free website with Framer, the website builder loved by startups, designers and agencies.