Every folder the Outpost creates on the machine, what is in it, and which of them hold content from your documents.
The System tab shows two paths — the configuration file and the data folder. This page is the complete list behind them: for an uninstall that leaves nothing behind, and for the questionnaire that asks where document content sits on this machine.
The System tab is authoritative
During automatic migration, an existing installation may still use an old
meinGPT Vault path. For backup, diagnostics, and removal, use the data
folder shown under System → Files & folders instead of guessing it.
A fresh installation creates one folder in the profile of the account running the Outpost:
System
Path
Windows
%LOCALAPPDATA%\meinGPT Outpost — without that variable, %USERPROFILE%\AppData\Local\meinGPT Outpost
macOS
~/Library/Application Support/meinGPT Outpost
Linux
$XDG_DATA_HOME/meingpt-outpost — without that variable, ~/.local/share/meingpt-outpost
If a machine-wide data folder already exists — %PROGRAMDATA%\meinGPT Outpost on Windows, /Library/Application Support/meinGPT Outpost on macOS, or /var/lib/meingpt-outpost on Linux, for example because an installer created it — the Outpost automatically uses that folder instead of the one in the user profile. It never creates the machine-wide folder itself; it only uses it when it is already present. An absolute path in MEINGPT_OUTPOST_APP_DATA_DIR overrides both. The path shown on the System tab remains authoritative.
Everything the Outpost keeps permanently lives under it:
Entry
What is in it
data/outpost.sqlite
The authoritative typed state and metadata: pairing, sources, services, settings, documents and runs — including the vault secret and configured service credentials. Its WAL/SHM files may sit beside it while running.
app_config.yaml
A generated, read-only and redacted diagnostic image. No runtime reads it.
data/vectors.sqlite
The vector and full-text index. It contains indexed chunks of the extracted text of your documents. WAL/SHM files may sit beside it while running.
data/pools/<pool-id>/text/
Extracted text retained for local full-text search; the tree mirrors relative source paths.
logs/
outpost-core.log and main-process.jsonl; older rotations may end in .1. Unfiltered — file names and paths from your sources can appear in them.
logs/crash-dumps/
Crash reports of the application process. They are not uploaded anywhere.
runtime/
Runtime files retained for the Bridge transition, including tokens in clear text.
diagnostics/
Bundles created automatically or with --collect-diagnostics. A manual export from the application window is instead saved to the location selected in the dialog.
The Outpost creates two per-user directories. The one above is its own. The second belongs to the application platform the window runs on: it creates its own profile directory, and the Outpost does not move it.
It therefore carries a different name — the technical package name, not the product name:
It holds the browser state of the application window — Cache, Code Cache, GPUCache, Local Storage, Session Storage, Preferences, Network Persistent State. No documents, no index, no credentials for your sources. Anyone who wants a clean machine after an uninstall still has to know about it: otherwise it stays behind.
When cleaning up, take both folders
meinGPT Outpostand@meingpt sit under the same parent directory, but
not next to each other in an alphabetical listing. If you search only for
"MeinGPT", you miss the second one.
The update cache. The downloaded installer for a pending update does not land in the data folder but in the user's cache directory — Windows %LOCALAPPDATA%, macOS ~/Library/Caches, Linux ~/.cache. The subfolder is named by updaterCacheDirName in the shipped app-update.yml in the installation directory. It contains only our signed installer files, nothing from your sources.
Before every update the Outpost stages one rollback slot under update-rollback/, so a failed update can undo itself. It contains:
a complete copy of the previous application,
copies of data/outpost.sqlite and data/vectors.sqlite, including any -wal and -shm files,
the state of the operation.
Only one slot is ever kept: the previous one is deleted once the new one is completely written. Plan for the space anyway — application plus database, once more.
Unpairing does not immediately clear an active rollback slot: removing it while the update watchdog is running could destroy the recovery it exists to provide. Completed and cancelled slots are cleaned at the next start or shortly after the new version is accepted. While the slot exists, it contains a second, user-only copy of the index data.
Remove the application itself first: on Windows through Apps & features, on macOS by dragging MeinGPT Outpost out of the Applications folder into the Trash, on Linux by deleting the AppImage file. Then delete by hand:
the data folder shown under System (meinGPT Outpost, or meingpt-outpost, on a fresh installation),
the platform profile directory (@meingpt),
the update cache,
on a migrated legacy installation, any remaining meinGPT Vault, meingpt-vault, @meingpt/vault-desktop, and ~/.datavault/sharepoint_cache directories.
Unpair in MeinGPT first — otherwise an access grant stays behind that nobody operates any more. Unpairing now also removes the tokens in runtime/; they used to be left behind and stayed valid. Nothing irrecoverable is lost: the index is rebuilt by pairing and one full indexing run, and the originals are untouched. Just write down first which folders were shared and at which level — that only exists on this machine.
The diagnostics bundle contains file paths, file names, error messages and search queries from your operation, plus system details, the configuration, the recovery state, a safe service report in services.json, and the last 512 KiB of each log file. For databases, that report contains the engine, the access level and the failure cause — but neither the password nor the connection URL. What is removed are secrets — device keys, tokens, passwords, API keys — not content: document files and document content are not collected, but a document's name and path, and the text somebody searched for, are in there.
That is deliberate: without paths and error messages a support case cannot be resolved. It also means you should treat the ZIP like a log excerpt — look inside and review it under your own policy before you send it.