A local-first, end-to-end encrypted knowledge OS that lets you build notes, tasks, wikis, and entire apps — with your data stored offline and synced peer-to-peer.
Anytype is a personal knowledge operating system built for people who want complete ownership of their information. Unlike cloud-dependent tools, Anytype stores everything locally on your device first, then syncs across your devices using peer-to-peer networking with zero-knowledge encryption — meaning not even Anytype can read your data.
The application is built on a composable block model where every piece of content — text, databases, kanban boards, calendars, media embeds, code, and custom relation fields — is a block that can be combined and remixed freely. You define your own Types and Relations to model data exactly as you think about it, creating a personal information architecture that reflects your mental model rather than forcing you into someone else’s rigid structure.
The desktop client runs on macOS, Windows, and Linux as an Electron application, backed by a Go-based middleware engine called anytype-heart that handles all data operations, synchronization, and encryption. A gRPC protocol bridges the TypeScript frontend to the Go core, and a browser extension lets you clip web content directly into your Anytype spaces.
Anytype is published under the Any Source Available License 1.0, which permits personal and non-commercial use as well as commercial use within authorized networks. The source code for both the desktop client and the core middleware is publicly available, and the project has an active community of contributors with multiple releases shipped every month.
Architecture Anytype’s desktop client follows a layered, event-driven architecture that cleanly separates concerns across three distinct zones: the Electron shell and its main process, the React/MobX rendering layer, and a Go-based middleware engine (anytype-heart) that handles all data operations. The TypeScript frontend communicates with the middleware exclusively through gRPC, mediated by a Dispatcher class that manages a persistent event stream for real-time updates and a request/response channel for commands. This decoupling means the UI layer never touches storage or sync directly — all writes flow through the command API and all state changes arrive as typed protobuf events. Within the frontend, a layered module system (Interface, Model, Store, Component, Lib) enforces strict dependency direction, and MobX observables with a custom reaction scheduler keep the UI reactive without triggering unnecessary re-renders. The block tree is the central data primitive: every document is a graph of typed blocks maintained in a BlockStore, with parent-child relationships tracked separately in a TreeMap.
Tech Stack The desktop client is TypeScript built with Vite and bundled for Electron using electron-builder. The rendering layer is React 18 with MobX for state management — stores are domain-partitioned classes (BlockStore, DetailStore, RecordStore, MembershipStore, etc.) rather than a single global atom. The rich-text editing inside blocks is powered by Lexical (Meta’s editor framework), while Excalidraw handles embedded drawings and Mermaid/ELK handles diagram rendering. Protobuf bindings are generated from the anytype-heart .proto files using ts-proto, giving end-to-end type safety across the gRPC boundary. The Go middleware (a separate repo) implements CRDT-based sync using the any-sync protocol with libp2p transport. The frontend toolchain uses Bun as the package manager and task runner, Vite with the SWC React plugin for fast builds, Biome for formatting and lint rules, and Vitest for unit tests.
Code Quality The codebase has comprehensive inline documentation — every public store method and core class carries JSDoc comments explaining purpose, parameters, and return types, indicating sustained attention to maintainability across a large team. Type safety is strong: the Interface layer defines strict TypeScript interfaces for all domain objects (Block, Object, MembershipProduct, etc.) and protobuf-generated types provide compile-time guarantees at the gRPC boundary. Test coverage exists for core library utilities (mark parsing, history, reaction scheduler, router, string/date/file utilities, and block model behavior) using Vitest, though component-level UI tests are limited. The linting setup uses both Biome (for formatting and basic correctness) and ESLint with jsx-a11y and React hooks rules. CI runs typecheck, lint, and builds on each push. The codebase is large and complex with some areas — particularly the component tree — that carry significant surface area, but the structural separation of Interface/Model/Store/Component/Lib prevents the kind of cross-cutting concerns that typically cause maintenance debt.
What Makes It Unique What genuinely sets Anytype apart is the convergence of CRDT-based peer-to-peer sync with client-side zero-knowledge encryption at the protocol level — a combination rarely seen in knowledge management tools. Most competing tools are either locally stored (no sync) or cloud-synced (server sees data); Anytype achieves encrypted multi-device sync where no coordination node ever holds plaintext content. The block object model is also meaningfully different from document-first tools: every ‘object’ (note, task, person, book) is a typed entity with relations, not just a page with tags, enabling genuine relational queries across a personal knowledge graph. The graph view visualizes these links dynamically, turning a flat collection of notes into a navigable semantic web. The gRPC API and emerging AI agent support (documented in AGENTS.md) position Anytype as programmable infrastructure for personal data, not just a passive note-taking container.
Anytype is licensed under the Any Source Available License 1.0, published by the Any Association, a Swiss non-profit. The license is neither fully open source (OSI-compliant) nor fully proprietary — it permits personal use, academic use, research, and evaluation freely, and allows commercial use only within ‘Allowed Networks’ explicitly authorized by Any Association. In plain terms: you can self-host and use Anytype for personal productivity or non-commercial purposes without restriction, but running it as part of a commercial workflow requires your network to be on the authorized list. The license is not copyleft, so your own notes and data are unaffected, but you cannot relicense the Anytype software itself.
Running Anytype yourself means deploying both the desktop Electron client and the anytype-heart Go middleware, which handles sync, encryption, and storage. The sync layer uses the any-sync protocol over a set of coordination nodes — to sync across devices you either rely on Anytype’s hosted coordination nodes (which see only encrypted blobs) or run your own any-sync infrastructure. Local storage is managed by the middleware and stored in a user data directory; there are no external database dependencies to install. Operationally, the burden is low for personal use: install the desktop app and go. For team self-hosting with a fully independent sync infrastructure, you would need to run and maintain the any-sync node stack separately.
Anytype offers a hosted cloud tier (anytype.io) that provides a managed sync backbone, guaranteed uptime, and storage quotas through their membership plans. Compared to self-hosted configurations, the cloud tier removes the operational complexity of running sync nodes, provides professional storage backups, and includes access to the AnyName identity system. The self-hosted path trades these conveniences for complete data sovereignty — a reasonable trade-off for privacy-sensitive individuals and organizations, but one that requires more infrastructure awareness for team deployments.
Developer Tools · Collaboration · Code Editors
High-performance, multiplayer code editor built in Rust by the creators of Atom and Tree-sitter, with native AI integration and real-time collaboration.
Productivity · Project Management · Collaboration
The open-source AI workspace that puts your data, your rules — with local LLMs, CRDT collaboration, and full self-hosting built in.
Productivity · Project Management · Note Taking
Write, draw, and plan in one infinite canvas — the open-source alternative to Notion and Miro that keeps your data yours.