{"schemaVersion":"1.0","generatedAt":"2026-09-22","personalSchemaVersion":1,"storage":{"scope":"browser-local","api":"localStorage","key":"smellbook.personal.v1","serverUpload":false,"cloudSync":false,"accountRequired":false,"cookieRequired":false},"record":{"version":{"type":"integer","value":1},"updatedAt":{"type":"string|null","format":"ISO timestamp when browser state is written"},"smells":{"type":"object","key":"canonical smell slug","maximumEntries":500,"fields":{"saved":{"type":"boolean"},"preference":{"type":"enum","values":["like","neutral","dislike"]},"note":{"type":"string","maximumLength":500},"tags":{"type":"array<string>","maximumItems":12,"maximumItemLength":40}}},"collections":{"type":"array","maximumItems":50,"fields":{"id":{"type":"string","maximumLength":100},"name":{"type":"string","maximumLength":80},"smellSlugs":{"type":"array<canonical-ish slug>","maximumItems":500}}}},"operations":{"export":"User-triggered JSON file generated in the browser.","import":"User-selected JSON file parsed and normalized in the browser.","clear":"User-triggered removal of the single browser-local storage record."},"semantics":{"explicitState":"Saved state, preference, notes, tags and collection membership come from explicit user actions.","noInference":"The local personal layer does not infer health, identity, personality, diagnosis, protected traits or a hidden sensory type.","noRecommendationScore":"Descriptor counts and local map views are transparent summaries of explicit state, not recommendation scores.","publicRelationBoundary":"My Local Map reuses public unweighted SmellBook relations between selected smells; it does not construct a private personal graph."},"portability":{"format":"JSON","filename":"smellbook-personal.json","forwardCompatibility":"Imports are normalized to the current local schema. Unknown/malformed fields may be ignored or bounded."}}