Where the Outpost stores data
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.
The data folder
A fresh installation creates one data folder:
| System | Path |
|---|---|
| Windows | %PROGRAMDATA%\meinGPT Outpost — machine-wide; the installer creates it and restricts it to administrators, SYSTEM and the Outpost service |
| macOS | ~/Library/Application Support/meinGPT Outpost |
| Linux | $XDG_DATA_HOME/meingpt-outpost — without that variable, ~/.local/share/meingpt-outpost |
On Windows, the installer moves the folder of an older per-user installation (%LOCALAPPDATA%\meinGPT Outpost or %LOCALAPPDATA%\meinGPT Vault) there the first time it runs. On macOS and Linux the folder lies in the profile of the account running the Outpost. If a machine-wide data folder already exists there — /Library/Application Support/meinGPT Outpost on macOS or /var/lib/meingpt-outpost on Linux — the Outpost uses it instead; it never creates that folder itself. 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. |
update-rollback/ | The rollback slot of the last update. See below. |
update_state.json | State of the automatic update. |
The second folder you do not expect
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:
| System | Path |
|---|---|
| Windows | %APPDATA%\@meingpt\outpost-desktop |
| macOS | ~/Library/Application Support/@meingpt/outpost-desktop |
| Linux | ~/.config/@meingpt/outpost-desktop |
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 Outpost and @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.
One place outside both folders
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.
The copy an update leaves behind
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.sqliteanddata/vectors.sqlite, including any-waland-shmfiles, - 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.
Where content from your documents lives
The short answer for a security questionnaire — three durable places, all under the data folder:
data/vectors.sqlite— vectors and the full-text index with extracted chunks.data/pools/<pool-id>/text/— extracted text for local full-text search.update-rollback/— temporary copies of both databases during an update.
File names and paths additionally appear in data/outpost.sqlite and may occur in logs.
Your original files stay where they were. The Outpost moves nothing.
Removing it completely
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, ormeingpt-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_cachedirectories.
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.
What is in the diagnostics bundle
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.