security-ux 是一套聚焦“安全相关界面”的设计指导,目标是让安全体验通过清晰而非恐吓来赢得用户信任。其核心理念是让用户感到安全、掌控,而不是因安全要求而感到被惩罚。
用途
该技能适用于设计与安全相关的用户界面,尤其是在身份验证、账户恢复、密码、信任信号、数据泄露与异常响应、权限与同意等环节。当用户询问 MFA、密码 UX、泄露通知、信任相关内容时可以使用。
主要能力
技能提供多个参考方向:
- 身份验证与账户恢复参考:登录、MFA、会话过期、密码 UX、恢复流程指引。
- 权限与角色 UX 参考:角色编辑器、访问申请流程、访问被拒后的恢复、高风险权限变更。
- 界面诚实性参考:坚定的 UX 文案、诚实的进度与同意文案、维护信任的产品行为。
- 错误恢复参考:安全相关失败之后会发生什么。
具体覆盖的安全 UX 维度包括:
- 身份验证:登录表单保持精简;提供显示/隐藏密码切换;失败时不清空邮箱;在不利于账户枚举攻击的前提下区分“邮箱未找到”与“密码错误”;对失败尝试限流并给出明确的冷却提示。MFA 方面:提供多种方式(TOTP 应用、短信、硬件密钥、备用码);默认使用用户已设置的最安全方式;提供清晰的设置说明与可视化引导;允许为设备命名;在设置时展示恢复码并提示保存;不要让 MFA 显得像惩罚。会话管理:在设置中展示活跃会话的设备与位置信息;允许撤销单个会话;对来自陌生设备或位置的登录进行通知;谨慎使用“记住此设备”并解释其含义。
- 密码 UX:最小长度(12 位以上)比复杂度规则更重要;解释原因;输入时实时显示强度而非失焦后才显示;允许口令短语;长度足够时不强制字符混合;不随意强制密码过期。创建指导:建议生成密码或口令短语;在用户输入前展示要求;用内联验证而非提交后弹窗。
- 信任标识:在敏感字段附近显示锁图标;在相关处展示安全认证;使用 HTTPS;用平实语言解释加密。透明度:在索取数据前说明采集内容与原因;在同意复选框附近显示隐私政策链接;用平实语言而非企业术语;允许用户查看与导出数据。
- 账户恢复:提供多种恢复方式(邮箱、电话、备用码、可信联系人);恢复前验证身份;启动恢复时向现有联系方式发送通知;恢复链接与验证码限时;恢复后敏感操作需重新认证;分步引导并说明每一步;某方式失败时给出替代方案;不要让用户陷入“恢复需要已丢失物品”的死循环。
- 泄露与异常通知:账户可能受损时及时通知;具体说明发生了什么、哪些数据受影响;给出明确即时操作;不要把泄露通知埋在营销邮件中。异常告警:通知异常登录尝试并附设备与位置;允许在通知中直接批准或阻止;提供“这是我”/“这不是我”的选择;避免过多误报导致用户麻木。
- 同意与权限:用平实语言说明同意内容;渐进式披露;分离不同目的的同意;允许像给予一样轻松地撤销同意;不要预勾选同意框。
- 无障碍:MFA 输入框要大且便于移动端输入;为 TOTP 提供可视与屏幕阅读器可读的剩余时间;用 aria-live 播报安全告警;信任标识不能只靠颜色;恢复流程完全支持键盘操作。
使用方式
用户以 /security-ux 启动该工作流。技能激活后需加载 $frontend-design,其中包含设计原则、反模式与 Context Gathering Protocol;需先遵循该协议,若尚无设计上下文则必须先加载 $setup。此外需收集:产品面临什么威胁模型、已实现了哪些安全功能、用户当前在哪些安全环节感到困惑或焦虑。
适用场景
适用于登录、MFA、会话管理、密码创建、账户恢复、泄露与异常通知、权限与同意等安全界面设计,以及需要对现有安全 UX 做质量核验的场景。
限制与反模式
技能列举了应避免的反模式:安全表演(在非敏感页面放置无实际保护作用的锁图标)、随意的密码复杂度要求、因泄露而责备用户、隐藏安全设置、虚假紧迫感、无恢复路径、术语堆砌的安全文案、静默泄露、预勾选的同意框、不一致的安全姿态(强 MFA 但弱密码恢复可绕过)。发布前的核验清单包括:登录流程精简且宽容、MFA 设置清晰且提供多种方式、密码要求优先长度、信任标识诚实具体、恢复路径安全可达、泄露与异常通知及时可操作、同意知情且可撤销、安全文案使用平实语言、告警具体但不泛滥、界面让用户感到安全与掌控。
关于具体实现细节、集成方式、支持的平台、收费或价格信息,资料中暂未提供。