Data flow & trust

Enzyme’s local-first philosophy makes every stage inspectable. Your markdown workspace remains the source of truth; Enzyme writes local runtime instructions, config, and an index; catalyst generation during init or refresh may send selected excerpts through Enzyme hosted credits/auth by default, or to your own provider when you intentionally pass --use-env-llm.

This page gives a practical footprint for someone deciding whether to run Enzyme on a markdown vault.

Command-by-command footprint

StageWhat it readsWhat it writesNetwork/provider behavior
curl -fsSL enzyme.garden/install.sh | bashNo vault content.Installs enzyme in ~/.local/bin. Recreates ~/.enzyme while preserving ~/.enzyme/auth.json and ~/.enzyme/config.toml when present. May remove legacy Enzyme MCP entries.Best-effort install telemetry may be sent. If no auth file exists, the installer may run enzyme login. No note content is sent.
enzyme install codexCurrent workspace path and existing instruction files.Adds/updates an Enzyme section in AGENTS.md and writes .agents/skills/enzyme/SKILL.md.No note content is sent.
enzyme install claudeCurrent workspace path and existing instruction files.Adds/updates AGENTS.md, writes .claude/skills/enzyme/SKILL.md, and ensures CLAUDE.md imports @AGENTS.md.No note content is sent.
enzyme install hermesCurrent workspace path.Installs Hermes-compatible workspace instructions and a global ~/.hermes/skills/enzyme/SKILL.md.No note content is sent. Hermes support is experimental.
enzyme install openclawCurrent workspace path.Installs OpenClaw-compatible workspace instructions and a global ~/.openclaw/skills/enzyme/SKILL.md.No note content is sent. OpenClaw support is experimental.
enzyme scan --write-configFile paths, folders, tags, links, and markdown structure.Writes or updates ~/.enzyme/config.toml.No note content needs to leave the machine.
enzyme init / enzyme refreshMarkdown files selected by config.Writes the local index, normally <vault>/.enzyme/enzyme.db, plus derived embeddings/catalysts.Embedding and retrieval work are local. Catalyst generation uses Enzyme hosted credits/auth by default and ignores inherited LLM env keys. It sends selected excerpts to your env OpenAI/OpenRouter/OpenAI-compatible provider only when you pass --use-env-llm.
enzyme petri / enzyme catalyzeThe compiled local index and source files needed for excerpts.No durable write unless your agent separately writes notes.Query-time retrieval is local and does not call an LLM. Results may be shown to the agent process.
Agent writebackWhatever files the agent used as sources.Ordinary markdown artifacts in your workspace, if the agent writes them.Follow the writeback policy: durable, source-linked notes only; no secrets, raw tool dumps, or generic summaries.

Accounts, credits, and provider choice

For catalyst generation, Enzyme needs an LLM provider. You have two paths:

  1. Use Enzyme hosted credits/auth (default). Sign in and run enzyme init or enzyme refresh. Inherited OPENAI_* and OPENROUTER_* shell variables are ignored in this default path so existing personal keys are not used accidentally.
  2. Bring your own provider intentionally. Set OPENAI_API_KEY or OPENROUTER_API_KEY for OpenAI, OpenRouter, or another OpenAI-compatible provider. Set base/model overrides when needed, then run enzyme init --use-env-llm or enzyme refresh --use-env-llm.

If you want a local-only catalyst-generation path, configure a local OpenAI-compatible server and pass --use-env-llm on init/refresh. No shell-variable cleanup is needed; choose the hosted default or the explicit env-provider flag.

What Enzyme does not do by default

  • It does not move your markdown into a hosted memory database.
  • It does not require you to adopt a proprietary note schema.
  • It does not replace exact search for names, dates, filenames, or tags.
  • It does not automatically understand every relationship unless your workspace exposes handles through prose, folders, tags, wikilinks, dates, or frontmatter.
  • It does not mean every stage is local unless you intentionally configure a local provider and run init/refresh with --use-env-llm.

Reset, reinstall, and uninstall

Reinstalling with the install script recreates local Enzyme state under ~/.enzyme while preserving auth.json and config.toml when possible. Local vault indexes such as <vault>/.enzyme/enzyme.db can be regenerated with enzyme init.

To remove a vault index:

rm -rf /path/to/vault/.enzyme

To remove global Enzyme state:

rm -rf ~/.enzyme

To remove the binary:

rm -f ~/.local/bin/enzyme

Also remove any runtime instruction files you installed, such as .agents/skills/enzyme/SKILL.md, .claude/skills/enzyme/SKILL.md, or Enzyme sections in AGENTS.md / CLAUDE.md.

Trust test

Before relying on Enzyme, run a small trust test:

  1. Run enzyme petri and confirm the entities look like your actual projects, people, folders, tags, or notes.
  2. Run enzyme catalyze "prep for the next meeting on <project>".
  3. Check whether the returned files include source paths and excerpts that explain a real unresolved decision, commitment, or context thread.
  4. If the result is generic, edit config, exclude noisy folders, add clearer dated/project handles, then run enzyme refresh.