Add Android forensics, IOC threat-intel DB, Compose companion; scrub secrets from configs

This commit is contained in:
SsSnake
2026-07-13 15:45:47 -07:00
parent 925216290f
commit e48d577bd5
387 changed files with 211976 additions and 921 deletions

View File

@@ -76,6 +76,49 @@ def get_data_dir() -> Path:
return d
def get_user_data_dir() -> Path:
"""Return the platform-specific user data directory.
Created as a hidden folder on first call.
Windows: %APPDATA%/Autarch/
Linux: ~/.autarch/
macOS: ~/Library/Application Support/Autarch/
"""
system = platform.system()
if system == 'Windows':
base = os.environ.get('APPDATA', '')
if base:
d = Path(base) / 'Autarch'
else:
d = Path.home() / 'AppData' / 'Roaming' / 'Autarch'
elif system == 'Darwin':
d = Path.home() / 'Library' / 'Application Support' / 'Autarch'
else:
# Linux and others - hidden dotfolder in home
d = Path.home() / '.autarch'
d.mkdir(parents=True, exist_ok=True)
return d
def get_keystore_path() -> Path:
"""Return the path to the encrypted keystore file.
Stored in the user data directory, separate from the app install."""
return get_user_data_dir() / 'keystore.xml'
def get_user_profile_path() -> Path:
"""Return the path to the user profile file."""
return get_user_data_dir() / 'profile.json'
def get_user_sessions_dir() -> Path:
"""Return the directory for user session data (chat history, agent memory)."""
d = get_user_data_dir() / 'sessions'
d.mkdir(parents=True, exist_ok=True)
return d
def get_config_path() -> Path:
"""Return config path. Writable copy lives next to the exe;
falls back to the bundled default if the writable copy doesn't exist yet."""