Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Security Review Account Block for React

A security review in three sections, devices, recent sign-ins and sign-in methods, where each item is answered with Yes, this is mine or Remove, with a progress bar and a Finish button that waits for every answer.

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

Ask people to check what can sign in to their account, with this security review for React with Base UI. A compact header holds the title and when the account was last reviewed. Inside a hairline frame with a plus mark on each corner, a bar counts how many of the nine items have an answer. Three sections follow, each ruled by Guides with its own count: the devices, the recent sign-ins (with the place and the moment) and the sign-in methods. Every item has an icon, a name and what it was done with, and two answers: an outline Button for Yes, this is mine and a quiet Remove. An answer shows as an outline Badge with an Undo, and the row keeps its height. A band names what was removed; the pinned foot has a status line and the one Shine Button, which finishes the review once nothing is unanswered and then writes the day. On a phone the two answers share a full-width row under each item. It's built from Button, Badge, Shine Button and Guides, with a CSS entrance only. For the security page of any app, a yearly check-up or the moment after a suspicious sign-in.

FAQ

How do I fill it with my own items?

Edit ITEMS at the top. Each has an id, the section it belongs to, an icon kind, a name, what it was done with as where, when it happened as when (an ISO day, or an ISO moment with a time for a sign-in) and the answer it starts with: pending, mine or removed. SECTIONS names the groups, and LAST_REVIEW is the day of the previous review. The counts, the bar, the band of removals and the header sentence are all worked out from the items. Nothing here shows a real address or device model: name devices the way the person would.

What do the answers do, and what stays local?

Yes, this is mine and Remove change the item's answer in the page and say so in the status line; Undo puts it back to pending, and moves focus to the control that took its place. Nothing is signed out and nothing is sent. In your app, call your server in answer: remove a device's sessions, revoke a sign-in's session, unlink a method, and let a person who answers Yes keep going. Treat a Removed device or sign-in as a reason to offer a password change.

When can the review be finished?

When every item has an answer. Until then the button is marked aria-disabled rather than disabled, so it keeps its place and focus; pressing it says how many items still need an answer and moves focus to the first of them. Finishing writes the day into the header ("Reviewed 14 Oct 2026") and turns the button into a quiet Review finished; changing an answer afterwards reopens the review. In your app, save the day your server records.

Why is the foot pinned?

The review is longer than a screen, and the one action that ends it should never be a scroll away, so the foot, with its status line and the Shine Button, stays at the bottom of the screen while the panel scrolls and settles at the panel's end. It's one element at every width, so there is only ever one primary button.

Is it accessible?

Each section is a real list named for it, each row says what it is in text, and every answer button names its item ("Remove Unrecognised laptop"; the Yes button keeps its visible words in its name). An answer is a word and an icon in a badge, never a colour. Times are in time elements. One polite status line, present from the start, reports each answer and each refusal, and the bar is decorative because its count is written beside it.

How does it look on a phone?

The icon and name keep their row and the answers drop under them as two equal buttons (or the badge and Undo once answered), so every row has the same height whatever its state. The foot stays pinned with its line over the button.

  • Pro

    Trusted Devices Account

    Sessions and devices

    An account's trusted devices as a table of devices against two switches, one to skip the sign-in code and one to skip the password prompt, with a sentence on what each device's choice means and a meter against the limit.

  • Pro

    Passkeys Account

    Sign-in methods

    An account's passkeys: a ruled list of what each one is, when it was created and last used, a name you edit in place, a guarded Remove, and a dialog from the header that names a new passkey.

  • Pro

    An account's two-factor methods as rows with their role, history and a Test that opens a code field in place, Make primary, a guarded Remove, and a Set up that opens a QR code, a key name or a number.

  • Pro

    An account's recovery options: four numbered ways back in, each with its state in words, a masked value, a quiet test and a one-field form to set it up, and a line that counts how many are ready.

  • Pro

    Security Checkup Settings

    Sign-in and security

    A workspace security checkup page with a score and meter, eight checks that each say Pass or Needs attention with a reason and a button that flips them, and one primary button that moves focus to the first failing check.

  • Pro

    A pre-sign-in checklist panel: six typed checks in an accordion with a glyph and a word each, a fix and an I have done this box on the ones that fail, Re-check and a Continue that waits for no failures.