A cybernetic emissary that lives in your Nextcloud instance.
What it this?
Istota is an AI agent that runs on your own infrastructure (except for inference, for now). It joins your Nextcloud instance as a regular user with its own account, collaborates on files, manages your calendars, and does pretty much anything Claude Code can do (and more) through Nextcloud Talk.
Your data stays on your stack, you don’t rely on a third-party messenger, and you have full control over what your agent can and can’t access via Nextcloud’s built-in sharing and permissions.
Quick start
curl -fsSL https://raw.githubusercontent.com/stefankubicki/istota/main/deploy/install.sh -o install.sh
sudo bash install.sh
How it works
Istota’s primary interaction surface is Nextcloud Talk (basically an open-source Slack that’s fully-integrated with Nextcloud). You can chat with it directly via DM or invite it to a room – Talk has solid iOS and Android mobile apps for when you’re on the move. Email works too.
Istota handles tasks asynchronously; a foreground/background queue means a long-running job doesn’t block your next message. Each runs in a bubblewrap sandbox with restricted filesystem access and credential isolation.
Skills extend what it can do. Istota ships with web browsing (via a custom playwright dockerized browser), calendar management, RSS feeds, basic accounting, bookmark management, voice transcription, and more. Rather than a marketplace of community-built plugins of highly variable quality and security posture, the goal is a well-maintained standard library: curated, tested, known attack surface.
A development skill wraps Claude Code into a full git workflow — clone repos, create branches, write and test code, open pull requests — all from Nextcloud Talk. No messing about with SSH sessions on your phone. Message it from anywhere, get a PR link back. Both Gitlab and GitHub work.
Multi-user support is baked in. Each user gets their own queue, file access, and memory — with shared rooms for collaboration. Istota uses the Cowboy Bebop trust model for multi-user environments: you don’t have to trust everyone absolutely, but if someone is going to live aboard your ship, you at least want to know they won’t randomly fiddle with the airlock.
For a full picture, see [ARCHITECTURE.md] and [DEVLOG.md].
Constitution
Istota ships with an Emissaries-based constitution — a document that defines how your agent reasons about your data, how it handles the boundary between private and public action, and what it owes to people beyond its principal.
It’s a complete framework for what it means to act as someone’s emissary rather than just executing instructions (or living the YOLO life) — grounded in humanist principles with a sprinkle of Iain M. Banks’ Culture.
You can override it.
Why not OpenClaw (and friends)?
OpenClaw is great: give it access, let it go, and hope it doesn’t start harassing open-source maintainers (or drain your bank accounts and SCP itself to a no-extradition jurisdiction while you sleep).
Istota is for when you want a bit more structure: granular permissions, secure-ish defaults, and an agent that’s a good citizen in your existing Nextcloud ecosystem. It sees exactly what you share with it, nothing more. Your existing permissions model is the trust boundary.
There are also some major architectural differences. Read [ARCHITECTURE.md] for details.
Technical details
- Runtime: Python, Claude Code
- Messaging: Nextcloud Talk — direct messages and multi-user rooms
- Sandboxing: bubblewrap — isolated namespace per skill invocation, restricted filesystem mounts, credential isolation
- Task queue: configurable per-user foreground/background workers — chat tasks never block background jobs
- Memory: hybrid BM25 + semantic search (sqlite-vec + MiniLM) across conversation history and memory files
- Skills: web browsing, CalDAV calendar, RSS/Atom/Tumblr/Are.na feeds, beancount accounting, invoicing, Karakeep bookmarking, voice transcription (Whisper), a key-value store, git/GitLab/GitHub development, and more.
- Storage: SQLite + Nextcloud filesystem — no external databases
- Auth: Nextcloud user accounts
Current status
Early release. The core system is running in production — the original instance (hi Zorg!) has been up since late January 2026. It’s used daily for its own development, calendar management, notes, feeds, bookmarks, personal accounting, and everything you’d normally use Claude Code for.
Istota is built by Stefan Kubicki & Zorg.
♻️ Powered by 100% renewable energy.