Protect your credentials, understand who can access your data, and report security issues privately.
~/.loom/stores.toml holds the connection details for your stores, including each store's store key: the secret credential that lets anyone holding it read and write that store. Treat the file as a credential:
durmem setup or durmem login write it rather than assembling it by hand.Setup writes the file atomically and restricts access to your user (mode 0600 on Linux and macOS). On Windows, setup removes inherited permissions and grants full control only to your user before it writes any secret. An existing stores.toml can still inherit read access from its folder for another local account or group. Check the file with icacls %USERPROFILE%\.loom\stores.toml. It should show exactly one entry: your user with (F), with no entries marked (I). To rewrite an older file, run durmem login for the same account and server as the store you intend to use. For a private server, use durmem login --base https://durmem.ai; replace durmem.ai with the server's hostname and any nondefault port, not a full HTTPS URL. You can also remove inherited entries yourself.
Windows ACL behavior has not been verified in a native Windows run; the expected icacls output is based on code and a regression test only.
Setup hardens stores.toml but does not force permissions on the ~/.loom directory. Its mode depends on your umask and whether the directory already existed. On a shared machine, inspect it and use:
chmod 700 ~/.loomEmail codes, sign-in links, and enrollment grants are short-lived. Email codes last 10 minutes and are single-use; a one-time code issued by a private server's administrator can last up to three days. Enter them only at the hidden prompt. Before following any sign-in link, confirm that you started the request.
Use Manage stores to forget a store on this computer. Logout removes a local section, not the server key or data; credentials copied elsewhere remain valid. A result saying removed refers only to that local section. If other stores remain, choose a remaining default before logging out of the current default. To invalidate a copied key, use the revocation procedure above.
| Data | Where | Notes |
|---|---|---|
| Facts, relations, rules you save | The store on the server | One store per section in stores.toml. |
| Connection credentials | ~/.loom/stores.toml | The signed-in Stores page can also display your account's connection bundle, including store keys. Protect any copy from that page as carefully as the local file. |
| Embedding model files | ~/.loom/cache/fastembed on your computer | Downloaded on first save; no facts in it. |
| Model download cache | ~/.cache/huggingface/ on your computer | Created on first save (download logs and staging); no facts in it. |
| Embedding runtime device id | ~/.cache/Microsoft/DeveloperTools/.onnxruntime/ | Created by the embedding runtime. |
| Plugin update check cache | ~/.loom/plugin-update-check.json | Exists only when a Claude Code or Codex plugin is installed. Holds the marketplace's latest commit and version. |
Do not save passwords, tokens or other secrets as facts.
save on a computer downloads the embedding model from huggingface.co and its CDN hosts. After that, embeddings are computed on your computer, and later saves and queries contact only your store gateway.mobile.events.data.microsoft.com on that first run and writes a device id under ~/.cache/Microsoft/DeveloperTools/.onnxruntime/./loom-plugins.git checks your server. The check sends no memory data.durmem setup contacts only the server it signs in to and installs plugins from that server. An explicit --base selects it; otherwise setup can reuse a recorded web_origin only when stores.toml contains exactly one store section and that section has a web_origin. If not, setup uses the configured server, or https://durmem.ai when none is configured. A private HTTPS server can serve the CLI bootstrap files from its selected release under /.well-known/cli/; the installer and discovery URLs use that origin. If those files are absent, use the hosted installer or a source checkout, then target setup at your server.Keep your credentials strong and private. At-rest encryption does not replace credential security and cannot protect data while the service is using it.
Your client checks the server’s identity when it connects. For a private server, run durmem setup --base https://durmem.ai to sign in and install plugins from that server. If you need to sign in again or recover the connection, use durmem login --base https://durmem.ai. Replace durmem.ai with your server's hostname and any nondefault port, not a full HTTPS URL. For a self-signed certificate, follow setup to trust that server specifically; this does not change which certificates your computer trusts for public sites. Keep your local connection configuration private; it can enable access to your store.
For hosted-install support, contact info@durmem.ai until public issue reporting opens. For private-install questions, contact your administrator first. For durmem software issues, use the private distribution repository's issues. Security reports always use the private route below.
Do not open a public issue for a vulnerability or credential exposure. Email info@durmem.ai with a short description and a reproduction that contains no live keys or personal data.