src/components/settings/DataPrivacySection.tsx reads and clears exactly three localStorage keys — 'cl:preferences', 'cl:watchlist', 'cl:drafts' (lines 43, 52, 61, and the clear action at line 103) — but a repo-wide search shows these three keys are referenced nowhere else in src/; nothing in the app ever writes to them. Meanwhile, the actual locally-persisted user data lives under entirely different keys: the create-wizard draft is stored at 'commitlabs-create-draft' (src/hooks/useDraftPersistence.ts), the guided-tour-seen flag at 'commitlabs:seen-wizard-tour' (src/hooks/useGuidedTour.ts), export preferences at 'commitlabs.exportPreferences', recently-viewed marketplace listings and compare-tray selections under their own useRecentlyViewed/useCompareListings keys, etc. As a result, this settings panel's "Export My Data" button always produces a JSON file with empty preferences: {}, watchlist: [], drafts: [] regardless of what's actually stored, and "Clear local data" silently no-ops on the user's real data (draft, tour state, recently viewed) while giving them a success confirmation — a privacy-feature bug where the control does nothing meaningful. Acceptance criteria: point this component at the actual storage keys used by the rest of the app (or centralize the key names in one shared constants module to prevent this drift), and add a test asserting export/clear operate on real, populated data written by another part of the app.
src/components/settings/DataPrivacySection.tsx reads and clears exactly three localStorage keys —
'cl:preferences','cl:watchlist','cl:drafts'(lines 43, 52, 61, and the clear action at line 103) — but a repo-wide search shows these three keys are referenced nowhere else insrc/; nothing in the app ever writes to them. Meanwhile, the actual locally-persisted user data lives under entirely different keys: the create-wizard draft is stored at'commitlabs-create-draft'(src/hooks/useDraftPersistence.ts), the guided-tour-seen flag at'commitlabs:seen-wizard-tour'(src/hooks/useGuidedTour.ts), export preferences at'commitlabs.exportPreferences', recently-viewed marketplace listings and compare-tray selections under their ownuseRecentlyViewed/useCompareListingskeys, etc. As a result, this settings panel's "Export My Data" button always produces a JSON file with emptypreferences: {},watchlist: [],drafts: []regardless of what's actually stored, and "Clear local data" silently no-ops on the user's real data (draft, tour state, recently viewed) while giving them a success confirmation — a privacy-feature bug where the control does nothing meaningful. Acceptance criteria: point this component at the actual storage keys used by the rest of the app (or centralize the key names in one shared constants module to prevent this drift), and add a test asserting export/clear operate on real, populated data written by another part of the app.