| Settings organized by internal team or service names | Users can't map goal → category | Group by user mental model; validate with card sorting |
| Delete account only via support email or chat | Roach motel; GDPR and App Store violations | Self-serve deletion behind the three gates |
| "Are you sure?" as the only guard on irreversible delete | Habitual click-through; guaranteed accidents | Consequences + type-to-confirm for irreversible acts |
| Type-to-confirm on every minor delete | Trains users to autopilot the ritual | Reserve heavy friction for truly irreversible actions |
| Instant email swap on submit | Account takeover via one stolen session | Verify new address + notify old address |
| Destructive button as dialog default / Enter-triggered | One keystroke destroys data | Safe action gets default focus |
| Mixed auto-save and Save-button on one page | User can't tell what's applied | One persistence model per section |
| Settings search matching labels only | "dark mode" misses "Theme" | Index synonyms and descriptions |
| Offering deletion but burying export | Data-hostage optics; legal risk | Surface export inside the deletion flow |
| No email on password/email/2FA change | Silent account takeover | Security event notifications, always |
| Danger zone rows mixed into the general list | Accidental adjacency clicks | Segregated, styled, bottom-placed zone |
| Fake deletion (account silently reactivatable forever) | Trust and legal exposure | State the real policy: grace window or permanent |
| Unsaved changes silently discarded on navigation | Lost work; users distrust every form | Dirty-state guard with save/discard choice |
| Master notification toggle only | Users kill all email to stop one type | Event-type × channel matrix |
| Plan-gated settings hidden entirely | Users conclude the feature doesn't exist | Visible, disabled, with the reason and an upgrade link |
| Username change with silent link breakage | Every old profile link 404s | Warn on change + temporary redirects |
| Recovery codes shown without a save-confirm | Locked-out users at the worst moment | Download/copy buttons + "I've saved these" gate |
| Sensitive changes without re-auth | One stolen session owns the account | Sudo mode: fresh auth for security-critical pages |
| Workspace delete confused with account delete | Users destroy the wrong thing | Separate flows; name the exact object and its counts |
| Every change triggers a confirmation email | Users tune out real security alerts | Email only for identity/payment/security changes |