Skip to content

Latest commit

 

History

History
141 lines (104 loc) · 4.5 KB

File metadata and controls

141 lines (104 loc) · 4.5 KB

Configuration and Data Storage

AiteProfiles stores user data and configuration in specific locations on the file system. All data is stored locally and never transmitted over the network.

Data Storage Locations

Application Data Directory

%APPDATA%\Codebdbdb\AiteProfiles\

This is the primary storage location for all application data. The path expands to something like:

C:\Users\[Username]\AppData\Roaming\Codebdbdb\AiteProfiles\

User Data Files

Favorites Storage

  • File: favorites.json
  • Format: JSON array of favorite profile identifiers
  • Purpose: Stores which profiles the user has marked as favorites
  • Persistence: Automatically saved when favorites change

Profile Cache

  • File: profiles_cache.json
  • Format: JSON object containing cached profile information
  • Purpose: Speeds up application startup by caching profile metadata
  • Persistence: Updated after each profile scan

API Token (Fallback)

  • File: api_token.txt
  • Format: Plain text containing the API token
  • Purpose: Fallback storage when Windows Credential Manager is unavailable
  • Persistence: Created on first run, persists between sessions

Log File

  • File: app.log
  • Format: Plain text log entries
  • Purpose: Records application events and errors for debugging
  • Persistence: Rotated periodically, retains recent entries

Windows Credential Manager

The preferred storage location for the API token is Windows Credential Manager:

  • Target Name: Codebdbdb.AiteProfiles.ApiToken
  • Type: Generic credential
  • Protection: OS-level encryption and access control

When Credential Manager is available, the token file is not used. If Credential Manager becomes unavailable, the application will fall back to the plain-text file.

Chrome Profile Detection

The application automatically detects Chrome profiles by scanning:

%LOCALAPPDATA%\Google\Chrome\User Data\

This typically resolves to:

C:\Users\[Username]\AppData\Local\Google\Chrome\User Data\

The application reads profile information from:

  • Local State file in the User Data directory
  • Preferences file in each profile directory
  • SQLite databases for bookmarks and passwords (read-only)

Configuration Values

HTTP Port

  • Default: 28282
  • Location: Hardcoded in AppConfig.cs
  • Change Method: Requires recompilation

Global Hotkey

  • Key: Ctrl+Shift+4
  • Location: Hardcoded in AppConfig.cs
  • Change Method: Requires recompilation

Window Geometry

  • Storage: Windows Runtime LocalSettings
  • Keys: window/geometry/x, window/geometry/y, window/geometry/w, window/geometry/h
  • Purpose: Remembers window position and size between sessions

Snippet Storage

Quick link snippets are stored in:

%APPDATA%\Codebdbdb\AiteProfiles\snippets.json
  • Format: JSON array of snippet objects
  • Purpose: Stores user-defined quick links
  • Persistence: Automatically saved when snippets change

Dependencies

Chrome Installation

The application expects Chrome to be installed in one of these locations:

  1. %PROGRAMFILES%\Google\Chrome\Application\chrome.exe
  2. %PROGRAMFILES(X86)%\Google\Chrome\Application\chrome.exe
  3. %LOCALAPPDATA%\Google\Chrome\Application\chrome.exe

If Chrome is installed elsewhere, the application will not detect it and will show an error on startup.

Windows Requirements

  • Windows 10 Build 19041 or later
  • Windows 11 (fully supported)
  • .NET 8.0 Runtime (included in self-contained builds)

Required Windows Features

  • Windows Credential Manager service (for secure token storage)
  • System tray support (for tray icon)
  • Global hotkey registration (for Ctrl+Shift+4 shortcut)

Environment Variables

The application respects these environment variables:

  • APPDATA: Determines the location of Roaming AppData
  • LOCALAPPDATA: Determines the location of Local AppData
  • PROGRAMFILES: Used to locate Chrome installation
  • PROGRAMFILES(X86): Used to locate 32-bit Chrome on 64-bit systems

These variables are typically set by Windows and should not require manual configuration.

File Permissions

The application requires read access to:

  • Chrome user data directories
  • Its own application data directory

The application requires read/write access to:

  • Its own application data directory for configuration files
  • Windows Credential Manager (via Windows APIs)

No special administrator privileges are required for normal operation.

Source of truth

  • src/Core/Configuration/AppConfig.cs