Security and privacy
On your machine
With no account, nothing leaves the machine. Everything Memnox keeps is under
~/.memnox, readable only by you.
| File | What it holds |
|---|---|
memnox.db | The log of every decision, append only |
config.toml | The mode and how long history is kept |
machine.policies.toml | Rules that apply in every repository, like never reading ~/.ssh |
bin/ | The small wrappers that check shell commands |
backup/ | Every agent config setup changed, before it changed it |
Arguments are never stored, only a fingerprint of them, because an argument list is where a secret would be.
memnox purge # drop history older than your retention setting
memnox uninstall # remove everything setup addedOnce you join a team
memnox login is the only step that sends anything. Per action, the machine
sends:
| Sent | Example |
|---|---|
| The action and its result | git.push-force, deny |
| The rule and its reason | git-deny |
| What it touched | a path, a host or a branch |
| When, and which session | 2026-09-05 14:03, ses_9f21 |
| A fingerprint of the arguments | never the arguments |
Never sent: the arguments, file contents, credential values, what an agent printed, and the machine's signing key. If the cloud cannot be reached, nothing stops: the decision is already made on the machine.
memnox whoami # which workspace this machine reports to
memnox logout # stop, and keep the rules already pulledWhere a model is used
Never in a decision. Allow, ask and deny come from your rules alone, so the same action always gets the same answer.
The one place a model is used is in the cloud, to suggest a decision from your team's conversations. A suggestion does nothing until a person approves it.
Reporting a vulnerability
Follow SECURITY.md in the runtime repository rather than opening a public
issue.