Skip to content
knomit

Security & privacy

Local-first, signed, and yours.

knomit is a plain git repo you control. No vendor lock-in, no data exfiltration, and a history you can verify.

Local-first by default

knomit runs against a plain git repository on your own machine and searches with a local embedding model (EmbeddingGemma over an ONNX runtime). Reading, writing, and searching facts require no external services and no data leaving your host.

Signed, tamper-evident history

Every write is one atomic, Ed25519-signed git commit. Because the whole knowledge graph is a git history, any change is attributable and verifiable, and the integrity of the store can be checked end to end.

Encrypted remote credentials

When you sync a repo to a git remote, auth tokens are never stored in plaintext. They are encrypted with AES-256-GCM using a key derived (HKDF-SHA256) from the agent's SSH private key, and stored base64-encoded in the machine-local control plane — never in the git-backed knowledge base, so a credential cannot be pushed to a remote by accident. If the key is unreadable, knomit refuses to persist a token rather than writing it in the clear.

Guarded remotes

Cloning from a local filesystem path is disabled by default. To allow it, you must explicitly set an allowed root directory; a local origin is accepted only if it resolves to a path inside that root. Network origins always pass. Every clone and fetch path is gated — there is no trusted exemption.

Verified SSH host keys

SSH remotes are checked against a known_hosts file you choose — by default one under KNOMIT_HOME, or your own ~/.ssh/known_hosts. An unknown host is pinned on first contact; a host that later presents a different key is rejected and the sync fails. If the known_hosts file cannot be read or parsed, the operation errors out: there is no fallback to accepting unverified keys.

It is just git — review like code

Each machine is the sole writer of its own agent branch. No peer merges another peer's branch directly. Facts land on main through review and merge, exactly like a pull request. You can host the store on any git host and apply the same access controls you already use for code.

Exports do not leak their source

Publishing a knowledge base as an OKF repository never publishes its address. The KB URL lives in a git remote that is not pushed, and the KB's own history is fetched to refs outside refs/heads/*, so the default push refspec cannot carry it. Recording the address in the published bundle is opt-in — and credentials are stripped from it first, with the tool saying so whenever that changes anything.

Open source and auditable

knomit is open source. The store format is plain markdown in a git repo — you can read every fact, diff every change, and audit the whole system yourself.

For the operational detail — auth methods, the origin record, the local-path gate, and integrity verification — see Remote sync and Configuration. For what a running server exposes about itself, see Observability.