Skip to content

Faq Security

Security & compliance FAQ: dark-tinted certification cards (SOC 2, ISO 27001, GDPR, PCI) with shield icons, then security questions as native <details> disclosure rows.

neo-corporate/section/faq-security
Open ↗

Source

import { Lock, ShieldCheck } from "lucide-react";
import { cn } from "@/lib/utils";

export interface FaqSecurityProps {
  eyebrow?: string;
  title?: string;
  certifications?: { name: string; detail: string }[];
  items?: { q: string; a: string }[];
  trustHref?: string;
  className?: string;
}

const DEFAULT_ITEMS = [
  { q: "Where is our data hosted?", a: "AWS in us-east-1 or eu-central-1, chosen per workspace. Backups stay in-region." },
  { q: "How is data encrypted?", a: "TLS 1.3 in transit and AES-256 at rest, with keys managed in AWS KMS and rotated yearly." },
  { q: "Who at Ledgerly can access our data?", a: "Only on-call engineers, through just-in-time access that you approve and that is logged." },
  { q: "Do you run penetration tests?", a: "Twice a year by an independent firm. Summaries are shared under NDA in our Trust Center." },
];

/** Security & compliance FAQ: dark-tinted certification cards (SOC 2, ISO 27001, GDPR, PCI) with shield icons, then security questions as native <details> disclosure rows. */
export function FaqSecurity({
  eyebrow = "Security",
  title = "Built for the scrutiny of your auditors",
  certifications = [
    { name: "SOC 2 Type II", detail: "Audited annually" },
    { name: "ISO 27001", detail: "Certified since 2023" },
    { name: "GDPR", detail: "EU data residency" },
    { name: "PCI DSS L1", detail: "Payments processing" },
  ],
  items = DEFAULT_ITEMS,
  trustHref = "#trust",
  className,
}: FaqSecurityProps) {
  return (
    <section aria-labelledby="nc-sec-title" className={cn("da-section bg-da-bg text-da-fg", className)}>
      <div className="da-container">
        <div className="flex flex-wrap items-end justify-between gap-6">
          <div className="max-w-2xl">
            <p className="text-xs font-semibold tracking-da-label text-da-primary uppercase">{eyebrow}</p>
            <h2
              id="nc-sec-title"
              className="mt-3 font-da-display text-[clamp(2rem,4.5vw,2.75rem)] leading-[1.1] font-extrabold tracking-da-display text-balance"
            >
              {title}
            </h2>
          </div>
          <a
            href={trustHref}
            className="da-focus da-stroke da-transition inline-flex h-10 items-center gap-2 rounded-da-md bg-da-surface px-4 text-sm font-semibold hover:border-da-border-strong"
          >
            <Lock aria-hidden className="size-4" /> Visit Trust Center
          </a>
        </div>
        <ul className="mt-10 grid grid-cols-2 gap-3 lg:grid-cols-4">
          {certifications.map((c) => (
            <li key={c.name} className="flex items-center gap-3 rounded-da-lg bg-da-fg p-4 text-da-bg">
              <ShieldCheck aria-hidden className="size-7 shrink-0" />
              <span>
                <span className="block text-sm font-bold">{c.name}</span>
                <span className="block text-xs opacity-75">{c.detail}</span>
              </span>
            </li>
          ))}
        </ul>
        <div className="mt-10 divide-y divide-da-border border-y border-da-border">
          {items.map((it) => (
            <details key={it.q} className="group py-1">
              <summary className="da-focus flex cursor-pointer list-none items-center justify-between gap-4 rounded-da-sm py-4 font-semibold [&::-webkit-details-marker]:hidden">
                {it.q}
                <span aria-hidden className="font-da-mono text-da-muted-fg group-open:text-da-primary">
                  <span className="group-open:hidden">+</span>
                  <span className="hidden group-open:inline">−</span>
                </span>
              </summary>
              <p className="pb-5 text-da-muted-fg">{it.a}</p>
            </details>
          ))}
        </div>
      </div>
    </section>
  );
}

export default FaqSecurity;

modules/neo-corporate/section/faq-security/index.tsx

Props

PropTypeDefaultDescription
eyebrowstring—Small label above the heading.
titlestring—Heading.
certifications{ name: string; detail: string }[]—Certifications.
items{ q: string; a: string }[]—Content items (see the exported types).
trustHrefstring—Trust Href.
classNamestring—Extra classes on the root.

Other faq variants in Neo Corporate

FAQ in other art directions

FAQ Accordion

Two-column FAQ: sticky title + support CTA on the left, numbered accordion cards on the right with a yellow plus that rotates into an ink cross when open. Built on Radix Accordion.

BrutalistFAQ

FAQ Categories

Help-center style FAQ: topic buttons with counts on the left (stacked on desktop, wrapped on mobile), and a ruled accordion on the right whose open question floods yellow.

BrutalistFAQ

FAQ Grid

Always-open FAQ grid: ruled cells (1/2/3 columns) with a yellow question-mark square, uppercase question and answer, closed by a full-width ink contact row. No interaction needed.

BrutalistFAQ

FAQ Search

Searchable FAQ: a huge ruled search field that presses in on focus, live result count, and native <details> cards with tags; a pink empty state points to support.

BrutalistFAQ

Faq Cards

All-open FAQ: a 3-column grid of glass cards, each with a gradient number badge, question and answer, followed by a glass contact pill with an ink button.

GlassFAQ

Faq Chat

FAQ as a chat: suggested question chips on the left; picking one adds a gradient user bubble and, after a typing indicator, a glass answer bubble in the conversation panel.

GlassFAQ

FAQ Glass

Centered FAQ with stacked frosted accordion cards; the plus button spins into a gradient cross with a slight overshoot and answers expand smoothly. Built on Radix Accordion.

GlassFAQ

Faq Search

Help-center FAQ: large glass search pill filtering a frosted Radix accordion live, with category tags, result count and highlighted matches; empty state.

GlassFAQ

Faq Grid

All answers visible at once: a three-column grid of short questions and answers under a header, followed by two support link cards (documentation, talk to us).

MinimalFAQ

Faq List

Centered single-column FAQ built on native details/summary (zero JS): hairline dividers, a plus icon that rotates into a cross when open, and a contact line underneath.

MinimalFAQ

FAQ Split

Two-column FAQ: title, description and support link on the left, hairline-divided Radix accordion on the right with a rotating chevron and a smooth height + fade expand.

MinimalFAQ

Faq Tabs

FAQ grouped by category behind an underline tab bar (Radix Tabs, with counts); the active category shows every question and answer in a two-column definition list.

MinimalFAQ

Faq Inline

Ultra-compact FAQ: short questions and one-line answers flowing as a 3-column grid of mono question labels over large answers — scannable in seconds.

Mono CleanFAQ

Faq List

Numbered accordion FAQ in a ruled list: mono index + question, a +/− glyph that swaps, answer indented under the question; left column holds the label and title.

Mono CleanFAQ

Faq Split

Always-open FAQ as a two-column definition list (question left in medium weight, answer right in muted text) on hairline rows, followed by a mono contact line.

Mono CleanFAQ

Faq Tabs

FAQ grouped by topic with text tabs (Radix Tabs) underlined in ink when active, and each topic’s answers as a ruled definition list.

Mono CleanFAQ

Faq Columns

Editorial FAQ: serif title and intro in a narrow left column, questions as a two-column definition list on the right separated by warm hairlines.

Organic SoftFAQ

Faq Contact

FAQ beside a contact card: native disclosure list on the left, and a clay-tinted card with a sprouting-leaf illustration, email and chat buttons on the right.

Organic SoftFAQ

Faq Search

Searchable FAQ: rounded search field plus topic pills filter a list of questions (native details), with a friendly empty state and live result count.

Organic SoftFAQ

Faq Soft

Soft accordion: each question is its own rounded paper pill-card that turns sage when open, with a round plus that rotates into a cross; generous spacing.

Organic SoftFAQ

Faq Columns

All-visible FAQ: sticky intro with a peach “Chat with us” pill on the left, six Q&As in a 2-column grid with round lavender number badges on the right.

Soft FlatFAQ

Faq Help

Help-center FAQ: lavender panel with a friendly greeting, big white search pill and popular-search chips; matching answers show as white cards with a peach empty state.

Soft FlatFAQ

Faq Pills

Single-column FAQ of rounded white blocks on native details/summary; the open item turns lavender and its round chevron button flips and fills periwinkle.

Soft FlatFAQ

Faq Tinted

FAQ by topic: three big pastel topic buttons (emoji + label) switch the list of white Q&A cards below, which fades in on change.

Soft FlatFAQ