piia-engram

Persistent AI memory across tools — remember your preferences, code standards, and decisions across Claude Code, Cursor, Codex, and any MCP tool. Local-first, zero-cloud.

piia-engram — persistent AI memory across tools

piia-engram

One memory. Every AI tool. Yours to keep.

AI can suggest memories. You decide what becomes true.

Tell AI once — your preferences, standards, and lessons follow you across Claude Code, Cursor, Codex, and any MCP-compatible tool. AI proposes knowledge; you approve what sticks. Local-first, no cloud, no account.

cross-tool memory | local-first | Claude Code | Codex | Cursor | Windsurf | MCP

ENGLISH | 中文

License: Apache 2.0 Python 3.10+ MCP Compatible PyPI Downloads Official MCP Registry


TL;DR: piia-engram stores your identity, preferences, lessons learned, and key decisions as local JSON files — and shares them with every AI tool through MCP. Set up once, every AI tool remembers you. No cloud, no lock-in, Apache 2.0.


Your AI forgets you every time you switch tools or start a new chat. piia-engram fixes that.

Every time you open a new chat window, switch from Claude Code to Codex, update your AI tool, or move into a different project, you're back to zero:

  • your communication preferences — gone
  • your code standards and quality bar — forgotten
  • which mistakes you've already learned from — lost
  • why you made that architecture decision last month — erased

This happens because AI memory today is locked inside each platform. It belongs to the tool, not to you. The tool updates, resets, or gets replaced — and your context disappears with it.

piia-engram gives you persistent memory that lives on your machine, independent of any AI tool. You tell it once who you are, how you work, and what you've learned. Every MCP-compatible tool reads the same context. New chat, new tool, new version — your identity persists.

piia-engram is not an agent memory database. Tools like Mem0, Zep, and Letta store task context and session history for AI agents. piia-engram stores who you are as a person — your identity, preferences, hard-won lessons, and key decisions. It's a different layer: not what happened in a task, but who is behind every task.

Why piia-engram?

Without piia-engramWith piia-engram
New chat window = start from zeroEvery conversation already knows you
AI tool updates and your preferences vanishYour identity lives on your machine, survives any update
Switching tools loses accumulated contextClaude Code, Codex, and Cursor read the same memory
Past mistakes get repeatedLessons learned follow you across tools and sessions
Memory is locked inside one productData stays local, editable, and portable

Who Uses piia-engram

piia-engram is built for developers who use multiple AI coding tools and are tired of re-explaining themselves.

If you switch between Claude Code, Codex, and Cursor — your code standards, architecture decisions, and hard-won lessons reset every time. piia-engram makes every tool start from the same understanding of who you are.

If you open 10+ AI chat windows a week — each one starts from zero. piia-engram gives every conversation your full context from the first message.

If you've lost preferences after a tool update — your identity lives on your machine, not inside any platform. Updates, resets, and migrations don't touch your memory.

Other use cases

Investment analysts Decisions get made but reasoning gets lost. piia-engram stores the full reasoning chain so six months later, "why did I pass on that?" has a real answer — and your analytical framework travels with you across every new analysis.

System architects Architecture decisions need context: what you chose, what you ruled out, and why. piia-engram keeps living Architecture Decision Records that travel with you across companies and projects, queryable by any AI tool.

Backend developers API quirks, integration gotchas, performance trade-offs — tacit knowledge that normally lives in your head and resets when you change jobs. piia-engram turns it into a searchable library that persists across everything.

Frontend and design Design philosophy rarely gets documented in a way AI tools can use. piia-engram stores your real standards, UX lessons from real users, and the reasoning behind component decisions — so every project starts where your last one ended.

Vibe coders You build with AI and move fast. The problem: every new session your AI starts from scratch — different style choices, inconsistent patterns, re-explaining the same preferences. piia-engram makes every tool consistent from session one: your stack, your patterns, your voice, already there.

What piia-engram Stores

All data lives under ~/.engram/ as plain JSON and Markdown files you can open, edit, back up, or migrate yourself.

  • Identity: who you are, how you communicate, what languages you prefer
  • Quality standards: your code review bar, test coverage expectations, what you refuse to ship
  • Preferences: coding style, AI behavior, how you like explanations
  • Trust boundaries: which fields to keep private, what tools can access
  • Project snapshots: context for ongoing work, captured and reloadable
  • Lessons learned: mistakes, surprises, things that worked and didn't
  • Key decisions: what you chose, what you ruled out, and why
  • Domain knowledge: reusable insights across projects and tools

What piia-engram Does (Beyond Storage)

Most memory tools are passive — you put things in, they give them back. piia-engram is also active.

Knowledge inheritance across projects
Describe a new project in plain text. get_knowledge_inheritance returns a curated starter pack of the most relevant lessons and decisions from everything you have ever worked on. Your tenth project benefits from all nine before it — one tool call away.

Passive knowledge capture
Paste a session summary into extract_session_insights and piia-engram extracts and stores the lessons and decisions. No manual note-taking. Knowledge accumulates through normal AI conversations.

Works with tools that do not support MCP
ChatGPT, Gemini, Kimi — get_identity_card exports a ready-to-paste Markdown identity card. Your context travels even to tools that cannot connect directly.

Automatic playbook extraction
Finish a multi-step workflow — release to PyPI, deploy to Cloudflare, publish to MCP Registry — and piia-engram detects it at session end. It generates a structured draft playbook (steps, pitfalls, trigger keywords) and saves it to a staging area. Next time you do the same task, the AI finds the playbook and follows it, skipping the mistakes you already solved. No manual recording required — Engram starts the draft, you confirm, AI completes. See Playbook Auto-Extraction below.

Local tools registry
AI tools constantly search for local programs, runtimes, and CLIs. register_tool records what's installed and where; find_tool retrieves it instantly. No more which python every session — the environment map persists across tools and conversations.

Knowledge health and discovery
get_knowledge_overview surfaces stale lessons (not reviewed in 30+ days), computes a 0–100 health score across four dimensions (freshness, quality, coverage, cleanliness), and flags gaps worth revisiting. suggest_merges scans your entire knowledge base for near-duplicates and returns actionable merge commands. link_knowledge connects related lessons and decisions into a navigable knowledge graph.

Quick Start (30 seconds)

pip install piia-engram
engram setup

The setup wizard will:

  1. Detect your Python environment
  2. Find and configure your AI tools (Claude Code, Cursor, Claude Desktop, Codex)
  3. Inject AI instructions into each tool's native config (CLAUDE.md, .cursorrules, AGENTS.md) so AI proactively calls Engram
  4. Walk you through seed knowledge (role, tech stack, language)
  5. Smart-import rules from your existing CLAUDE.md / .cursorrules files
  6. Show your privacy preferences (cross-tool sync, anonymous statistics — both optional)
  7. Preview your AI identity card — immediate proof of value

Restart your AI tool after setup. The first conversation will call get_user_context automatically — your AI already knows you.

Check health anytime:

engram doctor        # diagnose all tools
engram doctor --fix  # auto-repair issues + inject missing instructions

Configure for Your AI Tool

Claude Code
# Automatic (recommended)
engram setup
# Or manual:
claude mcp add piia-engram -- python -m piia_engram.mcp_server
Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "piia-engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}
Codex (OpenAI)

Add to ~/.codex/mcp.json:

{
  "mcpServers": {
    "piia-engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}
Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "piia-engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}
Windsurf / Copilot / Cline / Other MCP clients

Any tool that supports MCP over stdio works. Use this config:

{
  "mcpServers": {
    "piia-engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"]
    }
  }
}

For tools without MCP support (ChatGPT, Gemini, Kimi): run get_identity_card in any MCP tool and paste the exported Markdown card into your chat.

See It in Action

You  → "Help me refactor this auth module"

# WITHOUT piia-engram: AI starts from scratch
AI   → "What language? What framework? What's your testing preference?"

# WITH piia-engram: AI already knows you
AI   → "Based on your preference for pytest + 90% coverage, and your
        lesson about always separating auth middleware from business
        logic (from the March incident), here's my approach..."

After setup, run engram doctor to verify everything is connected:

$ engram doctor

  Detected 3 AI tool(s):
    [ok] Claude Code — Engram configured
    [ok] Cursor — Engram configured
    [ok] Codex — Engram configured

  [ok] All configured tools look healthy.

  ── Functional Checks ──
    [ok] piia_engram.core importable
    [ok] Engram initialized (~/.engram)
    [ok] Identity loaded (role: Senior Backend Developer)
    [ok] quick_context.md ready (4096 bytes)
    [ok] MCP server: 17 tools registered

Upgrading

pip install --upgrade piia-engram

After upgrading, piia-engram automatically migrates any stale MCP configs the next time its server starts (stdio mode). If your AI tool still shows an "MCP disconnected" error after restarting, run:

piia-engram doctor        # show what's wrong
piia-engram doctor --fix  # auto-repair and fix in one step

Then restart the affected AI tool. The doctor command checks Claude Code, Cursor, and Claude Desktop configs and removes any outdated server entries.

Remote Deployment

Run piia-engram on your own server and connect from anywhere.

Server Setup

# Install with remote support
pip install piia-engram[remote]

# Generate an auth token
python -c "import secrets; print(secrets.token_urlsafe(32))"
# Save the output, e.g. "abc123..."

# Start in SSE mode
ENGRAM_AUTH_TOKEN=abc123... python -m piia_engram.mcp_server --transport sse --host 0.0.0.0 --port 8767

Client Config (Claude Code)

{
  "mcpServers": {
    "piia-engram": {
      "url": "http://your-server:8767/sse",
      "headers": {
        "Authorization": "Bearer abc123..."
      }
    }
  }
}

Client Config (Cursor)

{
  "mcpServers": {
    "piia-engram": {
      "url": "http://your-server:8767/sse",
      "headers": {
        "Authorization": "Bearer abc123..."
      }
    }
  }
}

Security notes:

  • Always use HTTPS in production, behind nginx or caddy with TLS.
  • The auth token protects your identity data. Keep it secret.
  • Default bind is 127.0.0.1 for localhost only. Use 0.0.0.0 only behind a reverse proxy.
  • Set ENGRAM_CORS_ORIGINS to restrict cross-origin access (e.g. https://your-domain.com).
  • Data stays on your server and never touches third-party clouds.

MCP Tools

piia-engram ships 60 MCP tools. By default, only the 12 Tier-1 Core tools are loaded to keep the AI's context clean. To unlock all 60 tools, add ENGRAM_TOOLS=all to your MCP config:

{
  "mcpServers": {
    "piia-engram": {
      "command": "python",
      "args": ["-m", "piia_engram.mcp_server"],
      "env": { "ENGRAM_TOOLS": "all" }
    }
  }
}

Tier-1 Core (12 tools — daily workflow)

ToolPurpose
get_user_contextLoad identity + knowledge at session start
wrap_up_sessionSave insights + sync at session end
add_lessonStore a reusable lesson learned
add_decisionRecord a key decision with reasoning
add_playbookRecord an operational playbook (multi-step procedure with trigger keywords)
search_knowledgeSearch lessons, decisions, and playbooks by weighted relevance
get_relevant_knowledgeFind knowledge relevant to current project
get_identity_cardExport Markdown identity card for non-MCP tools
update_identityUpdate profile, preferences, or quality standards
get_project_contextRead a saved project snapshot
save_project_snapshotPersist project state for future sessions
get_recent_contextRecover lost session context after restart

Tier-2 Advanced (48 tools — knowledge management, review, import/export)

Click to expand full tool list
ToolPurpose
register_toolRegister a local tool, runtime, or CLI to the environment map
find_toolLook up a registered tool by name
list_toolsList all registered tools (optionally filter by category)
save_agent_contextSave AI session checkpoint (also runs automatically)
list_agent_sessionsBrowse saved session records across tools
refresh_quick_contextRefresh local quick_context.md snapshot for offline/cross-tool use
get_profileRead user profile (safe=true by default)
get_work_styleRead work style preferences
get_preferencesRead communication and workflow preferences
get_trust_boundariesRead data access boundaries
get_quality_standardsRead quality expectations
get_playbooksList saved operational playbooks
get_playbookGet full content of a single playbook by ID
get_recent_playbooksList playbooks by most recent use
update_playbookUpdate playbook steps, triggers, or other fields
archive_playbookArchive a playbook that is no longer used
prepare_playbook_executionGenerate an executable plan with parameter substitution
update_execution_stepMark a step as completed, skipped, or failed
get_execution_statusView current execution progress of a playbook
get_lessonsList reusable lessons learned
get_decisionsList key decisions and reasons
get_domainsRead domain experience stats
get_knowledge_inheritanceBuild cross-project knowledge starter pack
list_projectsList saved project snapshots
extract_session_insightsExtract lessons and decisions from session text
bulk_add_knowledgeAdd multiple lessons or decisions in one call
ingest_notesParse free-form notes into structured knowledge
update_knowledgeUpdate a lesson or decision by ID
archive_knowledgeArchive a lesson or decision by ID
review_knowledgeMark a knowledge item as reviewed
merge_knowledgeMerge a duplicate into the primary item
link_knowledgeCreate a bidirectional link between items
unlink_knowledgeRemove a bidirectional knowledge link
get_knowledge_overviewKnowledge digest, health report, stale checks
get_related_knowledgeFollow links between knowledge items
find_similar_knowledgeFind similar items by content
suggest_mergesScan for near-duplicates with actionable merge commands
get_stale_knowledgeList items that need review
export_knowledge_reportExport a readable Markdown knowledge report
request_outline_reviewGenerate an interactive HTML review page
apply_reviewProcess review results (promote/archive staging items)
export_engramExport a full backup
import_engramImport a backup
export_engram_to_openclawExport OpenClaw-compatible files
import_engram_from_openclawImport OpenClaw-compatible files
read_web_contentRead webpage via local Reader service
get_audit_logGet recent audit log entries
start_projectStart a project with inherited knowledge

Playbook Auto-Extraction

piia-engram can detect multi-step workflows you complete during a session and automatically draft structured playbooks — no manual recording required.

How It Works

  1. Detection — When you call wrap_up_session or save_agent_context, piia-engram scans for procedural workflow signals: checkpoint steps, action verbs, and trigger keywords.
  2. Draft generation — If a workflow is detected, a playbook draft is created with steps, pitfalls, trigger keywords, and preconditions. Sensitive information (API keys, tokens, absolute paths) is automatically redacted before storage.
  3. Staging — The draft is saved to a staging area, never auto-promoted to verified. You review and confirm before it becomes a trusted playbook.
  4. Reuse — Next time an AI tool encounters a similar task, search_knowledge matches the trigger keywords and returns the playbook. The AI follows the proven steps instead of improvising.

Design Philosophy: Engram Starts, You Confirm, AI Completes

Playbook auto-extraction is not fully automatic. piia-engram detects the workflow and generates a rough draft — but the draft stays in staging until you explicitly confirm it. Once confirmed, AI tools can refine and follow the playbook autonomously. This keeps humans in the loop for quality control while eliminating the manual work of writing operational procedures.

Confidence Levels

LevelSignalAI Behavior
high3+ checkpoint steps from save_agent_contextAI notifies you: "Detected a reusable workflow, draft playbook generated."
mediumText-based detection (trigger keywords + action verbs)AI saves silently to staging, no notification.

Sensitive Info Redaction

Before any draft is stored, piia-engram automatically redacts:

  • API keys and tokens (Bearer, sk-, ghp_, etc.)
  • Absolute file paths (Windows and Unix)
  • Email addresses
  • Environment variable secrets

Kill Switch

Users can disable or re-enable playbook auto-extraction at any time:

  • Disable: Tell your AI "关闭 playbook" / "stop playbook" / "disable playbook auto-extraction"
  • Enable: Tell your AI "开启 playbook" / "start playbook" / "enable playbook auto-extraction"

The AI calls update_identity(field="preferences", ...) to toggle playbook_auto_extract. Default is enabled.

Manual Playbook Creation

You can always create playbooks manually with add_playbook, regardless of the auto-extraction setting. The kill switch only affects automatic detection during wrap_up_session.

Data Layout

~/.engram/
|-- schema_version.json
|-- identity/
|   |-- profile.json
|   |-- preferences.json
|   |-- quality_standards.json
|   `-- trust_boundaries.json
|-- knowledge/
|   |-- lessons.json
|   |-- decisions.json
|   `-- domains.json
|-- playbooks/
|   |-- _index.json
|   `-- {playbook_id}.json
|-- tools/
|   `-- registry.json
|-- projects/
|   `-- {project_id}.json
|-- contexts/
|   `-- {tool_name}/
|       `-- {session_id}.md
|-- exports/
`-- compat/
    `-- openclaw/

Supported Tools

ToolIntegrationConfidence
Claude CodeMCP over stdio✅ Verified
CodexMCP over stdio✅ Verified
CursorMCP over stdio✅ Verified
Claude DesktopMCP over stdio✅ Verified
WindsurfMCP over stdioExpected to work
GitHub CopilotMCP over stdioExpected to work
ClineMCP over stdioExpected to work
Roo CodeMCP over stdioExpected to work
Amazon QMCP over stdioExpected to work
AugmentMCP over stdioExpected to work
ZedMCP over stdioExpected to work
OpenClawSOUL.md / MEMORY.md / USER.md import and export✅ Verified
ChatGPT / Gemini / KimiMarkdown identity card fallback🔧 Usable

Comparison

Featurepiia-engramClaude MemoryManual CLAUDE.mdMem0Letta (MemGPT)
Primary purposeUser identity across toolsPer-conversation memoryPer-project notesAgent vector memoryAgent self-editing memory
Cross-tool by design✅ MCP-native (60 tools)❌ Claude only❌ tool-specific⚠ requires per-tool wiring⚠ requires per-tool wiring
StorageLocal JSON in ~/.engram/CloudLocalVector DB + Mem0 CloudPostgres or Letta Cloud
Local-first by default⚠ Cloud is the default⚠ Cloud is the default
Encryption at rest✅ AES-256-GCM, PBKDF2 600k (opt-in)depends on Cloud❌ plain Markdowndepends on store configdepends on Postgres config
Knowledge tiers (user gate)✅ staging → verified
Conflict detection
MCP-nativen/an/a⚠ third-party⚠ third-party
PriceFree, Apache 2.0Subscription-bundledFreeFree / Cloud tiersFree / Cloud tiers

📊 For the full side-by-side, including when to choose a competitor over piia-engram, see docs/comparison.md.

By the numbers

These are factual claims about piia-engram itself, refreshed each minor release.

v3.26.0 (2026-05-23)
Supported AI tools13 (4 verified + 7 expected-to-work + OpenClaw + ChatGPT fallback)
MCP tools exposed60 (12 Tier-1 default, 48 opt-in via ENGRAM_TOOLS=all)
Knowledge types3 (lessons, decisions, playbooks)
Tests passing768 (unit + integration)
Code coverage96% total; mcp_server 99%, setup_wizard 93%, storage 100%, core 95%
Lines in core.py1097 (down from 4277 pre-v3.14.1 — see architecture.md)
PBKDF2 iterations600,000 (OWASP 2023+ floor; legacy 100k still decrypts)
EncryptionAES-256-GCM, per-value random salt + nonce
Cold-start time< 100 ms typical (local JSON, no network)
Network calls from core0 by default — except optional read_web_content and opt-in anonymous usage statistics (Phase 2: local + optional remote — details)
External AI evaluations4 independent AIs evaluated the telemetry design; 3 earlier evaluations on architecture (see docs/)

Built With

piia-engram is a human-directed, AI-assisted open-source project.

ContributorRole
@PatdolitseCreator, product direction, strategy, ownership
Claude CodeArchitecture, task planning, code review assistance
CodexImplementation, testing, documentation assistance

FAQ

What MCP server lets me share memory between Claude Code and Cursor? piia-engram. Install with pip install piia-engram && engram setup, and both tools read the same identity, preferences, and lessons from ~/.engram/. No cloud, no sync service — they both read local JSON files through MCP.

What is piia-engram? piia-engram is a persistent memory layer for AI tools. It stores your identity, preferences, code standards, lessons learned, and key decisions as local JSON files on your machine. Every MCP-compatible AI tool (Claude Code, Codex, Cursor, Windsurf, Claude Desktop) reads the same context, so new chats, tool updates, and tool switches never erase who you are.

How is piia-engram different from the official MCP memory server? The official @modelcontextprotocol/server-memory stores a generic knowledge graph of entities and relations. piia-engram is specialized for developer identity: it has structured fields for your profile, code standards, quality bar, lessons learned, and key decisions — plus 60 tools for knowledge lifecycle management (search, review, merge, inherit across projects). If you need general-purpose entity memory, use the official server. If you want every AI tool to know your coding preferences and past mistakes, use piia-engram.

How is piia-engram different from agent memory tools like Mem0, Zep, or Letta? Those tools store task context and session history for AI agents — what happened during a workflow. piia-engram stores who you are as a person — your identity, preferences, hard-won lessons, and key decisions. It's a different layer: identity persists across tools, sessions, and projects, while task memory is scoped to a single agent run. Your data is local JSON files you own and can edit directly.

Why not just use AGENTS.md / CLAUDE.md / .cursorrules? Those config files are great for repo-specific rules (build steps, coding conventions). piia-engram is for you — your preferences, lessons, and decisions that follow you across every repo and every AI tool. They complement each other: use AGENTS.md for the project, piia-engram for the person. See the full comparison in docs/comparison.md.

Can I use piia-engram with multiple AI tools at once? Yes. That's the primary use case. piia-engram uses local file storage (~/.engram/) with atomic writes and file locking. Claude Code, Cursor, Codex, and any other MCP client can connect simultaneously. A lesson recorded in Claude Code is immediately available in Cursor.

Which AI tools does piia-engram support? Any MCP-compatible tool: Claude Code, OpenAI Codex, Cursor, Claude Desktop, Windsurf, GitHub Copilot, Cline, Roo Code, Amazon Q, Augment, Zed, and more. For tools without MCP support (ChatGPT, Gemini, Kimi), export a Markdown identity card with get_identity_card and paste it in.

Where is my data stored? All data lives in ~/.engram/ on your local machine as plain JSON and Markdown files. No cloud, no account, no subscription. You can open, edit, back up, or migrate the files yourself. Optional AES-256-GCM encryption is available via pip install piia-engram[secure].

How do I install piia-engram?

pip install piia-engram
engram setup

The setup wizard detects your AI tools and configures MCP automatically. Restart your AI tool after setup. The AI will call get_user_context at the start of each session.

After upgrading, my AI tool shows "MCP server disconnected". How do I fix it? Run engram doctor --fix in a terminal, then restart your AI tool. This command scans all known MCP config files, removes outdated server entries, and repairs broken paths in one step.

Does piia-engram send data to the cloud? No. All core tools make zero network requests. Optional anonymous usage statistics (tool call counts, never content) can be enabled during setup but are off by default. You can inspect the payload with engram telemetry preview and disable anytime with engram telemetry off.

How many MCP tools does piia-engram provide? 60 tools: 12 Tier-1 Core tools loaded by default (identity, knowledge, playbooks, project context, session recovery) plus 48 Tier-2 Advanced tools for tools registry, knowledge management, review, import/export, and audit logging. Enable all with ENGRAM_TOOLS=all.

Is piia-engram free? Yes. Free and open source under the Apache 2.0 license. No subscription, no cloud tiers, no vendor lock-in.

Limitations

piia-engram is functional and actively used, but some things it intentionally does not do yet:

AreaCurrent StatePlanned
File safetyAtomic JSON writes with a shared portalocker file lockBroader stress testing
Access controlrestricted_fields filters profile in get_user_context, get_profile (default safe=true), get_identity_card, and resource endpointsPer-caller ACL blocked by MCP caller identity
EncryptionOptional field-level AES-256-GCM encryption via ENGRAM_SECRET env var. Install pip install piia-engram[secure].Full-disk encryption for all files (v4.0)
Audit loggingOptional access audit log via ENGRAM_AUDIT=1 env var. Logs to ~/.engram/audit.log.Per-caller audit (blocked by MCP spec)
Caller identityMCP protocol doesn't pass tool identityBlocked by MCP spec
Concurrent writesProtected by file lock + atomic replace for piia-engram JSON writesNetwork-filesystem edge cases not guaranteed

What this means in practice:

  • Don't store passwords, API keys, or client PII in piia-engram
  • Any process with read access to ~/.engram/ can read your data
  • restricted_fields reduces what piia-engram emits in cold-start context, but it is not encryption or a true ACL

This is not a warning to avoid piia-engram — it's an honest description of what it is: a local memory layer for personal AI context. For personal use, it works well today.

Security Configuration

Field-level encryption (optional)

Encrypt sensitive profile fields (email, phone, location, etc.) at rest:

pip install piia-engram[secure]
export ENGRAM_SECRET="your-strong-passphrase"

Encrypted fields are stored as enc:v1:... in JSON files. Without ENGRAM_SECRET, piia-engram works normally with plaintext (backward compatible).

Audit logging (optional)

Track all read/write operations:

export ENGRAM_AUDIT=1

Logs are written to ~/.engram/audit.log in JSON-lines format. Query with get_audit_log tool or grep.

CLI Commands

engram setup            # Interactive install wizard
piia-engram doctor           # Check config health (all AI tools)
piia-engram doctor --fix     # Auto-repair any issues found
piia-engram stats            # Show project growth metrics (GitHub + PyPI)
piia-engram stats --log      # Append stats snapshot to local log
engram telemetry        # Manage anonymous usage statistics
engram privacy          # Show what data piia-engram stores and where

Contributing

Contributions, issues, and feedback are welcome.

See CONTRIBUTING.md. Chinese readers can also use CONTRIBUTING.zh-CN.md.

License

Apache 2.0. piia-engram is free software. Your memory belongs to you.

Related Servers