Portable Account Browser uses a launcher-and-profile architecture.
app.py— application entry pointepb/ui.py— compact Tkinter desktop interfaceepb/database.py— SQLite profile metadataepb/browser.py— Chromium discovery and profile launchingepb/process_control.py— safe browser lifecycle controlepb/providers.py— service catalogue and HTTPS start URLsepb/diagnostics.py— portable-root, database, runtime, and path checksscripts/— development, build, signing, and release-verification tools
Every configured account receives its own Chromium user-data-dir. Browser
storage is therefore separated at the profile-directory level.
App-managed paths are resolved relative to the launcher root:
data/profilesdata/downloadsdata/logsdata/tempruntime/chromium
PyInstaller onedir packaging is used so dependencies remain inspectable and
the application does not need to extract itself into a temporary directory on
every launch.
The public build creates empty writable data directories and rejects personal browser data. Personal builds must never be published.