Open source · Local-first · Now with Mail, Calendar & Tasks

Your workspace. Your machine.
Your Claude Code.

Paperus is the open-source, local-first workspace: Markdown notes, email, calendar and tasks in one app, synced peer-to-peer and end-to-end encrypted. A Company Brain powered by the Claude Code you already run doesn't just answer across it — it drafts replies, schedules events and acts, with your approval. No account. No cloud. No lock-in.

Powered by the Claude Code you already run or local Ollama · or your own key

Universal · signed & notarized by Apple · macOS 11+ · v1.3.0 · AGPL-3.0 · free forever

The Paperus desktop app: a sidebar of Markdown notes beside a clean page titled “Welcome to Lumen” with a callout and a checklist.
no sign-up no cloud lock-in plain Markdown files end-to-end encrypted open source
Company Brain

An AI that reads your
whole workspace — locally.

Ask anything across every note in plain language. Retrieval runs 100% on your machine — your notes are indexed on disk and never uploaded to index them. For the answer, plug in the intelligence you trust: the Claude Code you already run, a fully-offline local model, or your own API key.

Claude Code · your CLI Ollama · local Your API key
  • Bring your own brain. Switch between claude-code, local ollama, or any OpenAI-compatible key — per workspace, no rebuild.
  • Grounded, with citations. It's a tool-using agent over your notes — it searches, reads, and always shows the exact files it answered from.
  • Extensible by tools. Plugins register new Brain tools — connect a support inbox or an API and ask across that too, all capability-sandboxed.
The Paperus desktop app with the Company Brain open: the full sidebar of notes and teams on the left, a “Claude Code” backend badge and “21 notes ready,” and example questions like “Give me an overview of everything in my workspace” and “What decisions have we made about the roadmap?”.
New in v1.3

It's not just notes anymore.

Paperus now holds your email, calendar and tasks right next to your notes — one local-first app, one sidebar, the same end-to-end encryption. And the same Company Brain can act across all of it.

Email Beta

A real inbox, in your workspace.

Connect any IMAP/SMTP account — or several — and read, search and reply right beside your notes. Every account merges into one “All inboxes,” newest first, with Sent, Drafts, Spam and Trash kept in sync.

  • Multiple accounts, unified. iCloud, Gmail, Fastmail, your own server — all in one stream, each tagged by colour.
  • Instant, even offline. Bodies are prefetched in the background and cached on disk, so threads open the moment you click.
  • The Brain helps you clear it. Ask it to triage, summarise a thread, or draft a reply — and nothing sends without your OK.
Paperus · Mail
Paperus mail: a unified ‘All inboxes’ across three accounts, newest first, each message tagged by its account colour, with an AI assist toggle and Compose — reading pane on the right.
Calendar

Your real calendar, side by side.

Connect iCloud, Fastmail or any CalDAV account with an app password and your events show up next to your notes and due dates — colour-coded by calendar, no browser tab required.

  • Standards-based sync. CalDAV over an app password — your credentials stay encrypted on your machine.
  • One month, everything. External events sit alongside tasks and daily-note due dates in a single view.
  • “Find me a slot.” Ask the Brain to book a time and it drafts the event for your approval.
Paperus · Calendar
Paperus calendar: a June 2026 month view with colour-coded CalDAV events alongside note-derived task due dates, today highlighted, with Month and Agenda views.
Tasks & Inbox

Every to-do, pulled from your notes.

Checkboxes scattered across your Markdown become one board — grouped, due-dated and clickable straight back to the line they came from. A unified Inbox collects mentions, assignments and replies so nothing slips.

  • No new system to keep. Tasks are just - [ ] lines in your notes — the board is a live view, never a copy.
  • Due dates become a calendar. Anything dated shows up on the month view automatically.
  • One place to catch up. The Inbox gathers what needs you across notes, mail and teammates.
Paperus · Tasks
Paperus tasks: checkboxes scanned from notes grouped into Overdue, Today, Upcoming, No date and Done, each card showing its source note and a colour-coded due date.
An assistant that acts

Answers were table stakes.

The Company Brain isn't just a search box anymore — it's an agent with hands. It drafts and sends mail, schedules events, files tasks, and runs your own tools over MCP. Every outgoing action waits behind a one-tap approval, and you choose exactly which tools each agent can touch.

Why Paperus

A workspace that's truly yours

All the structure you want, none of the lock-in. Local-first, peer-to-peer, and open source from day one.

Plain Markdown, on disk

Every note is a standard .md file in your own folder. Open them in any editor, back them up with git, keep them forever.

Teams from one link

No accounts, no logins. Create a team and share a single invite link — teammates open the app and join instantly.

End-to-end encrypted sync

Edits sync directly between devices over WebRTC. The relay only ever sees hashed topics and ciphertext — never your content.

A real editor

CodeMirror 6 with live preview, slash commands, callouts, toggles, tables, math and Mermaid — it reads like a document, not raw syntax.

Email, built in Beta

Connect any IMAP/SMTP account — or several — and read, search and reply beside your notes. Every inbox merges into one unified, newest-first stream, cached for offline.

Calendar, your way

Sync iCloud, Fastmail or any CalDAV calendar with an app password. External events sit next to your tasks and daily-note due dates in one month view.

Tasks & a unified Inbox

Checkboxes scattered across your Markdown become one live board, grouped and due-dated. The Inbox gathers mentions, assignments and replies so nothing slips.

Bring your own tools (MCP)

Plug in any Model Context Protocol server — GitHub, Linear, your filesystem — and the Brain can use it. Tools are scoped per agent, and every write asks first.

Notion-style databases

Table, board, list and calendar views over the same data, with typed columns — status, select, person, date, number — plus filters, sorts, grouping and roll-ups. Every row opens as its own page, and the whole table stays portable Markdown.

Claude Code Company Brain

Ask across your whole workspace. Local retrieval, grounded answers with citations, powered by your own claude-code, local Ollama, or API key.

Mobile companion

Pair an iOS or Android phone to your team with one link or a QR scan, then read and edit on the same end-to-end encrypted P2P swarm.

Extensible by plugins

Add blocks, slash commands, sidebar panels, AI providers and outside connectors through a sandboxed, capability-scoped plugin API.

Self-host the whole app

Run the web app and the relay on your own domain with one docker compose — automatic HTTPS, no database. Or just use the free public relay at oss.naridon.com.

Product tour

See what you're actually getting

A fast, modern editor and real databases — on top of a radically simpler model underneath.

The editor

It reads like a document, not raw Markdown

CodeMirror 6 with live-preview decorations: headings, callouts, checklists and tables render as you type — yet every keystroke stays plain Markdown on disk.

  • Slash commands, tables, callouts, toggles, math & Mermaid
  • A page icon and a big editable title, bound to the file name
  • Live multiplayer cursors, powered by Yjs CRDTs
The Paperus app with the sidebar of notes on the left and an “Engineering Wiki” page open — a page icon, big title, a warning callout, an “Architecture at a glance” heading and a table — all rendered like a document.
Databases

Real databases — the part people actually switch for

Turn any page into a database and view it as a table, board, list or calendar. Typed columns, colored pills, filters, sorts, grouping and roll-ups — exactly the structure you came to Notion for. The difference: there's no hosted database. The whole table lives inside your .md file, on your disk, yours to keep.

A Paperus roadmap database panning across its Initiative, Status, Owner, Quarter, Priority and Target columns, with colored status and priority pills.

Four views, one dataset

Flip the same rows between Table, Board, List and Calendar — no copies, no re-entry.

Typed columns

Status, select, person, date, number, checkbox and text — with colored pills and each row opening as its own page.

Filter, sort, roll up

Slice with filters and sorts, group rows by any column, and summarize with roll-ups — all saved per view.

Sharing

Share with one link — no account, ever

Anyone with the link opens the note and edits it live, directly peer-to-peer. No seats, no invites to manage, nothing to sign up for.

  • A least-privilege link that grants exactly one note
  • Or one team link for the whole synced workspace
  • Every link is end-to-end encrypted — the relay sees only ciphertext
The Paperus share dialog floating over the Product Roadmap page: “Anyone with this link can open and edit this note live, peer-to-peer. No account needed,” with Copy link and Copy code buttons.
Quick-find open over the workspace: a search box with “roadmap” typed, instantly matching Product Roadmap.md, with the sidebar of notes visible behind it.

Find anything instantly

Quick-find searches every note's title and content with live results as you type — keyboard-first, no waiting on a server.

The Plugin Lab with the sidebar visible: “Build with an agent — Building with Claude Code,” and starter cards for a slash command, status-bar widget, editor block, sidebar panel, AI helper and Brain tool connector.

Build it out with plugins

Slash commands, sidebar panels, editor blocks, AI providers and outside connectors — sandboxed and capability-scoped. Describe one in the Plugin Lab and it's scaffolded for you.

How it works

Up and running in under a minute

No onboarding, no workspace setup wizard. Install, write, share.

01

Install the app

Download for macOS and open it. Your notes live in a local folder you choose — nothing leaves your machine until you share.

02

Create a team

Pick a team name and a username + password. That derives your identity locally — it's never sent to a server.

03

Share one link

Send the notionless://invite link. Teammates open it in the app and start editing with you in real time, peer-to-peer.

Offline or online — your call

Two ways to run Paperus

Use it free with nothing to host, or self-host the full online app on your own box. Same notes, same encryption — you pick the trade-off.

Free · nothing to host

Just use the apps

Install the desktop or mobile app and go. Your devices and teammates sync directly, peer-to-peer, end-to-end encrypted. The only thing in the middle is Naridon's free global relay that helps peers find each other — it brokers connections and stores nothing, not even your docs.

  • Zero setup, zero accounts, fully local files
  • Works offline; syncs when a device is online
  • We never see your notes — there's nowhere for them to land
Best when everyone uses the app and you want nothing to maintain.
Self-host

Run the whole thing
on your own domain.

Don't want to depend on us at all? Host the web app and the relay yourself with one command — at your own address like docs.yourcompany.com. HTTPS is automatic, there's no database to set up, and your team just opens it in a browser. Nothing to install.

  • One command. docker compose up brings up the web app + relay together — no Postgres, no Redis, no config files.
  • Custom domain, automatic HTTPS. Point DNS at the box and a Let's Encrypt certificate is fetched and renewed for you — you configure nothing.
  • Optional company sign-in. Flip on email/password access for your instance — though, because notes stay end-to-end encrypted, an account only gates access, never your content.
Deploy anywhere

Pick your platform

Two pieces — a static web app and a tiny relay. Run both on one box, or split them across the hosts you already use.

paste into Claude Code (or any coding agent)
Set up Paperus (github.com/Naridon-Inc/paperus) on this machine — a
self-hosted, end-to-end-encrypted Notion alternative.

1. Ensure Docker + Docker Compose are installed and running.
2. Clone the repo if it isn't already here, then cd in.
3. Copy .env.selfhost.example to .env. Ask me for my domain and email, and set
   NL_DOMAIN and NL_TLS_EMAIL. For a local-only test, set NL_DOMAIN=:80 instead.
4. Run: docker compose -f docker-compose.selfhost.yml up -d
5. Wait until healthy, check /health, and tell me the URL to open. If I gave a
   domain, remind me to point a DNS A record here and open ports 80 and 443.

Explain each step as you go, and confirm before anything destructive.

Zero terminal. Hand this to a coding agent on your server or laptop and it clones, configures, launches, and gives you a URL — asking for your domain along the way.

docker compose — web app + relay
$ cp .env.selfhost.example .env # set NL_DOMAIN=docs.yourcompany.com $ docker compose -f docker-compose.selfhost.yml up -d   web + relay · one origin · automatic HTTPS

The whole thing on one box. Web app and relay together, with automatic Let's Encrypt HTTPS on your domain — no database, no config files. Recommended.

vercel — web app (static)
import the repo at vercel.com/new # build + output read from vercel.json env VITE_SIGNALING_URL = wss://…/signaling   static UI on Vercel's edge network

UI on Vercel's CDN. Point VITE_SIGNALING_URL at your own relay or the free public one. There's a one-click Deploy button in the README.

netlify — web app (static)
import the repo at app.netlify.com # settings read from netlify.toml env VITE_SIGNALING_URL = wss://…/signaling   static UI · free auto-TLS domain

UI on Netlify. Build command and SPA redirects come from the committed netlify.toml — import and go.

cloudflare pages — web app (static)
build pnpm run build:web output dist-web env VITE_SIGNALING_URL = wss://…/signaling   static UI on Cloudflare's edge

UI on Cloudflare Pages. Add a _redirects file with /* /index.html 200 for SPA routing. GitHub Pages works the same way.

fly.io — relay
$ cd backend && fly launch --copy-config $ fly deploy   relay wss://your-app.fly.dev/signaling

The relay (the WebSocket piece). Uses the committed backend/fly.toml and stays always-on. Pair it with any static web host above.

render — relay (blueprint)
New → Blueprint → pick this repo # Docker + health check from render.yaml   relay wss://your-svc.onrender.com/signaling

The relay via Render Blueprint. Use a paid instance so the WebSocket connection doesn't sleep.

Full step-by-step for every platform → self-hosting guide

Under the hood

Where's the cloud database? There isn't one.

Your pages and databases are real — but there's no vendor server holding them. Most apps put your words in a row in their database; Paperus keeps everything as files on your machine and syncs the edits directly between devices.

Source of truth

Files on your disk

Every note is a real .md file in a folder you choose. A small .notionless manifest keeps a stable ID per note, so files can move or rename without losing their sync identity.

Merge engine

Yjs CRDTs

Edits are conflict-free data types, so two people typing at once always converge — no "document locked", no lost keystrokes, and it works fully offline.

On the wire

End-to-end encryption

Updates are encrypted with libsodium AEAD before they leave your device. A separate transport channel carries only sealed ciphertext between peers.

The only server

Stateless relay

One tiny service helps peers find each other over hashed topics. No database, no accounts — by default it stores nothing. Self-host it in seconds, or flip it into a full online app that keeps your encrypted notes available 24/7.

 PaperusTypical cloud notes app
Where your notes liveMarkdown files on your diskA vendor's database
Account requiredNoneEmail + password, on their servers
Built-in AIYour own Claude Code / local modelTheir model, your notes uploaded
Email & calendarBuilt in — IMAP/SMTP mail (beta) & CalDAV calendarA separate app and browser tab
AI that takes actionsDrafts & sends mail, books events, files tasks — you approve each oneA chat box that only answers, if any
Connect your own toolsAny MCP server, scoped per agentOnly their built-in integrations
Who can read your notesOnly the people you share withThe vendor — and whoever can compel them
Works offlineAlways — files are localSometimes, via a cache
Real-time collaborationPeer-to-peer CRDTsRouted through their server
Exporting your dataNothing to export — it's already your folderProprietary export, if offered
PriceFree & open sourceMonthly subscription

Built for small teams who'd rather own their notes than rent them.

Privacy & security

Zero-knowledge by design

We can't read your notes because we never get them. Here's exactly what that means — and the honest trade-offs.

Your keys never leave your device

Your identity is an Ed25519 keypair derived from your password with Argon2id, held in memory only. There's no password database to breach.

The relay sees only ciphertext

Notes are encrypted (libsodium AEAD) before they touch the wire. The signaling relay brokers connections over hashed topics and stores nothing.

AI retrieval stays on your machine

The Company Brain indexes and searches your notes locally. Only the question and the few snippets you ask about reach the model backend you chose — and with local Ollama, nothing leaves at all.

Open source, auditable

The whole client and the relay are on GitHub. Verify the crypto and the claims yourself, or run your own relay end to end.

Honest trade-offs: anyone with a team link can read that team's roster and could brute-force a weak member password offline (mitigated by Argon2id + a strength meter). There's no remote revocation — removing someone means rotating the team to a new link. Small teams by design.

Download

Get Paperus

Free and open source. No account required to download or to use it.

Paperus for macOS

A universal disk image that runs natively on Apple Silicon and Intel — code-signed and notarized by Apple, so it opens with no Gatekeeper warnings.

Download the latest release

v1.3.0 · universal (Apple Silicon + Intel) · signed & notarized · macOS 11+ · ~260 MB

On your phone too: a native iOS & Android companion pairs to your team with one link — build it from source.

Windows & Linux builds are on the roadmap — star the repo to get notified.

FAQ

Questions, answered

How is the AI “Claude Code”-based? +

The Company Brain is a tool-using agent over your notes, and its answer model is pluggable. Set the backend to claude-code and it calls the Claude Code CLI you already have installed — so you reuse your existing Claude, with no extra key to manage. Prefer fully offline? Switch to local ollama. Have an API key? Use any OpenAI-compatible endpoint. Retrieval over your notes is always local, regardless of backend.

Does the AI upload my notes to the cloud? +

Indexing and search run entirely on your machine — your notes are never bulk-uploaded to be searched. When you ask a question, only that question plus the handful of relevant snippets are sent to the model backend you picked. Choose local Ollama and nothing leaves your device at all. Choose Claude Code or your own API and only those snippets go, under your own account.

Is it really free? +

Yes — free and open source, forever, under AGPL-3.0. There are no paid tiers, no subscriptions, and no account to create. The code for both the app and the relay is public on GitHub.

Is the email feature ready to use? +

Email is in beta. The core works today — connect any IMAP/SMTP account (or several), read a unified newest-first inbox across all of them, search, and reply, with bodies prefetched for offline. We're labelling it beta while we harden edge cases across providers, so keep it alongside your existing mail app for now rather than replacing it outright. Your credentials are stored encrypted on your own machine.

Which calendars can I connect? +

Any CalDAV calendar via an app password — including iCloud and Fastmail, plus generic CalDAV servers. Your events then render next to your tasks and daily-note due dates in one month view. Native Google Calendar (OAuth) sign-in is a fast-follow; until then you can connect Google through a CalDAV bridge.

Can the AI really send email and book events on its own? +

Only with your say-so. The Brain can draft replies, propose calendar events and file tasks, but every outgoing or destructive action stops at a one-tap approval — you see exactly what it wants to send before anything leaves your machine. You can run agents read-only, approve each action, or (if you choose) let specific low-risk tools run automatically. Nothing sends silently by default.

What is MCP, and why should I care? +

MCP (Model Context Protocol) is an open standard for giving an AI access to outside tools. Paperus ships an MCP manager, so you can plug in servers like GitHub, Linear or your filesystem and the Company Brain can use them — read an issue, open a PR, search a folder. Tools are scoped per agent (your research agent and your ops agent see different tools), and every write still asks first.

Where is my data stored? +

On your device, as plain Markdown files in a folder you pick. Nothing is uploaded to a cloud. When you collaborate, encrypted updates flow directly between teammates' devices.

Do I need an account to collaborate? +

No. You create a team locally with a name and a username + password, which derive your identity on-device. You then share one invite link — there's no server-side user database anywhere.

What does the server actually see? +

The only hosted piece is a tiny stateless signaling relay that helps peers find each other. It sees hashed topic names and end-to-end-encrypted blobs — never your note titles, content, or keys — and it stores nothing.

Can I self-host it on my own domain? +

Yes — and you get more than a relay. Clone the repo, copy .env.selfhost.example to .env, set NL_DOMAIN=docs.yourcompany.com, and run docker compose -f docker-compose.selfhost.yml up -d. That brings up a full online Notion on your own box: a browser app on your domain (automatic Let's Encrypt cert, no database), every note stored encrypted and available 24/7, always-on realtime collab, and docs synced across web, desktop and mobile. The box only ever holds ciphertext — it can never read your notes, and it's your hardware, not ours. One switch picks the trade-off: NL_MODE=online (the default above) or NL_MODE=p2p for a pure peer-to-peer relay that stores nothing. See the self-hosting guide.

Is there a web app, and can it have a company login? +

When you self-host, yes — the same app runs in the browser at your domain, so teammates don't have to install anything. You can optionally turn on an email/password sign-in gate for your instance (the first account becomes the admin). Important: because your notes are end-to-end encrypted, that account only controls access to the instance — it can never decrypt your content. You still join teams with the team link + password, exactly as in the zero-account desktop flow.

Is the macOS app signed and notarized? +

Yes. The download is a universal disk image that runs natively on both Apple Silicon and Intel Macs, code-signed with an Apple Developer ID and notarized by Apple — so Gatekeeper opens it cleanly, with no "unidentified developer" warning and nothing to right-click around.

Is there a Windows or Linux version? +

macOS is the first shipping target. Windows and Linux builds are planned — the codebase is Electron, so it's a matter of packaging and testing. Star the repo to follow along.