All documentation
Getting started/04

Settings and backups

Free

Keep preferences portable and recoverable.

FenSight settings are a per-Windows-user configuration layer: the tabbed Settings window edits preferences, the FTP Upload and Path workflows add persistent delivery mappings, and the backup tools copy the live JSON settings file for recovery or transfer. The Settings window and backup tools are Free; rows below mark paid feature settings where the setting controls a paid capability.

Screenshot coming soon

FenSight Settings window open to the General tab with Settings Backup controls

Screenshot placeholder. Expected production asset: /docs/screenshots/settings-and-backups.png.

Settings and backup access paths

Toolbar

Settings

The gear button in the top toolbar opens the Settings window. The window tabs are Indexing, General, Appearance, Performance, Integrations, AI Search, and Licensing.

Toolbar

Settings -> General -> Settings Backup -> Export Settings...

Saves a JSON backup, default filename fensight-settings.json, after first committing the current Settings UI values.

Toolbar

Settings -> General -> Settings Backup -> Import Settings...

Loads a previously exported JSON file after validation and confirmation, then closes the Settings window.

Toolbar

Settings -> General -> Settings Backup -> Open Settings Folder

Opens the folder that contains FenSight's live settings.json file.

Toolbar

Settings -> Performance -> Cache -> Clear generated cache

Deletes generated thumbnail/cache artifacts under the configured cache root while leaving the AI index/enrichment store intact.

Toolbar

Settings -> Indexing -> Open index folder / Open log / Clear index

Opens or resets index-side storage. In the current build, Clear index deletes index-store.json and thumb-misses.json; if index-store.sqlite already exists, IndexStoreFactory still opens the SQLite store until that file is removed separately.

Menu

Tools -> Path / Destinations...

Opens the Path dock, where Path IDs can be assigned to the current selection and ID-to-folder mappings are stored in AppSettings.Destinations.

Menu

Tools -> FTP Upload...

Remote upload settings are not a Settings-window tab; they live in the FTP Upload dock and persist through AppSettings.

Menu

Tools -> Watched folders...

Watched folder definitions are persisted in AppSettings, but the active manager is the Tools menu workflow. Watched folders are a paid feature.

Persistence model

The Settings window edits the in-memory AppSettings object that MainWindow loaded at startup. Save Settings commits the current controls to disk without closing the window and calls the runtime apply hook. OK saves and closes. Closing the window with the Cancel button or window close button still saves the current UI values through the Closing handler; the label does not mean rollback in the current build.

  • Live settings are stored at %AppData%\FenSight\settings.json.
  • The old %AppData%\ImageMap\settings.json path is migrated once when the FenSight settings file does not exist.
  • Settings writes use settings.json.tmp, then replace settings.json. Before replacement, a parseable existing settings file is sanitized and rotated to settings.json.bak.
  • If settings.json cannot be loaded, FenSight logs the failure, preserves corrupt JSON as settings.corrupt-yyyyMMdd-HHmmss.json when possible, tries settings.json.bak, and falls back to new AppSettings defaults only if both files fail.

Settings-window surfaces

These are the active top-level Settings surfaces. Dormant Chat controls exist in XAML but the containing panel is collapsed and the toolbar chat entry is hidden in current builds, so they are not documented as active settings here.

SurfaceActive controlsPersistence and tier note
IndexingFree
Enable internal indexing, Build all, Add root, Remove, Scan now, Rebuild, AI Enrich, Gen thumbs, root checkboxes, Add to board, Open index folder, Open log, Clear index, Stop, and activity-log Clear.IndexRoots and IndexingEnabled persist in settings.json. Added index roots also get minimal watched-folder coverage with BackgroundMonitor on, AutoAdd off, and AutoRemove off.
GeneralFree
Audio, import, navigation, help, and Settings Backup controls: Mute all media (videos and audio files), Volume, Audio output device, Accept all file types on drop (uses Shell thumbnail / file icon), Visualize audio files (waveform display), Zoom speed, Keyboard Shortcuts..., Export Settings..., Import Settings..., and Open Settings Folder.Audio volume and audio output device are applied live while the window is open. Import, navigation, and backup controls persist through AppSettings.
AppearanceFree
Overlay display, View, and Labels: Enable overlay, Text layout, Dimensions, File type, Filename, Path, Duration (video), Text size, Allow overlay to extend outside image bounds, sequence/video markers, play icon, duplicate outline, overlay colors, Always on top, Load last board on startup, relocation dialog suppression, Layout mode, relayout warning, zoom caps, cluster label size, and label colors.Most rows map directly to AppSettings display properties. Paid layout choices are visually de-emphasized without a paid license; this page defers exact layout tiering to Built-in Layouts.
PerformanceFree
Decoding, Rendering, Ingest, Memory, Cache, and Codec support controls: decode limits, preview loading, HDR output, GIF animation, sequence split gap, graphics mode, overlay warnings, layout redraw behavior, pack density, selection thickness, rendering detail, decode workers, ingest performance, watchdog/diagnostics, memory budget, cache folder and limits, Clear generated cache, and Re-check codecs.Runtime apply refreshes cache limits, Magick cache root, index search service, ingest pipeline, safe graphics policy, quality mode, overlays, labels, board surface, and HDR handling where supported.
IntegrationsFree
External agent exe, Scan, and Args template.ExternalAgentExe and ExternalAgentArgsTemplate persist in settings.json. Chat settings are not active because ChatSettingsPanel is collapsed in the current build.
AI SearchPro
Enable AI semantic search, Recommended setup, Use recommended settings, Optimize for this PC, AI Search mode, Local model, advanced vision/embedding providers, provider models, API keys, CLI commands, custom endpoints, and Estimated enrichment cost.The setting can be saved while unlicensed, but the availability message reports that AI Search is inactive until license status allows premium features.
LicensingFree
Status, Request code, Copy, Activate online, License key, reveal toggle, Activate, and Notes.License activation records and the stored license key use DPAPI-backed files outside settings.json. The release-build phone-home diagnostics row is hidden.
FTP Upload dockFree
Copy to clipboard, Write to file, Upload to remote, Destination folder, remote Mode, Endpoint, User/Key, Pass/Secret, Remote, Region, Passive, SSL/TLS, Remote paths, Assign, Add/Update, Remove, Remote preview, and Apply.This is opened from Tools -> FTP Upload..., not the Settings window. It persists DefaultExportFolder, RemoteUploadMode, FTP/S3 endpoint fields, and Path ID remote mappings through AppSettings; the password/secret is DPAPI-only.
Path dockFree
Path Preview, Path IDs, Assign, Unassign, ID, Folder, Browse, Add/Upd, and Remove.This is opened from the Tools -> Path / Destinations... menu item. It persists Destinations mappings in settings.json. Assigning or unassigning one selected item is free; batch Path ID assignment is a paid feature.

General and appearance settings

ControlDefault or choicesStored setting
Mute all media (videos and audio files)Free
Off by default.Persists as GlobalMute and silences video/audio playback.
VolumeFree
100% by default; slider stores 0.0-1.0 internally.Persists as AudioVolume and applies live through LiveVolumeChanged.
Audio output deviceFree
System default when empty.Persists PreferredAudioOutputDevice. The Settings note says device selection applies to audio file playback; videos use the system default audio device.
Accept all file types on drop (uses Shell thumbnail / file icon)Free
Off by default.Persists IngestAllFileTypes. Existing board items are not removed when the toggle is turned off.
Visualize audio files (waveform display)Free
Off by default.Persists VisualizeAudioFiles and changes generic audio representation on future imports.
Zoom speedFree
1x by default; clamped 0.25-6.0.Persists ZoomSpeed and updates the displayed value as the slider moves.
Enable overlayFree
Off by default.Persists OverlayEnabled and controls board metadata text overlays.
Text layoutFree
Vertical by default; choices are Vertical and Horizontal.Persists OverlayTextLayout.
Dimensions / File type / Filename / Path / Duration (video)Free
Defaults: Dimensions on, File type on, Filename on, Path off, Duration (video) on.Persist ShowDimensions, ShowFileType, ShowFilename, ShowPath, and ShowDuration.
Text sizeFree
11 by default; clamped 6-640.Persists OverlayTextSize.
Allow overlay to extend outside image boundsFree
Off by default.Persists OverlayAllowOverflow.
Show image sequence corner marker / Show video corner markerFree
Both on by default.Persist ShowSequenceCornerBadge and ShowVideoCornerBadge.
Show play icon on videosFree
On by default.Persists ShowVideoPlayIcon.
Highlight duplicate files (red outline)Free
On by default.Persists OutlineDuplicates.
Image text color / Video text colorFree
Defaults: "#FFFFFF" for image overlays and "#FFD65A5A" for video overlays.Persist ImageOverlayColor and VideoOverlayColor. Pick opens a color dialog.
Always on top (keep window above others)Free
Off by default.Persists AlwaysOnTop and is applied to the live window on settings apply.
Load last board on startupFree
Off by default.Persists AutoLoadLastBoard; LastBoardPath is updated by board save/open flows.
Suppress 'Files relocated during load' dialogFree
Off by default.Persists SuppressRelinkedItemsDialog.
Warn before re-layouting the entire boardFree
On by default.Persists ConfirmFullBoardRelayout.
Zoom out cap / Zoom in capFree
Defaults: MinZoom 0.002, MaxZoom 8.0. Zoom in cap is clamped 0.02-200.Persist MinZoom and MaxZoom.
Cluster label size / Text color / Background colorFree
Defaults: ClusterLabelTextSize 14.0, LabelTextColor "#FFFFFF", LabelBackgroundColor "#8C1E1E1E".Label colors apply to labels that do not have custom colors. Pick opens a color dialog.

Performance, cache, and indexing settings

ControlDefault or choicesStored setting or action
Auto-downscale large images / Max width/height (px)Free
On by default; max dimension defaults to 2048 and is clamped 256-16384.Persist LimitImageDecodeSize and MaxDecodeDimension.
Backfill thumbnails only when visibleFree
Off by default.Persists BackfillThumbsOnlyWhenVisible.
HDR canvas output (experimental)Free
Off by default.Persists HdrCanvasOutputEnabled and applies HDR canvas mode changes on settings apply.
Animate GIFs on boardFree
On by default.Persists AnimateGifs.
Low-res previews on load / Max pxFree
Off by default; max px defaults to 1200 and is clamped 64-4096.Persist LowResPreviewDuringLoad and LowResPreviewMaxDimension.
Sequence split gap (sec)Free
1.0 by default; UI save clamps 0.1-120.0.Persists SequenceSplitGapSeconds and controls where numbered image runs split into separate sequences.
Graphics modeFree
Choices: Normal (full streaming), Safe graphics (no streaming, slower), Safe graphics + LOD streaming (slower).Persists SafeGraphicsMode and AllowLodStreamingInSafeMode. Normal is the default.
Show overlay module warning on startupFree
On by default unless the warning was dismissed.UI is the inverse of OverlayWarningDismissed; unchecking suppresses the startup warning.
Skip overlay updates during re-layoutFree
Off by default.Persists PerfSkipOverlayDuringLayout.
Live canvas updates during interactionFree
Off by default.Persists SmoothInteractionUpdates; every-frame overlay, label, and badge updates can stall large or slow-storage boards.
Pack densityFree
1.0 by default; clamped 0.3-3.0.Persists PackDensity for auto layout packing.
Selection thickness / MaxFree
Defaults: base 8.0, max 15.0; clamped to 1-30 and 2-60.Persist BaseSelectionThickness and MaxSelectionThickness.
Rendering detailFree
1.0x by default; slider range 0.25-4.0.Persists RenderingDetailLevel and updates the board surface immediately.
Max parallel decodesFree
Defaults to the logical processor count, with a minimum of 2.UI save clamps MaxParallelDecodes to 1 through the current processor count.
Ingest performanceFree
Balanced by default; choices are Balanced, Maximum, and Quiet.Balanced uses about 60% of cores, Maximum uses all cores up to 64, and Quiet uses about a quarter of cores below normal priority.
Defer thumbnail loading on large boardsFree
On by default.Persists DeferThumbsOnLargeBoards. The tooltip notes video thumbnails always use the post-ingest backfill pass.
Aggressive video thumbnail backfillFree
On by default.Persists EagerVideoThumbnailBackfill.
Enable ingest watchdog / Write ingest diagnosticsFree
Both on by default.Persist IngestWatchdogEnabled and IngestDiagnostics. Open log creates/opens %TEMP%\fensight-ingest.log.
Keep thumbs in memory on high-RAM systemsFree
On by default.Persists KeepThumbsInMemoryOnHighRam.
Memory budget (GB)Free
0 by default, meaning use system behavior rather than a user cap.Persists ThumbnailMemoryBudgetGb.
Aggressive memory trim while panningFree
On by default.Persists TrimOffscreenBitmapsDuringPan.
Cache decoded board thumbnails on disk / Cache folderFree
Disk cache is on by default. A blank Cache folder uses %LocalAppData%\FenSight\Cache.Persist CacheBoardsOnDisk and BoardCacheFolder.
Also cache video/document thumbnailsFree
On by default.Persists CacheVideoAndDocumentThumbnails.
Size limit (GB) / Max age (days)Free
Defaults: 8 GB and 30 days. Size presets are 1 GB, 2 GB, 4 GB, 8 GB, 16 GB, 32 GB, 64 GB, and Custom.Persist CacheMaxSizeMb and CacheMaxAgeDays. Custom size is clamped 0.25-64 GB; age is clamped 1-365 days.
Clear generated cacheFree
Deletes generated media thumbnails, AI preview thumbnails, board-surface thumbnails, Magick scratch files, sequence cache, and delete-undo backups.AI index/enrichment data is not deleted. The cleanup is limited to generated paths under the configured cache root.
Re-check codecsFree
Tests whether the current Windows install can decode HEIC, AVIF, and JPEG-XL natively.Runs the same WIC decode probe used by the Codec support status panel and refreshes the displayed support rows.
Enable internal indexingFree
On by default.When off, index controls and the root list are disabled until re-enabled.
Build all / Scan now / Rebuild / Gen thumbsFree
Build all runs rebuild, thumbnail generation, and AI enrichment in sequence. Scan now processes changes; Rebuild rescans every checked root; Gen thumbs pre-generates thumbnails and LOD/cache coverage.These commands operate on checked index roots. Build all can hand off to the main window if Settings closes during the job.
AI EnrichPro
Generates captions and embeddings for unenriched visual files in checked roots.Requires AI Search to be enabled and licensed. Large external-provider batches can show a cost/token confirmation.

AI Search settings

AI Search configuration is persisted even when the current license cannot use it. The Settings availability text is the source of truth: AI Search preference is off, saved as enabled but inactive because of license status, or enabled and available.

ControlChoicesStored setting or behavior
AI Search modePro
Local AI (recommended) or Advanced providers.Local AI stores AiSemanticProvider as onnx and LocalAiModelId as clip-vit-b32. Advanced providers stores provider-specific vision and embedding settings.
Recommended setup / Use recommended settingsPro
Shows Local AI Search (CLIP ViT-B/32) and applies the local recommended setup.The local path is private, requires no API key, and is built for text-to-image AI Search.
Optimize for this PCPro
Checks hardware and suggests optional advanced local models.The tooltip says it does not change settings or download models.
Vision providerPro
OpenAI, Anthropic, Ollama (local), CLI / subprocess, or Custom endpoint.The selected row controls which provider-specific fields are visible. External provider consent is required before saving/running settings that send data outside the local ONNX path.
OpenAI vision and embedding modelsPro
Vision presets: gpt-4o-mini, gpt-4o, gpt-4.1-mini, gpt-4.1, gpt-4-turbo. Embedding presets: text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002.Defaults are gpt-4o-mini and text-embedding-3-small. The AI Search rows say they use the OpenAI API key from Integrations, but the only OpenAI key entry control is inside the collapsed ChatSettingsPanel in the current build; existing or migrated OpenAiApiKey values are still stored through DPAPI.
Anthropic visionPro
Anthropic API key plus model presets claude-haiku-4-5-20251001, claude-sonnet-4-6, claude-opus-4-7, claude-3-5-haiku-20241022, claude-3-5-sonnet-20241022, and claude-3-haiku-20240307.Anthropic is available for vision/captioning only; the UI hint notes Anthropic has no embedding API.
Ollama (local)Pro
Ollama base URL defaults to http://localhost:11434. Vision presets include llama3.2-vision:11b, llama3.2-vision:90b, gemma3n:e2b, gemma3n:e4b, gemma3:12b, qwen2.5-vl:7b, qwen2.5-vl:32b, minicpm-v:2.6, phi4-vision:14b, moondream, llava-phi3, minicpm-v, qwen2-vl:7b, llava, llava:13b, and bakllava.Embedding presets are nomic-embed-text, mxbai-embed-large, bge-large, all-minilm, and snowflake-arctic-embed.
CLI / subprocessPro
Vision CLI tools are Claude CLI, Python script, or Custom / other. Embedding CLI tools are Ollama embed, Python script, or Custom / other.Structured mode builds commands such as claude -p with {imagePath}, python script invocations, or ollama embed with {text}; Advanced makes the Command field directly editable.
Custom endpointPro
Vision Endpoint URL, Model, and API key (optional); embedding Endpoint URL and Model.Compatible endpoint text names OpenRouter, LiteLLM, Azure OpenAI, LM Studio, and Jan.ai. The embedding custom endpoint uses the custom API key from the vision custom panel.
Estimated enrichment costPro
Displays dynamic cost estimates after an index exists.Cost and confirmation logic use AiCostEstimator; Settings does not hardcode provider rates in the UI handler.

Backup, import, and export actions

ActionUser-facing behaviorTechnical behavior
Export Settings...Free
Opens a SaveFileDialog titled Export Settings with filter JSON files (*.json)|*.json and default filename fensight-settings.json.First calls SaveSettingsFromUi with external-AI consent required, then copies %AppData%\FenSight\settings.json to the selected file.
Import Settings...Free
Opens an OpenFileDialog titled Import Settings, validates JSON, asks Importing will replace your current settings. Continue?, then reports Settings imported successfully.Rejects JSON that is not an object or lacks all three sentinel properties: LayoutMode, OverlayEnabled, and ZoomSpeed. A file with any one of those sentinel properties passes this validation step. Applies AppSettings post-load fixups, copies non-JsonIgnore properties into the live settings object, saves, skips stale UI commit on close, and closes with DialogResult true.
Open Settings FolderFree
Opens the folder containing the live settings file in Explorer.Uses Path.GetDirectoryName(AppSettings.SettingsPath).
Save SettingsFree
Commits the current Settings controls without closing and displays Settings saved at h:mm tt.Calls SaveSettingsFromUi with runtime apply notification and external-AI consent required.
OKFree
Saves and closes.Calls SaveSettingsFromUi with external-AI consent required, then sets DialogResult true.
Cancel / window closeFree
Closes the Settings window, but does not roll back already edited controls in the current build.The Closing handler saves UI values with notifyApplied true and external-AI consent not required unless Import Settings just ran.

What a settings backup includes

AreaIncluded in exported JSONNot included / caveat
General preferencesFree
Audio, import behavior, zoom speed, overlay choices, window behavior, layout preference, label colors, relayout warnings, and update-check preference.These are ordinary AppSettings JSON properties.
Performance and cache preferencesFree
Decode caps, ingest mode, graphics mode, rendering detail, cache folder, cache size/age, memory budget, and generated-cache toggles.Generated cache files themselves are not included; only preferences and paths are included.
Index roots and watched foldersFree
IndexRoots and WatchedFolders settings are included, including paths and watcher behavior objects.The index database, preview cache, and AI enrichment records are stored under the cache root and are not copied by Export Settings.
Destinations and remote mappingsFree
DefaultExportFolder, Destinations, FtpDestinations, RemoteUploadMode, host/endpoint, port, username/access key, remote folder/prefix, passive/SSL, and S3Region.Destinations are managed from the Tools -> Path / Destinations... menu item. FtpDestinations and remote fields are managed from the Tools -> FTP Upload... menu item. FtpPassword / S3 secret is JsonIgnore and stored in DPAPI, not in exported settings.
AI configurationPro
AI Search enabled flag, semantic provider, local model id, provider choices, model names, local URLs, CLI tool/script/command settings, custom endpoints, and external-AI consent metadata.OpenAI, Anthropic, and custom API keys are JsonIgnore and stored in DPAPI, not in exported settings.
Dock layout and UI stateFree
Dock widths, tag dock collapse state, path dock heights, onboarding/tutorial flags, recent boards, and custom visualizer profiles.Source media, board files, board locks, and generated board previews are not copied by Export Settings.
License and trial recordsFree
Not included.The Settings Backup text explicitly says License keys are not included. License/trial data lives in DPAPI-backed files under Fennok\FenSight paths.

Storage paths

PathContentsRecovery or cleanup behavior
%AppData%\FenSight\settings.jsonFree
Primary per-user settings file.Opened by Open Settings Folder; exported by Export Settings.
%AppData%\FenSight\settings.json.bakFree
Last-known-good settings backup.Created from the previous parseable settings file before save and sanitized to remove plaintext secret property names.
%AppData%\FenSight\log.txtFree
Settings load failure and .bak recovery log.Load failures append exception details; successful .bak recovery appends AppSettings.Load recovered from settings.json.bak.
%AppData%\FenSight\settings.corrupt-yyyyMMdd-HHmmss.jsonFree
Preserved corrupt settings JSON when a read/deserialize fails.Created only when FenSight has the corrupt JSON text and can write the preservation file.
%LocalAppData%\FenSight\CacheFree
Default generated cache root.Used when BoardCacheFolder is blank. Settings -> Performance -> Cache can point to a custom root instead.
<cache root>\index\index-store.json / index-store.sqliteFree
Index records, AI captions, tags, and embeddings.IndexStoreFactory opens index-store.sqlite directly when it exists. Otherwise it opens JSON below 25,000 records and migrates to index-store.sqlite at or above that threshold, moving the JSON file to .bak when migration succeeds. Settings -> Indexing -> Clear index currently deletes index-store.json, not an existing SQLite database.
<cache root>\index-previews\preview-cache.jsonFree
AI/search preview thumbnail cache index plus preview files.Gen thumbs writes here through PreviewCache. Clear generated cache removes index-previews but does not clear the AI index store.
<cache root>\media\cache.jsonFree
Board media cache metadata for video/document thumbnails and LOD tiers.Clear generated cache removes the media generated-cache directory.
<cache root>\sequence-detection-cache.jsonFree
Per-directory image-sequence detection results.Clear generated cache deletes this file.
<cache root>\previews-512, board-surface-thumbs, magick-temp, undo-backupsFree
Generated pre-rendered previews, surface thumbnails, ImageMagick scratch files, and delete-undo backups.Clear generated cache removes these generated directories under the cache root.
%TEMP%\fensight-index.log and %TEMP%\fensight-ingest.logFree
Index and ingest diagnostic logs opened from Settings.Open log creates the file if missing, then opens it with the default shell association.

Secret and license storage

Secret values are JsonIgnore in AppSettings and are stored through DpapiStore with SecretScope.CurrentUser unless noted. The encrypted files are machine/user-bound by Windows DPAPI, not portable backup content.

SecretFileScope and migration
OpenAI API keyPro
%AppData%\FenSight\ai_openai_key.datLoaded into OpenAiApiKey through DPAPI CurrentUser. Legacy plaintext OpenAiApiKey in live settings JSON is migrated to this file and removed from JSON on load.
Anthropic API keyPro
%AppData%\FenSight\ai_anthropic_key.datLoaded into AnthropicApiKey through DPAPI CurrentUser. Legacy plaintext AnthropicApiKey in live settings JSON is migrated and sanitized on load.
Custom AI API keyPro
%AppData%\FenSight\ai_custom_key.datLoaded into CustomAiApiKey through DPAPI CurrentUser. Used by custom vision and embedding endpoint settings.
FTP password / S3 secret keyFree
%AppData%\FenSight\remote_upload_secret.datLoaded into FtpPassword through DPAPI CurrentUser. The FTP Upload dock uses the same field for FTP password and S3 secret key.
Stored license keyFree
%AppData%\Fennok\FenSight\license_key_user.datStored through LicensingService.StoreLicenseKey after activation; bound to the current user SID hash and machine hash.
Activation, trial, phone-home, and revocation recordsFree
%AppData%\Fennok\FenSight\license_user.dat, trial_user.dat, license_phone_home_user.dat, and license_revoked_user.dat.User-scoped DPAPI records. Trial is 7 days. Phone-home diagnostics are only visible in debug builds.
Machine activation indexFree
%ProgramData%\Fennok\FenSight\license_machine.datMachine-scoped DPAPI record using SecretScope.Machine, shared across users on the machine.

Recovery, defaults, and fixups

ConditionResultSource behavior
No settings fileFree
FenSight starts with new AppSettings defaults.Important defaults include GlobalMute false, AudioVolume 1.0, OverlayEnabled false, MagnifyingGlassEnabled true, LayoutMode Radial Tight, CacheBoardsOnDisk true, BoardCacheFolder blank, IngestPerformanceMode Balanced, CacheMaxSizeMb 8192, CacheMaxAgeDays 30, AiSearchEnabled true, AiSemanticProvider onnx, LocalAiModelId clip-vit-b32, CheckForUpdatesOnLaunch true, AlwaysOnTop false, and AutoLoadLastBoard false.
Legacy settings path existsFree
Copies %AppData%\ImageMap\settings.json to the FenSight settings path and deletes the legacy file.This only runs when %AppData%\FenSight\settings.json does not already exist.
Missing or stale fieldsFree
Post-load fixups normalize nullable lists, provider defaults, custom cluster fields, visualizer profile lists, and AI provider settings.ApplyPostLoadFixups also clamps custom-cluster spacing, maps legacy Alphabetical heuristic to Sort by Name, forces virtualized board surface/input on, resets ShowBoardPerfOverlay false, and marks OnboardingCompleted true.
Plaintext secret properties in live JSONFree
Migrates OpenAiApiKey, AnthropicApiKey, CustomAiApiKey, and FtpPassword to DPAPI files.After migration, settings.json and settings.json.bak are rewritten without those property names.
Importing a backup with secret fieldsFree
Does not restore those secrets through Import Settings.Import Settings deserializes AppSettings, but JsonIgnore properties are skipped and CopyFrom intentionally skips JsonIgnore properties. Re-enter API keys, remote password/secret, and license key on the target Windows user if needed.
Corrupt settings.jsonFree
Attempts recovery from settings.json.bak before defaulting.Load logs the failure to log.txt, preserves corrupt JSON when possible, then tries the last-known-good backup.

Settings Backup is a preferences transfer, not a full workspace backup. It does not copy .fns board files, source media, generated thumbnails, AI index stores, DPAPI secrets, trial/license records, or remote credentials.

Remote upload settings are configured in the FTP Upload dock, not in the Settings dialog. Their non-secret fields are still part of settings.json and therefore part of Export Settings.

Connected guides

Follow these related pages when the workflow crosses into setup, search, organization, export, security, or another board-level system.