Wax
Wax is a Swift-native, single-file memory engine for AI agents that stores embeddings and documents entirely on-device for Apple Silicon systems. It enables sub-millisecond semantic search without cloud dependencies or API keys.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | christopherkarani/Wax |
| Owner | christopherkarani |
| Primary language | Swift |
| License | Apache-2.0 — OSI-approved |
| Stars | 773 |
| Forks | 46 |
| Open issues | 0 |
| Latest release | 0.1.23 (2026-05-18) |
| Last updated | 2026-07-06 |
| Source | https://github.com/christopherkarani/Wax |
What Wax is
Wax implements an on-device RAG system using Metal-optimized embeddings, HNSW-style vector search, and Swift-native async I/O. It ships as a `.wax` binary file containing documents, structured metadata, and vector indices—no server required.
Get the Wax source
Clone the repository and explore it locally.
git clone https://github.com/christopherkarani/Wax.gitcd Wax# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Requires Swift 6+ and Xcode toolchain; no cross-compilation to older OS versions or non-Apple platforms.
- Memory file grows with stored documents and indices; on-device storage capacity (iOS app sandbox ~100GB) is a practical ceiling.
- Metal acceleration is available on Apple Silicon (M1+) but performance on older Intel Macs or simulators may degrade.
- Vector search quality depends on the embedding model; bundled model capability unknown—verify against your domain.
- Single-file locking: concurrent writes from multiple processes to the same `.wax` file require external synchronization.
When to avoid it — and what to weigh
- Multi-platform requirement (Android, Linux, browser) — Wax is Swift-native and optimized for Apple Silicon. Porting to other platforms requires substantial work; consider cloud-native RAG (Pinecone, Milvus) for cross-platform deployments.
- Real-time distributed memory across devices — Single `.wax` file is local-only. If you need real-time sync across 50+ devices or multi-region failover, cloud vector databases are more appropriate.
- Existing Postgres/Cassandra infrastructure — Wax does not integrate with relational databases. If your stack is already built on Postgres+pgvector, adding Wax adds operational complexity.
- Enterprise audit trails and role-based access — Single-file model limits fine-grained access control and compliance logging. Enterprise deployments may require server-backed solutions with RBAC.
License & commercial use
Apache License 2.0 (permissive, OSI-approved). Allows commercial use, modification, and distribution with attribution and patent protection.
Apache 2.0 explicitly permits commercial use. You may build and sell products using Wax without royalties, license payments, or restrictions—only attribution is required. Verify your use does not rely on undisclosed, proprietary Apple frameworks unavailable in the Swift ecosystem.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
On-device storage eliminates cloud data exposure. Single-file format is not encrypted by default—sensitive data requires filesystem encryption (FileVault on macOS, Data Protection on iOS) or application-level encryption. No security audit mentioned in provided data. Consider threat model: if the `.wax` file is compromised, embeddings and plaintext documents are readable.
Alternatives to consider
Pinecone / Milvus (cloud/open-source vector DB)
Multi-platform, distributed, offers compliance and audit trails. Trade: latency, cloud cost, external dependency.
LangChain + OpenAI Embeddings + local SQLite
Python/JavaScript-based RAG stack. More mature ecosystem and integrations. Trade: not native to Apple, requires API calls for embeddings.
Elasticsearch (full-text + vector search)
Production-proven, scales to billions of documents, RBAC and monitoring. Trade: operational complexity, not for single-file local use.
Build on Wax with DEV.co software developers
Get started with Wax: add it to your Swift project, install the CLI, or integrate with Claude Code. One file, zero cloud dependency.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
Wax FAQ
Can I share a `.wax` file via iCloud or Dropbox?
What is the maximum file size and how does it affect search performance?
Does Wax support private, on-device LLM inference?
Is the `.wax` format stable or subject to breaking changes?
Work with a software development agency
Adopting Wax is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate vector databases software in production.
Add persistent memory to your AI agent—today
Get started with Wax: add it to your Swift project, install the CLI, or integrate with Claude Code. One file, zero cloud dependency.