Overview
Istota is a secure, open-source personal AI operating system that brings personal information and automated work into one modular environment. It is self-hosted, server-native, and multi-user, with an integrated web interface and support for deployment on a dedicated server, in Docker, or as a standalone agent.
The system works with Claude Code or standard OpenAI-compatible endpoints. Its model layer uses a swappable Brain protocol so different models can be selected without restructuring the underlying data and tools.
Core Capabilities
- Provides multi-room agent chat through the web, email, and Nextcloud Talk.
- Maintains per-user and per-channel memory, a nightly extracted knowledge graph, and hybrid BM25 plus vector search.
- Runs recurring work such as briefings, feed polling, reviews, and memory consolidation.
- Includes modules for RSS feeds, location history, health data, accounting, web browsing, and software development.
- Supports foreground and background queues so long-running tasks do not block new messages.
Data and Interfaces
Istota is designed around user-owned formats, including plain-text Beancount ledgers, SQLite databases, markdown, and TOML. Core modules continue to work without an active model: command-line tools run, dashboards render, scheduled jobs continue, and stored data remains queryable.
Different tasks use dedicated surfaces. Chat handles conversation, dashboards present structured information, and command-line interfaces support automation, all behind a shared login. Each user receives separate memory, files, queues, sandboxes, and secrets, with shared rooms available for collaboration.
Security Model
Agent tasks run in bubblewrap sandboxes with scoped mounts. Credentials are kept out of the agent process and injected at skill boundaries through a Unix-socket proxy, while stored secrets are encrypted at rest.
The agent proposes database changes as JSON for scheduler validation instead of writing directly, and deployed source code is read-only to the agent. This structure treats the language model as an unreliable component while preserving reviewable data mutations and limiting access to sensitive resources.
Included Workflows
The feed module manages RSS, Atom, Tumblr, and Are.na content with in-tree fetching and deduplication. Other modules track GPS history and saved places, display body statistics and lab trends, maintain double-entry books and invoices, operate a customized headless browser, and support git workflows across GitLab or GitHub from chat.