Encrypted, fully offline agentic memory. One click install, GUI w/ memory map, all OS and agents. Logically and mathematically sound storage and retrieval.
Drift inferred · capture-to-capture
- HIGH code analysis flagged dynamic code execution in MaxFreedomPollard/Compartment
- HIGH code analysis flagged dynamic code execution in MaxFreedomPollard/Compartment
transport stdio · http counts 13 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
memory_forget
-
memory_get
-
memory_link
-
memory_list_namespaces
-
memory_lock
-
memory_recent
-
memory_relations
-
memory_search
-
memory_selftest
-
memory_status
-
memory_store
-
memory_unlink
-
memory_unlock
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 3de423a · analyzer v28 · 1d ago
skills & prompt files 1
danger signals1
- dynamic code execution eval()/exec() MaxFreedomPollard-Compartment-3de423a/tools/build_macos_app.py :70
exec((ROOT / "src" / "compartment" / "__init__.py").read_text(
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 80
filesystem 23
- fs MaxFreedomPollard-Compartment-3de423a/integrations/hermes/compartment/__init__.py :23
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/acl.py :59
with open(p, encoding="utf-8") as f: - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/agent_skill.py :31
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/claude_desktop.py :15
import shutil - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/claude_hooks.py :23
import shutil - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/claude_memory.py :28
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/cli.py :14
import shutil - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/dash.py :358
webbrowser.open(url) - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/data/hermes-plugin/__init__.py :23
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/embed.py :13
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/home.py :21
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/longmemeval.py :29
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/menubar.py :25
import shutil - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/platforms.py :16
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/session.py :84
from pathlib import Path - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/systray.py :26
import shutil - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/vault.py :215
"this vault was built with. Refusing to open (would corrupt " - fs MaxFreedomPollard-Compartment-3de423a/src/compartment/vaultfile.py :95
Readers open the vault with a plain open() (Vault.unlock, `compartment status`, - fs MaxFreedomPollard-Compartment-3de423a/tools/build_akc_pack.py :16
import pathlib - fs MaxFreedomPollard-Compartment-3de423a/tools/build_macos_app.py :49
import pathlib - fs MaxFreedomPollard-Compartment-3de423a/tools/build_starter_pack.py :14
import pathlib - fs MaxFreedomPollard-Compartment-3de423a/tools/make_icon.py :27
import pathlib - fs MaxFreedomPollard-Compartment-3de423a/tools/make_social_card.py :6
import pathlib
shell / exec 7
- shell MaxFreedomPollard-Compartment-3de423a/src/compartment/cli.py :15
import subprocess - shell MaxFreedomPollard-Compartment-3de423a/src/compartment/menubar.py :26
import subprocess - shell MaxFreedomPollard-Compartment-3de423a/src/compartment/platforms.py :14
import subprocess - shell MaxFreedomPollard-Compartment-3de423a/src/compartment/systray.py :27
import subprocess - shell MaxFreedomPollard-Compartment-3de423a/src/compartment/vault.py :23
import subprocess - shell MaxFreedomPollard-Compartment-3de423a/tools/build_macos_app.py :52
import subprocess - shell MaxFreedomPollard-Compartment-3de423a/tools/make_icon.py :28
import subprocess
network 5
- net MaxFreedomPollard-Compartment-3de423a/src/compartment/cli.py :1406
import urllib.request - net MaxFreedomPollard-Compartment-3de423a/src/compartment/dash.py :29
import urllib.parse - net MaxFreedomPollard-Compartment-3de423a/src/compartment/longmemeval.py :62
import urllib.request - net MaxFreedomPollard-Compartment-3de423a/src/compartment/offline_guard.py :14
3. The C layer. socket.socket is a Python subclass of the C type - net MaxFreedomPollard-Compartment-3de423a/src/compartment/platforms.py :203
import socket
secrets 1
- secrets MaxFreedomPollard-Compartment-3de423a/src/compartment/cli.py :10
import getpass
database 2
- db MaxFreedomPollard-Compartment-3de423a/src/compartment/longmemeval.py :27
import sqlite3 - db MaxFreedomPollard-Compartment-3de423a/src/compartment/store.py :12
import sqlite3
tool registrations 13
- memory_store MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :224
- memory_search MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :256
- memory_link MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :276
- memory_relations MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :298
- memory_unlink MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :325
- memory_get MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :336
- memory_forget MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :347
- memory_list_namespaces MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :358
- memory_recent MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :368
- memory_status MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :385
- memory_selftest MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :404
- memory_lock MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :428
- memory_unlock MaxFreedomPollard-Compartment-3de423a/src/compartment/server.py :474
declared dependencies 10
- mcp@>=1.0
- pynacl@>=1.5
- argon2-cffi@>=23.1
- onnxruntime@>=1.17
- tokenizers@>=0.15
- numpy@>=1.26
- pyobjc-framework-Cocoa@>=10.0; sys_platform ==
- win32@*
- usearch@>=2.9
- pytest@>=8