
Heartwood Memory — governed memory for AI agents
io.github.jermayne36Published by GitHub account jermayne36v0.2.9Updated Oct 25, 2026
Heartwood Memory — governed AI agent memory; signed provenance. BUSL-1.1; not OSI open source.
The publisher's own server: Memory.fit
Overview
A local, governed memory store for AI agents that signs every memory, gates recall by policy, keeps a tamper-evident audit log and issues key-destruction erasu
- What you can do
- Store, recall and forget agent memories in a local SQLite database, with tenant scoping and per-subject erasure receipts (README quickstart). Verify signed provenance on each recalled record and check the hash-chained audit log for edits or dropped rows. Apply policy and clearance before ranking so uncleared records are not scored or returned. Gate generated memories behind a faithfulness check and block rejected external-model egress. Write and erase verbs are not exposed by default; operators opt in by naming them in the tool allowlist.
- When to use it
- Use it when an assistant needs persistent memory that must be auditable and policy-controlled, for example support agents recalling customer facts under clearance rules or workflows that need a provable erasure step. It suits teams willing to run an embedded local store rather than a hosted memory service.
- Requirements
- Runs as a local stdio process, installed from PyPI (heartwood-memory) and launched with uvx; Python 3.11 is used for development checks. Requires HEARTWOOD_DB_PATH pointing at a local SQLite database; HEARTWOOD_TENANT isolates memories and HEARTWOOD_MCP_ALLOWED_TOOLS sets the tool allowlist, read-only by default. No authentication is declared.
Installation
In SourceWeft
- Open Heartwood Memory — governed memory for AI agents in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Heartwood Memory — governed memory for AI agents
Heartwood Memory is a governed memory store for AI agents: provenance-signed audit, policy-gated recall, tenant isolation, and a per-subject key-destruction proof on erasure.
License at a glance. Heartwood Memory 0.2.0 and later is source-available under the Business Source License 1.1 (BSL 1.1), not an OSI "open source" license. Non-production use is free at any size. Small Organizations—fewer than 100 employees and independent contractors and less than $1M in prior-tax-year revenue, as adjusted from 2019 under the license—may also use it in production at no charge. Each version converts automatically to the Apache License 2.0 four years after release. Versions 0.1.0–0.1.2 were MIT-licensed and remain MIT-licensed permanently.
Website · Compare Heartwood · FAQ · PyPI
Governed, source-auditable memory for AI agents, embedded beside your existing systems of record.
Heartwood is a cryptographic trust root for agent memory: every memory is signed, recall runs under policy before ranking, the audit log is hash-chained and tamper-evident, and erasure emits a falsifiable per-subject key-destruction receipt. The package ships as an embedded Python library with governed adapter surfaces that run on your infrastructure.
Honest boundary. Heartwood is managed-key: the server decrypts to serve recall. The receipts below are source-auditable today. Deletion is a per-subject key-destruction workflow, not an instantaneous deletion guarantee. See Key custody and erasure.
Install
Development checks
From a source checkout, use Python 3.11 and install the declared development dependencies before running the local quality gate:
scripts/check.sh runs Ruff and the full pytest suite. The optional Hermes
Agent contract suite reports as skipped unless its separate integration
dependency is installed. To install the same gate as a pre-commit hook without
overwriting another hook, run bash scripts/install-hooks.sh.
Re-run the public trust suite
The public trust-receipts benchmark lives in the source repository rather than the installed wheel. Starting from a clean clone, run:
On Windows PowerShell, replace the activation line with
.\.venv\Scripts\Activate.ps1.
The command exits non-zero if an executable contract or positive-control case fails, or if the benchmark's existing claim-anchor scan finds a violation. Its one-line terminal summary reports the live case counts; the JSON file contains the per-probe results and the separately published boundary cases.
5-minute quickstart
Remember a governed memory, recall it under policy, and emit a key-destruction receipt:
Keep local artifacts out of Git. This repository's
.gitignoredoes not propagate into downstream repositories. If you run these examples in another checkout, add equivalent ignores there for local Heartwood databases and sidecars, token/config files, root-local JSONL inputs, generated*-report.jsonfiles, and.venv/; alternatively, keep sensitive runtime state under an ignored.heartwood/directory. Keep deliberate fixtures in non-root paths so they remain reviewable.
Want governed memory for an MCP-capable agent instead of a library? See the governed MCP quickstart and the Codex local-stdio quickstart. Write and erase verbs are not exposed by default; operators opt in by naming them explicitly.
What you get - five receipts
Governance you can inspect and re-run at the record level:
Replacing a memory
From 0.2.10, when a new memory names the memory it replaces, or a file is
edited or deleted through the memory tool (MCP memory or
MemoryToolBackend), Heartwood's default recall stops
returning the old text, including after a restart. Earlier versions of an
edited file stay reachable only when history is asked for explicitly.
Limit. Heartwood does not detect replacements by itself: if a new memory is written without naming what it replaces, both stay current and the old one can still be recalled.
To name it, pass the old memory's id when you write the new one:
db.remember(..., supersedes=old_id). History stays reachable with
filters={"include_review_states": ["superseded"]} until forget() erases its
subject. A memory-tool file written by an older release keeps its earlier
versions in default recall until its next edit, rename or delete; see
"Existing data" in the 0.2.10 changelog.
Details: Recall visibility and retirement.
Key docs
- MCP quickstart
- VS Code + GitHub Copilot MCP
- Rotation-continuity demo
- Codex local-stdio quickstart
- Onboarding guide
- Python API reference
- Strict mode and audit-anchor quickstart
- Signed audit export and offline verifier
- Key custody and erasure
- Multi-agent identity
- Postgres and SQLite migration guide
- Full public documentation map
- Release verification and publishing
Run the console script after installation:
License
From version 0.2.0, Heartwood Memory is source-available under the Business Source License 1.1 (BSL 1.1) — not an OSI "open source" license. You may read the source, run it locally, develop against it, evaluate it, and self-host it for non-production use at no charge. Small organizations (fewer than 100 people and less than $1M annual revenue) may also run it in production at no charge. Larger organizations need a commercial license for production use. Each version converts automatically to the Apache License 2.0 four years after its release.
Versions 0.1.0–0.1.2 are MIT-licensed and remain so permanently. See NOTICE for details. Commercial support, managed key custody, and hosted services are available separately.
Current Bias
Prove boring trust before building ambitious cognition:
- provenance
- typed memory routing
- policy-aware recall
- temporal state
- deletion completeness
- generated-memory faithfulness
- repeatable evals
The cognitive database vision should be earned by evidence from these loops.
Source: README.md at commit c0a4ace
Tools
0Version history
3- v0.2.9LatestOct 3, 2026
- v0.2.8Oct 2, 2026
- v0.2.7Sep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.
Other Memory integrations

Memory.fit
fit.memoryOfficial publisher
Hosted Memory.fit server that lets an AI read your training, sleep, recovery and nutrition data and write back weekly plans, targets and meal plans.
pg.ddx.io: the PostgreSQL community's memory
io.ddx.pgOfficial publisher
pg.ddx.io: the PostgreSQL community's memory's hosted MCP server, published by pg.ddx.io; no sign-in required; Streamable HTTP; 29 tools.
var.gg Naming Memory
gg.varOfficial publisher
Remote MCP server that suggests and searches code identifier names from domain concepts in Korean, Japanese, Chinese, Vietnamese and English, and exposes ERD…

Counterparts
ai.counterparts
Local-first long-term memory for Claude Code and Claude Desktop: the assistant writes notes about you and your projects and recalls them in later sessions.

LAHZE - Persian AI Memory Platform
Published by GitHub account pedramgholizadeh
LAHZE - Persian AI Memory Platform's hosted MCP server; no sign-in required; Streamable HTTP; 13 tools.