# Urna

A single-file, offline-first vector database for Rust that stores embeddings, source text and search indices in one verifiable, reproducible file with stable content-hash citations.

Urna packages a vector database into one file: a container holding text chunks, embeddings, source spans, indices and the search contract. A Rust runtime memory-maps the file, checks its hashes, and answers queries with exact cosine scores plus a content-hash citation for every hit.

Files are self-contained like a SQLite database, verifiable through per-section and per-file SHA-256 hashes, and reproducible: the same chunks and model produce a byte-identical file on any machine. The runtime works fully offline.

A companion Python tool builds the files, while the Rust runtime serves them; a terminal UI opens a corpus, validates it, and lets a user ask it questions interactively. It installs via Homebrew, npm, Cargo, a shell script or pip.

Website: https://urna.dev
