import { KeyRound, LogIn, ShieldAlert } from "lucide-react"; import { getWorkspace } from "@/lib/session"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Switch } from "@/components/ui/switch"; import { ChangePasswordForm } from "@/components/dashboard/settings/change-password-form"; import { ActiveSessions } from "@/components/dashboard/settings/active-sessions"; export const dynamic = "force-dynamic"; export default async function SecurityPage() { await getWorkspace(); return (
Change password Use at least 10 characters with mixed case and a number or symbol. Changing it is recorded in your audit log. Active sessions Everywhere you are signed in. Revoke anything you do not recognise — API keys are separate and unaffected.
Two-factor authentication Coming soon
Authenticator app (TOTP) codes are planned first; passkeys will follow. Not available during the public preview.
Security notifications Emails we always send to your verified address. They cannot be turned off.
  • API key created or revoked Includes the key name and prefix, never the secret.
  • Password, email or account changes Password resets, email change approvals and account deletion confirmations.
  • Spending limits When a soft limit is crossed or a hard limit stops requests.
); }