Skip to main content

Local storage and record formats

There is no single universal state directory or database for the whole Messaging project. Paths differ by product/consumer, OS user, configured overrides and legacy migration.

Root families​

AreaReviewed source convention
Windows applicationPer-user local application state; an explicit state-root override can apply
Mac applicationUser Application Support/AxiOwl family; native daemon state is a separate child/context
Linux CLI/applicationExplicit state-root override, otherwise XDG state home/axiowl or the user's .local/state/axiowl
Native hostPrivate configured runtime state, with platform package layouts and identity-preserving relocation rules
ProviderNative provider profile/history plus exact owned integration assets
Mobile/connected clientApplication settings/cache storage and the build's protected credential mechanism

Do not derive a runtime root by blindly appending a Windows subdirectory to a Linux/Mac profile. Inspect the installed consumer's effective configuration without printing secrets.

Important record families​

RecordRepresentative structureWhy it matters
Native MCP Sendmcp-send-requests / operation ID / body.txt, request.json and dispatch/launch/result recordsAuthored content, source binding and deferred target selection
Delivery ownershipDurable operation ID, fingerprint, sender/target identity and receiptPrevents a second owner treating uncertainty as fresh dispatch
Conversation registryWindows shared registry tables and native platform JSON/registry variantsNames, aliases, native sessions, route/source/recency
Native account/trustAccount-session/device-pairing state and platform-protected credentialsEnrollment, revocation, public identity and independent trust provenance
Runtime persistenceSQLite and private state/identity files, depending on componentSessions, migrations and host lifecycle
Update stateVerified package store, active/previous selection and transaction recordsActivation and recovery are not merely downloaded bytes
Network observationsSmall fixed local JSON records by serviceOrigin/destination, timestamps, reason and outcome only where recorded
DiagnosticsJSONL/text/native reportsCan expose paths, identifiers and message content

These are record families, not a stable public database schema or permission to edit state by hand. Unknown fields and identity relationships may need preservation across migrations.

Safety and retention​

Private-path checks distinguish opening an existing profile from initializing a new host. A malformed/partial profile is not a fresh install. Copying one file can break the relationship among identity, trust, database, credentials and recovery journals.

Back up with the supported component mechanism and retain exact ownership. Encrypt/protect backups according to their contents. A message-body file can be plaintext even when its associated account token uses OS protection.

Removing a request directory to clear a status can destroy duplicate-prevention evidence. Removing a local cache does not erase provider/cloud history or server data.

See data lifecycle, credentials, configuration and recovery.