Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Compliance Status Dashboard Block for Radix UI

A crosswalk of twelve security controls against SOC 2, ISO 27001, GDPR, HIPAA, PCI DSS and CCPA, where a switch per control recomputes every standard's readiness and a side cell lists the chosen standard's failing controls and review dates.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

See how one failing control ripples through every standard it counts toward, with this compliance status panel for React with Radix UI. A hairline frame with a plus mark on each corner holds a matrix of twelve controls (MFA enforced, encryption at rest, access reviews, vendor risk and more) against six standards: SOC 2, ISO 27001, GDPR, HIPAA, PCI DSS and CCPA. A dot marks each standard a control counts toward, and a Switch per control sets it to passing or failing. Each column head shows that standard's readiness as a percentage and a bar, the header names the standard most affected since the last audit, and choosing a column opens an end cell with its failing controls, its last audit and its next review. It's built from Switch, Native Select, Button, Empty and Guides. For security and compliance teams.

FAQ

How do I fill it with my controls and standards?

Edit CONTROLS and STANDARDS. Each control lists the ids of the standards it counts toward, and each standard has a last audit and a next review date. BASELINE is the list of controls passing at the last audit. Readiness is the passing controls over the controls mapped to that standard, so the bars, the percentages and the header sentence are all worked out.

How is the most affected standard chosen?

It's the one whose readiness has fallen furthest from the audit baseline. When nothing differs from the baseline, the header names the standard with the lowest readiness instead. Reset to audit puts every switch back.

What stays local, and how do I wire it for real?

Everything: the controls, their mapping and their state are typed, and flipping a switch only recomputes this page. To make it real, load each control's state from your monitoring or evidence tool (a switch would then show it, not set it), keep the mapping in one place, and read the audit dates from your auditor's records.

Is it usable without a mouse?

Yes. Each switch is named for its control, the column heads are buttons that mark the chosen standard as current, and every dot has a text equivalent ("Counts toward SOC 2, failing"). The result of each flip is read out in a polite status line.

Does colour carry the status?

No. A passing control is a filled dot and a failing one is a hollow ring, and the switch row says Passing or Failing in words. The page uses foreground tones only.

How does it look on a phone?

Below the large breakpoint the matrix keeps one column, the chosen standard's, and a select above it changes the standard. The end cell stacks under the matrix with the same failing list and dates.