267
Password, two-factor, passkeys and sessions in grouped rows: a tiny ring counts recommended steps, passkeys are added inline while your device confirms, and signed-out sessions slide off the table one after another.
akapasskeys·two-factor·active sessions
Run this in any project set up for the shadcn CLI. It copies the Security Settings source into your components folder, so the code is yours to change.
npx shadcn@latest add https://devl.dev/r/security-settings.jsonImport it and render it. Every prop has a typed default, so it works straight away, and you pass your own data when you’re ready.
import { SecuritySettings } from "@/components/security-settings";
export default function Page() {
return <SecuritySettings />;
}A free React screen in the Settings collection, written in TypeScript with Tailwind CSS on coss ui. MIT licensed.
Read from the Security Settings source. Everything is optional unless it says required.
| Prop | Type | Default |
|---|---|---|
| className | string | — |
| passwordChanged | string | "4 months ago" |
| passkeys | SecurityPasskey[] | defaultPasskeys |
| sessions | SecuritySession[] | defaultSessions |
| authenticatorSince | string | "Jan 12, 2026" |
| recoveryCodesLeft | number | 8 |
| recoveryCodesSaved | boolean | false |
| newPasskey | { name: string; kind: SecurityDeviceKind; authenticator: string } | defaultNewPasskey |
| onNavigate | (section: SettingsSectionId) => void | — |