Haven / Apps & SDK

Build real apps on top of your data

MindooDB Apps are real web applications that run inside Haven under strict permissions. They can be externally hosted or bundled into Haven itself. Build them by hand with the MindooDB App SDK, or generate them with AI using the same context files and example repo the Haven team publishes.

Concept

What a MindooDB App is

A MindooDB App is a web application that talks to Haven through a secure bridge. It can ship as a small tile inside a workspace page or take over a full browser tab - the API is the same.

  • Runs inside Haven - the app is rendered in an iframe or an opened window and communicates with Haven over a MessagePort bridge.
  • Sees what Haven grants - databases, views, and operations are all capability-based.
  • Online or offline - Haven-hosted bundles keep working when the network does not.
  • Works across tenants - a single app can consume data from multiple databases or tenants if granted.
Haven Applications page for adding, importing, configuring, launching, and placing apps on workspace pages
Applications page: configure and add applications, launch them directly, or place them on workspace pages.
Hosting models

Externally hosted or Haven-hosted

Choose the delivery model that fits your team and threat model:

Externally hosted

Deploy as a standard static web app on your own origin. Haven embeds it in a sandboxed iframe and connects via the SDK bridge.

  • Use your existing CI/CD, CDN, and auth story.
  • Great for early development and public demos.
  • Requires network reachability to the hosting origin.
Haven-hosted bundle

Import the app as a bundle into Haven. Haven's service worker serves it locally, which keeps the app usable offline and lets Haven enforce a stricter opaque-origin sandbox.

  • Runs offline - perfect for field use and secure environments.
  • Stricter sandbox than an external origin.
  • First-class fit for Haven Enterprise in-house app stores.
Capability model

Haven decides what each app can see

Haven Configure application dialog showing per-database capabilities for an app
Per-app capability grid: grant read, create, update, delete, history, attachment, and view-creation permissions per database and per app.
  • Read / create / update / delete per database.
  • History access for revision listing and time-travel.
  • Attachment operations including chunked streaming reads and writes.
  • View creation - let the app define its own virtual views or restrict it to Haven-configured views.
  • No ambient authority - apps cannot reach Haven storage, cookies, or other apps without an explicit grant.

See the full isolation design in Security & Privacy - sandboxing.

MindooDB App SDK

Everything you need to build a real app

The SDK is a typed TypeScript package that wraps the bridge protocol and exposes ergonomic APIs for the things apps actually need.

Launch context & events
  • Runtime mode, user info, and viewport.
  • Current light or dark theme from Haven so the app can match on first paint.
  • Mapped databases, views, tenant context, and launch parameters.
  • Live events: when the user toggles Haven's theme or resizes the viewport, every embedded app receives the update and can re-render instantly.
  • Host-rendered menus when overlays need to escape iframe bounds.
Documents & history
  • CRUD with filtered, projected, and metadata-only listing.
  • Deleted-document visibility for sync and cleanup flows.
  • Changefeed cursor checkpoints for incremental sync and indexes.
  • Revision listing and loading snapshots at any timestamp.
Attachments
  • List, upload, download, and remove attachments.
  • Chunked binary streaming for large files.
  • Preview support for images, PDFs, Markdown, text, Office, audio, and video.
  • Preview also works from historical snapshots.
Virtual Views
  • Categorized, sorted, filtered, and aggregated queries - think pivot table.
  • Haven-configured views and app-defined multi-database views.
  • Typed view-language builder for formulas, filters, and derived columns.
  • Stateful navigator with paging, traversal, selection, and range lookups.
Testing & dev loop
  • App-test helpers and bridge protocol test helpers in mindoodb-app-sdk/testing.
  • Local development against a running Haven instance with hot reload.
  • Deploy as a standard static web app or as a Haven-hosted bundle.
Example code

Two tabs: a minimal launch + read snippet, and a copy-pasteable AI prompt you can feed to your agent of choice.

Getting started

Four demo apps to learn from

Mindoo publishes MindooDB Apps. Two are first-party productivity apps you can install and use in Haven today, a third is a beautiful responsive weather tile that doubles as a reference for the SDK's UX surface, and the fourth is a guided tour of the SDK you can fork as the starting point for your own app.

Productivity
Mindoo Vega

Collaborative mind mapping, idea generation, and lightweight project tracking - the same tree-structured nodes render either as a Mindmap or as a Kanban board, with task fields (assignee, start/end dates, priority, status), tags, and integrated full-text search. Built on MindooDB's end-to-end encrypted sync.

Productivity
Mindoo TodoManager

Lightweight task manager for personal and team todos, with offline-first editing and real-time sync.

Responsive tile
Mindoo Weather

iOS-Weather-style forecast tile for one or more locations. A swipeable glass card over a full-bleed photographic background adapts to the tile size Haven reports - narrow tiles show a single location with dots, wider tiles show 2-4 at once. Uses the keyless Open-Meteo APIs so no secrets ever leave the sandbox. Great reference for launch parameters, viewport events, and responsive embedding.

Developer template
MindooDB App SDK example

Reference app that demonstrates the SDK surface - launch context, documents, attachments, views. Fork it as the starting point for your own app.

Screenshot gallery

See the demo apps across desktop, iPhone, and iPad

Vega now includes iPhone and iPad screenshots, plus TodoManager and Weather references, so visitors can see how Haven apps adapt to different surfaces.

Mindoo Vega desktop mind map showing nested projects, sprints, documents, and tasks
Mindoo VegaDesktop
Plan projects as a mind map

Mindoo Vega turns encrypted project data into a spatial mind map with nested projects, sprints, documents, and tasks.

110
Build with AI

Let coding agents build MindooDB Apps for you

Every file a coding agent needs to write a MindooDB App is already published. Point your agent of choice at the following resources and it can scaffold real, working apps.

Resources to feed an AI agent
  • /llms-full.txt - full platform context, including the MindooDB App SDK, Haven bridge, and server setup.
  • /llms.txt - short index that lets an agent discover the rest.
  • Open-source reference apps to fork: mindoodb-app-example (a guided tour of the SDK's database, view, and event APIs) and mindoodb-app-weather (a beautiful, responsive tile focused on the UX side of the SDK - launch parameters, viewport events, theming).
  • MindooDB App SDK README for the capability model and API surface.
Example prompt

Copy the prompt from the AI build prompt tab in the SDK code block above, drop it into Cursor, Claude, ChatGPT, or any other coding agent, and let it generate the app from the published context.

Three ways to get an app

Build it, generate it, or let us deliver it

DIY with the SDK

Fork the example, use the typed SDK, ship an externally hosted app or a Haven-hosted bundle.

DIY with AI

Point a coding agent at /llms-full.txt and the example repo, iterate quickly, review the permissions you grant.

Delivered by Mindoo GmbH

Let the team behind Haven build the app with you. See professional services.