{
  "name": "settings-2fa-setup",
  "kind": "block",
  "primary": "div",
  "page": "/apps/saas/app/profile-security/profile-security.contents.html",
  "slots": [],
  "nested": [],
  "attrs": {
    "data-col": ""
  },
  "html": "<div data-col>\n      <card-ui>\n        <header>\n          <span slot=\"icon\">\n            <avatar-ui icon=\"device-mobile\"></avatar-ui>\n          </span>\n          <span slot=\"heading\">\n            <text-ui strong>Authenticator app</text-ui>\n            <badge-ui text=\"Enabled\" variant=\"success\"></badge-ui>\n          </span>\n          <span slot=\"action\">\n            <button-ui text=\"Manage\" variant=\"outline\" size=\"sm\" onclick=\"document.getElementById('drawer-2fa-totp').open = true\"></button-ui>\n          </span>\n          <span slot=\"description\">\n            <text-ui color=\"subtle\" size=\"sm\">Time-based codes via 1Password, Authy, or Google Authenticator</text-ui>\n          </span>\n        </header>\n      </card-ui>\n      <card-ui>\n        <header>\n          <span slot=\"icon\">\n            <avatar-ui icon=\"key\"></avatar-ui>\n          </span>\n          <span slot=\"heading\">\n            <text-ui strong>Security key</text-ui>\n            <badge-ui text=\"Not set\" variant=\"muted\"></badge-ui>\n          </span>\n          <span slot=\"action\">\n            <button-ui text=\"Add\" variant=\"primary\" size=\"sm\" icon=\"plus\" onclick=\"document.getElementById('drawer-2fa-key').open = true\"></button-ui>\n          </span>\n          <span slot=\"description\">\n            <text-ui color=\"subtle\" size=\"sm\">Hardware key (YubiKey, Titan). Strongest available factor.</text-ui>\n          </span>\n        </header>\n      </card-ui>\n      <card-ui>\n        <header>\n          <span slot=\"icon\">\n            <avatar-ui icon=\"chat-circle-text\"></avatar-ui>\n          </span>\n          <span slot=\"heading\">\n            <text-ui strong>SMS</text-ui>\n            <badge-ui text=\"Not recommended\" variant=\"warning\"></badge-ui>\n          </span>\n          <span slot=\"action\">\n            <button-ui text=\"Add\" variant=\"ghost\" size=\"sm\" icon=\"plus\" onclick=\"document.getElementById('drawer-2fa-sms').open = true\"></button-ui>\n          </span>\n          <span slot=\"description\">\n            <text-ui color=\"subtle\" size=\"sm\">Codes via text message. Vulnerable to SIM-swap attacks.</text-ui>\n          </span>\n        </header>\n      </card-ui>\n    </div>",
  "source": "apps/saas/app/profile-security/profile-security.contents.html",
  "metadata": {
    "domain": "settings",
    "description": "Two-factor authentication setup section — enroll an authenticator app (TOTP), hardware security key (WebAuthn/FIDO2), or SMS OTP as a second sign-in factor.",
    "keywords": [
      "two",
      "factor",
      "authentication",
      "2fa",
      "setup",
      "authenticator",
      "totp",
      "security",
      "code",
      "qr",
      "verification",
      "otp",
      "security-key",
      "enroll",
      "yubikey",
      "sms",
      "hardware",
      "webauthn"
    ]
  },
  "captured_at": "2026-06-07T19:28:13.657Z",
  "template": [
    {
      "id": "avatar",
      "component": "Avatar",
      "icon": "device-mobile"
    },
    {
      "id": "text",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar"
      ]
    },
    {
      "id": "text-3",
      "component": "Text",
      "strong": true,
      "textContent": "Authenticator app"
    },
    {
      "id": "badge",
      "component": "Badge",
      "text": "Enabled",
      "variant": "success"
    },
    {
      "id": "text-2",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-3",
        "badge"
      ]
    },
    {
      "id": "button",
      "component": "Button",
      "size": "sm",
      "text": "Manage",
      "variant": "outline"
    },
    {
      "id": "text-4",
      "component": "Text",
      "variant": "body",
      "slot": "action",
      "children": [
        "button"
      ]
    },
    {
      "id": "text-6",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Time-based codes via 1Password, Authy, or Google Authenticator"
    },
    {
      "id": "text-5",
      "component": "Text",
      "variant": "body",
      "slot": "description",
      "children": [
        "text-6"
      ]
    },
    {
      "id": "header",
      "component": "Header",
      "children": [
        "text",
        "text-2",
        "text-4",
        "text-5"
      ]
    },
    {
      "id": "card",
      "component": "Card",
      "children": [
        "header"
      ]
    },
    {
      "id": "avatar-2",
      "component": "Avatar",
      "icon": "key"
    },
    {
      "id": "text-7",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar-2"
      ]
    },
    {
      "id": "text-9",
      "component": "Text",
      "strong": true,
      "textContent": "Security key"
    },
    {
      "id": "badge-2",
      "component": "Badge",
      "text": "Not set",
      "variant": "muted"
    },
    {
      "id": "text-8",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-9",
        "badge-2"
      ]
    },
    {
      "id": "button-2",
      "component": "Button",
      "icon": "plus",
      "size": "sm",
      "text": "Add",
      "variant": "primary"
    },
    {
      "id": "text-10",
      "component": "Text",
      "variant": "body",
      "slot": "action",
      "children": [
        "button-2"
      ]
    },
    {
      "id": "text-12",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Hardware key (YubiKey, Titan). Strongest available factor."
    },
    {
      "id": "text-11",
      "component": "Text",
      "variant": "body",
      "slot": "description",
      "children": [
        "text-12"
      ]
    },
    {
      "id": "header-2",
      "component": "Header",
      "children": [
        "text-7",
        "text-8",
        "text-10",
        "text-11"
      ]
    },
    {
      "id": "card-2",
      "component": "Card",
      "children": [
        "header-2"
      ]
    },
    {
      "id": "avatar-3",
      "component": "Avatar",
      "icon": "chat-circle-text"
    },
    {
      "id": "text-13",
      "component": "Text",
      "variant": "body",
      "slot": "icon",
      "children": [
        "avatar-3"
      ]
    },
    {
      "id": "text-15",
      "component": "Text",
      "strong": true,
      "textContent": "SMS"
    },
    {
      "id": "badge-3",
      "component": "Badge",
      "text": "Not recommended",
      "variant": "warning"
    },
    {
      "id": "text-14",
      "component": "Text",
      "variant": "body",
      "slot": "heading",
      "children": [
        "text-15",
        "badge-3"
      ]
    },
    {
      "id": "button-3",
      "component": "Button",
      "icon": "plus",
      "size": "sm",
      "text": "Add",
      "variant": "ghost"
    },
    {
      "id": "text-16",
      "component": "Text",
      "variant": "body",
      "slot": "action",
      "children": [
        "button-3"
      ]
    },
    {
      "id": "text-18",
      "component": "Text",
      "color": "subtle",
      "size": "sm",
      "textContent": "Codes via text message. Vulnerable to SIM-swap attacks."
    },
    {
      "id": "text-17",
      "component": "Text",
      "variant": "body",
      "slot": "description",
      "children": [
        "text-18"
      ]
    },
    {
      "id": "header-3",
      "component": "Header",
      "children": [
        "text-13",
        "text-14",
        "text-16",
        "text-17"
      ]
    },
    {
      "id": "card-3",
      "component": "Card",
      "children": [
        "header-3"
      ]
    },
    {
      "id": "root",
      "component": "Column",
      "data-col": "",
      "children": [
        "card",
        "card-2",
        "card-3"
      ]
    }
  ]
}
