How OwnLLM keeps you safe
| Safeguard | What it means for you |
|---|---|
| Listens on this computer only | The server binds 127.0.0.1. There is deliberately no setting to change it, so it can't be exposed to a network by accident. |
| A private key for the API | Required for API and model requests. Generated on your computer and stored readable only by you. Only the chat page and a health check answer without it. |
| No administrator rights | The installer and the program refuse to run as root and never use sudo. |
| Checked downloads | The package, the engine and every model are verified by SHA-256 before use. A file that doesn't match is deleted. |
| Pinned, reproducible builds | Exact engine and model versions are in manifest/. The package is built byte-for-byte the same way each time. |
| No telemetry | Your prompts and usage are never reported anywhere. The only network use is downloading OwnLLM's own files. See PRIVACY.md. |
| Small footprint | The installer touches only ~/.local/share/ownllm and one link in ~/.local/bin; the private key lives in ~/.config/ownllm. It doesn't edit shell files or start anything at login. |
| Limits | Input is capped, answers are capped, memory use is sized to your computer, and the log file is kept small. |
| Safe removal | ownllm uninstall refuses to delete anything that isn't an OwnLLM folder. |
ownllm doctor | One command checks all of the above, including that the server is not reachable from other computers. |
What this does not protect against
OwnLLM keeps your words on your computer, but it cannot defend a computer that is already compromised. It does not protect against malware, other people who use your computer account or can read your files (the private key is stored as a plain file), or browser extensions you have installed. The programs are not code-signed, which is why the installer checks fingerprints and clears the macOS download flag for the engine and command only. Treat your computer's own security as the foundation.
What OwnLLM does *not* do
It does not run commands for you, read your files unless you give them to it, browse the web, or take actions. It only answers text with text.
Reporting a problem
See SECURITY.md in the project.