MemoryWhale records terminal commands and, in full-capture mode, terminal output. That data can include credentials, private paths, hostnames, source code, and proprietary output. The database and transcript directory therefore need the same protection as shell history or an unencrypted developer backup.
- MemoryWhale is local-first, but any process running as the same operating system user may be able to read its files.
- Secret redaction reduces accidental retention; it is not a security boundary. Unknown formats and transformed credentials can evade patterns.
- Synced, exported, shared, or backed-up files leave the local trust boundary. Review them before sending and protect the destination independently.
- The dashboard should only be exposed beyond loopback when authentication is enabled and the network is trusted.
- Use
.mwignoreor[capture.paths]to set sensitive trees toofforcommands-only. - Captured text fields are limited to 1 MiB by default and contain an explicit
truncation marker. Set
MEMORYWHALE_MAX_CAPTURE_BYTESto a positive byte count to choose a different limit. - On Unix, MemoryWhale restricts its data directory to mode
0700and its SQLite database to0600when opened. - Run
mw auditto inspect the effective capture policy, retained volume, and highest-volume session sources. - Use
mw rmfor individual deletion andmw prune --older-than <window>for retention cleanup. Preview bulk cleanup with--dry-run.
For a sensitive repository, prefer preventing capture over relying on redaction or later deletion.